Ruido Blanco Gaussiano Con Matlab
Ruido Blanco Gaussiano Con Matlab
Ruido Blanco Gaussiano Con Matlab
clc;
clear;
n=64;%cantidad de bits a generarse
x=randn(1,n);%numeros aleatorios con distribucion normal
%estandar
for i=1:length(x)
if x(i)>=0
y(i)=1;
else
y(i)=0;
end
end
y;%conversion binaria
deltat=1e-4; %paso del tiempo
t=0:deltat:20; %vector del tiempo
L=length(t);%longitud del vector del tiempo
Tb=0.01%tiempo bit
R=1/Tb %tasa de transmision
BW=2*R %ancho de banda teorica
del=0;
for i=1:n
z(i,:)=y(i)*rectpuls(t-i*Tb+Tb/2,Tb);
end
m=5*sum(z);%genero la seal moduladora m(t)
Ac=1;%amplitud de la seal pasabanda
fc=1.2e3;%frecuencia de la portadora
s=Ac*m.*cos(2*pi*fc*t); %seal pasabanda
subplot(1,3,1);plot(t,m);title('Seal moduladora');xlabel('Tiempo
(s)');ylabel('m(t)');
subplot(1,3,2);plot(t,s);title('Seal modulada');xlabel('Tiempo
(s)');ylabel('s(t)');
f = (-L/2:1:L/2-1)/(L*deltat); %genera el vector de frecuencia
S=fftshift(fft(s)/L); %transformada de fourier de la seal pasabanda
S_psd=(L*deltat)*abs(S).^2; %densidad espectral para que sea correcto se
debe colocar L*deltat
S_psd_db=10*log10(S_psd); %tranforma en dB
%P=(Ac.^2*0.5)*(dirac(f)+Tb*((sinc(pi*f*Tb))/pi*f*Tb).^2);
P=0.5*Ac^2*(dirac(f)+Tb*sinc(pi*f*Tb).^2); %ecuacion 4.14 couch
pagina 234
P1=0.5*Ac^2*(dirac(f-fc)+Tb*sinc(pi*(f-fc)*Tb/pi).^2);
P2=0.5*Ac^2*(dirac(-f-fc)+Tb*sinc(pi*(-f-fc)*Tb/pi).^2);
ps=(L*deltat)*0.5*(P1+P2);
P_db=10*log10(P);
ps_db=10*log10(ps);
subplot(1,3,3);plot(f,S_psd_db,'r',f,ps_db,':g');title('Densidad
espectral de potencia en dB/Hz');xlabel('Frecuencia
(Hz)');ylabel('PSD(f)');
%%
SNR=20;
Ps=(1/L)*sum(abs(s).^2);
Pn=(Ps/(10^(SNR/10)))*(f(end)/BW);
r=s+sqrt(Pn)*randn(1,L);
R=fftshift(fft(r)/L);
R_psd=(L*deltat)*abs(R).^2;
R_psd_db=10*log10(R_psd);
figure(2)
subplot(1,2,1); plot(f,S_psd_db,'r',f,R_psd_db,':g',f,ps_db,'b');
axis([0 f(end) -100 20]); grid on;
r2=ps+sqrt(Pn)*randn(1,L);
R2=fftshift(fft(r2)/L);
R2_psd=(L*deltat)*abs(R2).^2;
R2_psd_db=10*log10(R2_psd);
subplot(1,2,2); plot(f,ps_db,'r',f,R2_psd_db,':b');
axis([0 f(end) -100 20]); grid on;
subplot(1,2,2); plot(f,ps_db,'r',f,R2_psd_db,':b');
axis([0 f(end) -100 20]); grid on;
y(i)=1;
else
y(i)=-1;
end
end
y;%conversion binaria
deltat=1e-4; %paso del tiempo
t=0:deltat:20; %vector del tiempo
L=length(t);%longitud del vector del tiempo
Tb=0.01%tiempo bit
R=1/Tb %tasa de transmision
BW=2*R %ancho de banda teorica
del=0;
for i=1:n
z(i,:)=y(i)*rectpuls(t-i*Tb+Tb/2,Tb);
end
m=5*sum(z);%genero la seal moduladora m(t)
Ac=1;%amplitud de la seal pasabanda
fc=1.2e3;%frecuencia de la portadora
fc1=1.2e3;%frecuencia de la portadora
fc2=1.2e3;%frecuencia de la portadora
t1=-(2*pi*fc1*t)+(2*pi*fc*t);
t2=-(2*pi*fc2*t)+(2*pi*fc*t);
for i=1:n
if y(i)==1;
s1=Ac*m.*cos(2*pi*fc1*t+t1); %seal pasabanda
else
s2=Ac*m.*cos(2*pi*fc2*t+t2); %seal pasabanda
end
end
s=s1+s2;
subplot(1,4,1);plot(t,m);title('Seal moduladora');xlabel('Tiempo
(s)');ylabel('m(t)');
subplot(1,4,2);plot(t,s);title('Seal modulada');xlabel('Tiempo
(s)');ylabel('s(t)');
f = (-L/2:1:L/2-1)/(L*deltat); %genera el vector de frecuencia
S=fftshift(fft(s)/L); %transformada de fourier de la seal pasabanda
S_psd=(L*deltat)*abs(S).^2; %densidad espectral para que sea correcto se
debe colocar L*deltat
S_psd_db=10*log10(S_psd); %tranforma en dB
subplot(1,4,3);plot(f,S_psd_db);title('Densidad espectral de potencia en
dB');xlabel('Frecuencia (Hz)');ylabel('PSD(f)');
%%
SNR=20;
Ps=(1/L)*sum(abs(s).^2);
Pn=(Ps/(10^(SNR/10)))*(f(end)/BW);
r=s+sqrt(Pn)*randn(1,L);
R=fftshift(fft(r)/L);
R_psd=(L*deltat)*abs(R).^2;
R_psd_db=10*log10(R_psd);
figure(2)
subplot(1,2,1); plot(f,S_psd_db,'r',f,R_psd_db,':g');
axis([0 f(end) -100 20]); grid on;
CONCLUSIONES.
Se gener el ruido blanco aditivo gaussiano con ayuda del software de Matlab,
se gener este tipo de ruido mediante la definicin de SNR, despus de
generar el mismo se introdujo a nuestras distintas simulaciones de
modulaciones ook, bpsk y fsk, tambin se introdujo el mismo ruido a la seal
terica de cada tipo de modulacin y se compar los resultados entre las
simulaciones y los tericos
RECOMENDACIONES.
Se recomienda tener cuidado al introducir la seal del ruido a las diferentes
ecuaciones y con las distas variables, tambin se debe tener cuidado al
graficar cada una de las seales y graficar con distintos colores para que se
pueda identificar cada una fcilmente