Demodulacion en matlab
DEMODULACIÓN
%amplitud1m modulada close all clear all Ts=0.00001; t=0:Ts:0.5; Fs=1/Ts; f=(0:length(t)-1)*Fs/length(t); f=f-Fs/2;x=cos(2*pi*10.*t)+cos(2*pi*20.*t)+cos(2*pi*30.*t); %mensage %1 %mensage figure plot(t,x) axis([0 0.5 -4 4 ]) %2 %espectro del mensage figure Xf=fftshift(fft(x)/length(t)); plot(f,abs(Xf)) axis([-50 50 0.6 ]) %señal portadora p=cos(2*pi*200*t);
%3 %señal modulada sm=x.*p; md=(1+0.75*x) md1=-(1+0.75*x) am=(1+0.75*x).*cos(2*pi*200*t); %señal am plot(t,am,t,md,t,md1) axis([0 0.2-4 4 ]) figure plot(t,sm) axis ([0 0.15 -3 3]) %4 %espectro de am figure Xf1=fftshift(fft(am)/length(t)); plot(f,abs(Xf1)) axis([-300 300 0 .6 ])
%5 %rectificador figureamrectif=zeros(size(am)); for i=1:length(t), if am(i)>0 amrectif(i)=am(i); end end plot(t,amrectif,'b'); axis ([0 0.1 -1 3.5]) Xfl=fftshift(fft(amrectif)/length(t));
%5 %espectrode amr figure amr=am.*cos(2*pi*200*t); Xf2=fftshift(fft(amr)/length(t)); plot (f,abs(Xf2)) axis([-600 600 0 .6 ]) %Xf=fftshift(fft(x)/length(t));[b,a]=butter(15,2*pi*40,'low','s'); %Paso Bajas Hbut=freqs(b,a,2*pi*f); Rf_filtrado=Xf2.*Hbut; figure plot(f,abs(Rf_filtrado)) axis([-100 100 0 max(abs(Rf_filtrado))]);Rf_filtradoi=ifft(ifftshift(Rf_filtrado)*length(t));%Antitransformada %sound(real(Rf_filtradoi),Fs) figure plot (t,Rf_filtradoi) Y=Rf_filtradoi.*cos(2*pi*2200*t);
Hbut2=freqs(b,a,2*pi*am); Yff2=Xfl.*Hbut; figureplot(f,abs(Yff2)) axis([-100 100 0 max(abs(Yff2))]); figure rec=ifft(ifftshift(Yff2)*length(t));%Antitransformada plot(t,rec,'r',t,0.2*x+0.2,'g')
SEÑAL ORIGINAL
AMESPECTRO DE AM
AM RECTIFICADA
ESPECTRO DE AM RECTIFICADA
FILTRADO DE AM RECTIFICADA CON PASOBAJAS F C=40
ANTITRANSFORMADA SEÑAL ORIGINAL VERDE Y RECUPERADA
ROJO
Regístrate para leer el documento completo.