Ruido Blanco gaussiano con matlab

7
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);

description

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

Transcript of Ruido Blanco gaussiano con matlab

INTRODUCIENDO RUIDO BALNCO GAUSSIANO A UNA MODULACION OOKclc;clear;n=64;%cantidad de bits a generarsex=randn(1,n);%numeros aleatorios con distribucion normal%estandarfor i=1:length(x)if x(i)>=0y(i)=1;elsey(i)=0;endendy;%conversion binariadeltat=1e-4; %paso del tiempot=0:deltat:20; %vector del tiempoL=length(t);%longitud del vector del tiempoTb=0.01%tiempo bitR=1/Tb %tasa de transmisionBW=2*R %ancho de banda teoricadel=0;for i=1:nz(i,:)=y(i)*rectpuls(t-i*Tb+Tb/2,Tb);endm=5*sum(z);%genero la seal moduladora m(t)Ac=1;%amplitud de la seal pasabanda fc=1.2e3;%frecuencia de la portadoras=Ac*m.*cos(2*pi*fc*t); %seal pasabandasubplot(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 frecuenciaS=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*deltatS_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 341clc;clear;close all;n=256;%cantidad de bits a generarsex=randn(1,n);%numeros aleatorios con distribucion normal%estandarfor i=1:length(x)if x(i)>=0y(i)=1;elsey(i)=-1;endendy;%conversion binariadeltat=1e-4; %paso del tiempoTb=0.01%tiempo bitR=1/Tb %tasa de transmisionBW=2*R %ancho de banda teoricat=0:deltat:Tb*n; %vector del tiempoL=length(t);%longitud del vector del tiempodel=0;for i=1:nz(i,:)=y(i)*rectpuls(t-i*Tb+Tb/2,Tb);endm=5*sum(z);%genero la seal moduladora m(t)Ac=1;%amplitud de la seal pasabanda fc=1.2e3;%frecuencia de la portadoras=-Ac*m.*sin(2*pi*fc*t); %seal pasabandasubplot(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 frecuenciaS=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*deltatS_psd_db=10*log10(S_psd); %tranforma en dBP=Ac^2*Tb*(sinc(pi*f*Tb).^2); %ecuacion 4.14 couch pagina 234P1=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 341clc;clear;close all;n=64;%cantidad de bits a generarsex=randn(1,n);%numeros aleatorios con distribucion normal%estandarfor i=1:length(x)if x(i)>=0y(i)=1;elsey(i)=-1;endendy;%conversion binariadeltat=1e-4; %paso del tiempot=0:deltat:20; %vector del tiempoL=length(t);%longitud del vector del tiempoTb=0.01%tiempo bitR=1/Tb %tasa de transmisionBW=2*R %ancho de banda teoricadel=0;for i=1:nz(i,:)=y(i)*rectpuls(t-i*Tb+Tb/2,Tb);endm=5*sum(z);%genero la seal moduladora m(t)Ac=1;%amplitud de la seal pasabanda fc=1.2e3;%frecuencia de la portadorafc1=1.2e3;%frecuencia de la portadorafc2=1.2e3;%frecuencia de la portadorat1=-(2*pi*fc1*t)+(2*pi*fc*t);t2=-(2*pi*fc2*t)+(2*pi*fc*t);for i=1:nif y(i)==1; s1=Ac*m.*cos(2*pi*fc1*t+t1); %seal pasabandaelse s2=Ac*m.*cos(2*pi*fc2*t+t2); %seal pasabanda endends=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 frecuenciaS=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*deltatS_psd_db=10*log10(S_psd); %tranforma en dBsubplot(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