Вы находитесь на странице: 1из 10

DEPARTAMENTO DE ELCTRICA Y ELECTRNICA

CARRERA DE ING. EN ELECTRNICA E INSTRUMENTACIN

SISTEMAS DE COMUNICACIONES

Tema: Simulacin AM con y sin ruido utilizando el software


Matlab.

Nombre: Dario Chanchay

Fecha: 23/11/2016
TEMA: Simulacin AM con y sin ruido utilizando el software Matlab.

OBJETIVOS:

General:
Simular la modulacin en amplitud con full portadora utilizando el software Matlab.

Especficos:

Obtener el espectro de amplitud de la seal modulada.


Obtener la densidad espectral de potencia de la seal modulada.
Aadir un nivel de ruido en la seal modulada y observar sus efectos.
Analizar la seal modulada para un ndice de modulacin de 0.3, 0.5, 1 y 1.2 .

MARCO TERICO:
Modulacin de amplitud
Histricamente, ste fue el primer mtodo de modulacin utilizado en los inicios de la radio, a
principios del siglo XX y contina utilizndose extensamente en todo el mundo, principalmente
para servicios de radiodifusin sonora en las bandas de ondas medias (540 a 1600 KHz).
La seal de amplitud modulada completa suele expresarse en la forma siguiente:

En ella, Vc representa el voltaje de pico de la portadora y m, designado como ndice de


modulacin, est dado por m = Vm /Vc, donde Vm es el voltaje instantneo de pico de la seal
moduladora. El ndice de modulacin, m, puede tomar valores entre 0 y 1. El primero
corresponde a la ausencia de modulacin, en tanto que m = 1 corresponde al mximo nivel
(100%) permisible de modulacin. Las razones para ello se dan ms adelante. En la figura 1 se
muestran conjuntamente la portadora sin modulacin, la seal moduladora y la seal
modulada al 50%, es decir con un valor de m = 1.

Figura 1: Seal modulada en amplitud en que se muestra la seal en banda base, la portadora
sin modulacin y la portadora modulada al 50%.
El valor mximo de m no debe exceder de 1. Si m > 1, se tiene sobremodulacin, como se
ilustra en la figura 5.3 y la envolvente de la seal ya no corresponde a la seal en banda base,
por lo que la seal detectada estar distorsionada, como se ver ms adelante.

Figura 2: Sobremodulacin en AM completa (m > 1).

Espectro de la seal de AM completa

En la expresin anterior se identifican seales de tres frecuencias diferentes, una de amplitud


Vc y frecuencia c, que corresponde a la portadora y cuya amplitud y frecuencia no dependen
de la seal moduladora. Las otras dos seales tienen frecuencias (c + m) y ( c - m),
separadas por debajo y arriba de la portadora por m, cada una de amplitud mVc/2.

Interfaz grfica de usuario en Matlab

GUIDE es un entorno de programacin visual disponible en MATLAB para realizar y ejecutar


programas que necesiten ingreso continuo de datos. Tiene las caractersticas bsicas de todos
los programas visuales como Visual Basic o Visual C++.

Manejo de datos entre los elementos de la aplicacin y el archivo .m

Todos los valores de las propiedades de los elementos (color, valor, posicin, string) y los
valores de las variables transitorias del programa se almacenan en una estructura, los cuales
son accedidos mediante un nico y mismo puntero para todos estos. Tomando por ejemplo el
programa listado anteriormente el puntero se asigna en:

handles.output = hObject;
DESARROLLO:
1. Realizar una interfaz grfica que conste de un panel para ingresar los parmetros uno
de configuracin, otro para mostrar las grficas y un botn principal ver Figura 3.

Figura 3: Interfaz grfica

CODIGO DEL PROGRAMACIN.

function varargout = AM(varargin)


gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @AM_OpeningFcn, ...
'gui_OutputFcn', @AM_OutputFcn, ...
'gui_LayoutFcn', [], ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function AM_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = AM_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles)
f2=1000*(str2double(get(handles.edit2,'String')));
Fs = 4.*f2; % Frecuencia de muestreo
T = 1/Fs;
L = 1000; % Longitud de la seal
t = (0:L-1)*T; % Vector tiempo
f1=1000*(str2double(get(handles.edit1,'String')));
a=cos(2*pi*f1*t);
E0=1/((str2double(get(handles.edit3,'String'))));
Ep=E0*cos(2*pi*f2*t);
Em=Ep+0.5*cos((2*pi*(f1+f2))*t)+0.5*cos((2*pi*(f2-f1))*t);
axes(handles.axes1);
plot(t,a,'r');
title('Seal informacin')
xlabel('Tiempo (s)')
ylabel('a(f)')
grid on
axis([0 t(L-1) -5 5 ]);
y = Em + (str2double(get(handles.edit4,'String')))*randn(size(t)); %Seal modula mas ruido
axes(handles.axes2);
plot(t,y,'g');
title('Seal modulada')
% title('Seal modulada con Ruido')
xlabel('Tiempo (s)')
grid on
axis([0 t(L-1) -5 5 ]);
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
axes(handles.axes3);
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Espectro de Amplitud')
xlabel('Frequency (Hz)')
ylabel('|Em(f)|')
grid on
axes(handles.axes4);
plot(f,(2*abs(Y(1:NFFT/2+1))).^2);
title('Densidad de Potencia')
xlabel('Frequency (Hz)')
ylabel('|Em(f)^2|')
grid on
function pushbutton1_CreateFcn(hObject, eventdata, handles)
function edit1_Callback(hObject, eventdata, handles)
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit2_Callback(hObject, eventdata, handles)

function edit2_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))


set(hObject,'BackgroundColor','white');
end
function edit3_Callback(hObject, eventdata, handles)
function edit3_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function uipanel2_SelectionChangeFcn(hObject, eventdata, handles)
function edit4_Callback(hObject, eventdata, handles)
function edit4_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

2. Realizar la modulacin con y sin ruido con un ndice de modulacin de 0.3.

Figura 4: Modulacin sin ruido con un ndice de modulacin de 0.3.

Figura 5: Modulacin con ruido con un ndice de modulacin de 0.3.


3. Realizar la modulacin con y sin ruido con un ndice de modulacin de 0,5.

Figura 6: Modulacin sin ruido con un ndice de modulacin de 0.5.

Figura 7: Modulacin con ruido con un ndice de modulacin de 05.


4. Realizar la modulacin con y sin ruido con un ndice de modulacin 1.

Figura 8: Modulacin sin ruido con un ndice de modulacin 1.

Figura 9: Modulacin con ruido con un ndice de modulacin 1.


5. Realizar la modulacin con y sin ruido con un ndice de modulacin 1.2.

Figura 8: Modulacin sin ruido con un ndice de modulacin 1,2.

Figura 9: Modulacin con ruido con un ndice de modulacin 1,2.

COMCLUSIONES

Al implementar el software Matlab se logr una interfaz excelente para el estudio de


modulacin AM.
El espectro de amplitud de la seal modulada presenta la frecuencia portadora y sus
bandas laterales.
Al aadir ruido a la seal modulada el espectro no se afectado salvo que a lo largo del
eje de frecuencias se observa pequeos picos.
La densidad espectral de potencia no es ms que el cuadrado de cada una de las
componentes del espectro de amplitud.

RECOMENDACIONES:

Tener conocimiento previo de la utilizacin de la herramienta GUIDE de Matlab.


Tener conocimiento previos de la FFT (Transformada rpida de Fourier).

FUENTE:

http://personales.unican.es/perezvr/pdf/CH5ST_Web.pdf
Manual de Matlab.

Вам также может понравиться