Ruido Blanco gaussiano con matlab

May 3, 2019 | Author: Alex Pomier Aliaga | Category: Radio Technology, Wireless, Data Transmission, Radio, Signal Processing
Share Embed Donate


Short Description

Se generó el ruido blanco aditivo gaussiano con ayuda del software de Matlab, se generó este tipo de ruido mediante la d...

Description

INTRODUCIENDO RUIDO BALNCO GAUSSIANO A UNA MODULACION OOK 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 señal moduladora m(t) Ac=1;%amplitud de la señal pasabanda fc=1.2e3;%frecuencia de la portadora s=Ac*m.*cos(2*pi*fc*t); %señal pasabanda subplot(1,3,1);plot(t,m);title('Señal moduladora');xlabel('Tiempo (s)');ylabel('m(t)'); subplot(1,3,2);plot(t,s);title('Señal 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 señal 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;

INTRODUCIENDO UN RUIDO BLANCO ADITIVO GAUSSIANO A UNA MODULACION BPSK %ecuacion 5.72 LIBRO COUCH pagina 341 clc; clear; close all; n=256;%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)=-1; end end y;%conversion binaria deltat=1e-4; %paso del tiempo Tb=0.01%tiempo bit R=1/Tb %tasa de transmision BW=2*R %ancho de banda teorica t=0:deltat:Tb*n; %vector del tiempo L=length(t);%longitud del vector del tiempo del=0; for i=1:n z(i,:)=y(i)*rectpuls(t-i*Tb+Tb/2,Tb); end m=5*sum(z);%genero la señal moduladora m(t) Ac=1;%amplitud de la señal pasabanda fc=1.2e3;%frecuencia de la portadora s=-Ac*m.*sin(2*pi*fc*t); %señal pasabanda subplot(1,3,1);plot(t,m);title('Señal moduladora');xlabel('Tiempo (s)');ylabel('m(t)'); subplot(1,3,2);plot(t,s);title('Señal 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 señal 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*Tb*(sinc(pi*f*Tb).^2); %ecuacion 4.14 couch pagina 234 P1=Ac^2*Tb*(sinc(pi*(f-fc)*Tb/pi).^2); P2=Ac^2*Tb*(sinc(pi*(-f-fc)*Tb/pi).^2); ps=(L*deltat)*0.25*(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=40; 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;

INTRODUCIENDO UN RUIDO BLANCO ADITIVO GAUSSIANO A UNA MODULACION FSK %ecuacion 5.72 LIBRO COUCH pagina 341 clc; clear; close all; 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)=-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 señal moduladora m(t) Ac=1;%amplitud de la señal 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); %señal pasabanda else s2=Ac*m.*cos(2*pi*fc2*t+t2); %señal pasabanda end end s=s1+s2; subplot(1,4,1);plot(t,m);title('Señal moduladora');xlabel('Tiempo (s)');ylabel('m(t)'); subplot(1,4,2);plot(t,s);title('Señal 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 señal 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 definición de SNR, después de generar el mismo se introdujo a nuestras distintas simulaciones de modulaciones ook, bpsk y fsk, también se introdujo el mismo ruido a la señal teórica de cada tipo de modulación y se comparó los resultados entre las simulaciones y los teóricos RECOMENDACIONES. Se recomienda tener cuidado al introducir la señal del ruido a las diferentes ecuaciones y con las distas variables, también se debe tener cuidado al graficar cada una de las señales y graficar con distintos colores para que se pueda identificar cada una fácilmente

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF