%Banda lateral unica. BLU
clear all
%Valores miticos
T=2;
Fs=300;
tao=1/Fs;
N=Fs*T;
t=[0:tao:T-tao];
f=[-Fs/2:Fs/N:Fs/2-Fs/N];
%Valores señales
A_m=1;
A_c=1;
f_m=4;
f_c=50;
fi_c=0;
f_r=f_c;
fi_r=fi_c;
%Señales
x_m=A_m*cos(2*pi*f_m*t);
x_c=A_c*cos(2*pi*f_c*t + fi_c);
x_r=cos(2*pi*f_r*t + fi_r);
%Modulacion
u=x_m.*x_c;
PRECISION=10000;
au=fftshift(round(tao*fft(u)/T*PRECISION)/PRECISION);
%Filtramos una banda (superior o inferior)
%ind=find((abs(abs(f)-(f_c-f_m)))<=f_m)%Filtramos la banda inferior
ind=find((abs(abs(f)-(f_c+f_m)))<=f_m)%Filtramos la banda superior
H_sup=zeros(1,N);
H_sup(ind)=1;%Filtro de ganancia 2 para que sea igual a la señal de entrada
au_filt=au.*H_sup
u_filt=real(round((1/tao)*ifft(fftshift(au_filt))*T*PRECISION)/PRECISION);
%Demodulacion
y=u_filt.*x_r;
%Coeficientes de Fourier
ax=fftshift(round(tao*fft(x_m)/T*PRECISION)/PRECISION);
ay=fftshift(round(tao*fft(y)/T*PRECISION)/PRECISION);
%Filtrado demodulada
ind=find(abs(f)<=f_m); %flitras entre -4 y 4.
H=zeros(1,N);
H(ind)=4;%Filtro de ganancia 4 para que sea igual a la señal de entrada
ay_filt=ay.*H;
%Transformadas inversa
y_filt=real(round((1/tao)*ifft(fftshift(ay_filt))*T*PRECISION)/PRECISION);
%Potencia de los coeficientes de la señal modulada
Pot_u=sum((abs(au)).^2)
%Representamos
figure(1)
subplot(4,2,1)
plot(t,x_m)
title('x(t)')
subplot(4,2,2)
stem(f,abs(ax))
title('Coeficientes (X)')
subplot(4,2,3)
plot(t,u)
title('u(t)')
subplot(4,2,4)
hold on
stem(f,abs(au))
plot(f,abs(H_sup*max(au)),'r')
title('Coeficientes (U)')
Hold off
subplot(4,2,5)
plot(t,y)
title('y(t)')
subplot(4,2,6)
stem(f,abs(ay))
title('Coeficientes (Y)')
subplot(4,2,7)
plot(t,y_filt)
title('y filtrado(t)')
subplot(4,2,8)
stem(f,abs(ay_filt))
title('Coeficientes (Y filt)')
%Ancho de banda de la señal modulada = 8. Diferencia entre los coeficientes
%de la señal modulada(A cada lado)