Está en la página 1de 13

Emilio Cano

Estudio de las diferentes clases de seales generadas por el programa Sigtype.m


Generacin de distintas realizaciones (iteraciones) de cada tipo de seales.

En las graficas se pueden ver distintas realizaciones de los cuatro tipos de seales producidas con el script propuesto. En el caso de la seal determinista se aprecia, en la mayora de los casos, en la seal temporal la presencia de las componentes de distintas frecuencias. Esto se ve mas claramente en la FFT donde aparecen los picos correspondientes a cada frecuencia de las senoidales utiliazadas para generar la seal. En el caso del ruido blanco se ve en la transformada la distribucin d amplitud en funcion de la frecuencia, que corresponde con la forma del filtro aplicado.

Emilio Cano

Emilio Cano

Emilio Cano

Modificacin y adaptacin del programa para obtener otros tipos de seales, segn la clasificacin presentada en el curso: o Determinista peridica: senoidal, componentes peridicas, pseudo-random.
Para generar la seal senoidal el script utiliza una funcion senoidal donde la amplitud la frecuencia y la fase se eligen aleatoriamente.

% seal determinista senoidal figure(4) t=[0:0.005:600*0.005]; for nplot=221:224 s5=10*rand(1)*sin((rand(1)*2+0.25)*2*pi*t+rand*2*pi); subplot (nplot),plot(t,s5),title (['periodica - realizacin ',num2str(1)]) end

Emilio Cano

Para generar la seal con componente peridicas se suman cinco seales senoidales generadas de manera similar a la seal senoidal, pero la frecuencia es un numero entero entre 1 y 10. Para que la seal sea peridica es necesario que la relacin entre las frecuencias sea un numero racional. Al ser los nmeros enteros se garantiza que se cumpla esta relacin.
%seal con componentes periodicas figure(5) for nplot=221:224 s6=zeros(1,601); frecuencia=(ceil(rand(5,1)*10)); amplitud=10*rand(5,1); fase=rand(5,1)*2*pi; for cont=1:5 s6=s6+amplitud(cont)*sin(frecuencia(cont)*2*pi*t+fase(cont)); end subplot(nplot),plot(t,s6),title(['componentesperiodicas realizacin ',num2str(nplot-220)]); end

Emilio Cano

La seal random tiene un espectro de frecuencia uniforme. Para generarlo se han sumado 300 senoidales (las 300 componentes de la transformada de Fourier en el intervalo de 601 puntos). La fase de cada componente es aleatoria.
%seal pseudorandom figure(6) for nplot=221:224 s7=zeros(1,601); frecuencia=1/3:1/3:1/3*300; amplitud=10*ones(300,1); fase=rand(300,1)*2*pi; for cont=1:300 s7=s7+amplitud(cont)*sin(frecuencia(cont)*2*pi*t+fase(cont)); end subplot(nplot),plot(t,s7),title(['pseudoaleatoria - realizacin ',num2str(nplot-220)]); end

Emilio Cano

o Determinista no peridica: cuasi-peridica, transitoria.


Una seal cuasi peridica se puede generar sumando seales senoidales cuya relacin de frecuencias no es un numero racional. En este caso una combinacin de fases entre las seales que se produce en un instante no vuelve a repetirse. Para generar esta seal se utilizan dos senoidales aleatorias cuya relacin de frecuencias e un numero entero entre 1 y 10 elegido aleatoriamente dividido entre 5 y por raz de 2.
%seal cuasi-periodica figure(7) for nplot=221:224 frec=(rand(1,1)+2); s8=10*rand(1,1)*sin(frec*2*pi*t+rand(1,1)*2*pi)+10*rand(1,1)*sin(frec* 2*pi*t*ceil(rand(1,1)*10)/5*sqrt(2)+rand(1,1)*2*pi); subplot(nplot),plot(t,s8),title(['seal cuasi-periodica realizacin ',num2str(nplot-220)]); end

Emilio Cano

Para generar la seal transitoria se le suma a una seal compuesta por tres senoidales aleatorias una exponencial con exponente negativo. El efecto de esta exponencial desaparece con el tiempo y quedando solo las seales senoidales.
%seal transitoria figure(8) for nplot=221:224 s9=zeros(1,601); frecuencia=(ceil(rand(3,1)*5)+1); amplitud=rand(3,1); fase=rand(3,1)*2*pi; for cont=1:3 s9=s9+amplitud(cont)*sin(frecuencia(cont)*2*pi*t+fase(cont)); end s9=s9+(randint(1,1,[0,1])*2-1)*(rand(1,1)*5+2)*exp((rand(1,1)*2+2)*t); subplot(nplot),plot(t,s9),title(['seal transitoria - realizacin ',num2str(nplot-220)]); end

Emilio Cano

o Estocstica: Estacionaria (ruido blanco), estacionaria (ruido blanco filtrado), No estacionaria (clasificacin especial: seal con una componente estocstica estacionaria y una componente determinista)
Para la seal de ruido blanco se elige para cada punto de la seal un valor aleatorio entre -1 y 1 segn una distribucin uniforme. De esta manera el valor de cada punto no tiene ninguna correlacion con los valores del resto de valores. Para filtrar la seal se construye un filtro paso bajo FIR con ceros sobre el circulo de radio 1 entre pi/2 y pi separados pi/8 y sus conjugados (el cero en pi es simple).El filtro se divide entre el valor que toma para z=1 para que la ganancia de frecuencia 0 sea 1. La respuesta en frecuencia de este filtro se puede ver en la grafica mostrada mas abajo Al aplicar el filtro se se obtiene la seal ruido blanco filtrado. En la transformada de Fourier de estas seales se puede ver como el filtro elimina las altas frecuencias.
%filtro figure (10) pol=[1]; syms z for cont=pi/2:pi/8:pi-pi/8 pol=conv([1 (-cos(cont)-1i*sin(cont))],pol); pol=conv([1 (-cos(cont)+1i*sin(cont))],pol); end pol=conv(pol,[1 1]); pol=pol/polyval(pol,1); angulo=[0:pi/100:pi]; z=cos(angulo)+sin(angulo)*1i; ganancia=abs(polyval(pol,z)); plot(angulo,ganancia),title('filtro'); %ruido blanco filtrado y sin filtrar for nplot=221:224 figure(9) s10=rand(1,601)*2-1; subplot(nplot),plot(t,s10),title(['ruido blanco estacionario realizacin ',num2str(nplot-220)]); s11=filter(pol,1,rand(1,601)*2-1); tf=fft(s11) figure(12) subplot(nplot),plot(0:2*pi/size(tf,2):2*pi*(11/size(tf,2)),abs(tf)),title(['fft ruido blanco filtrado - realizacin ',num2str(nplot-220)]); escala=axis(); escala (2)=pi; axis(escala); figure(11) subplot(nplot),plot(t,s11),title(['ruido blanco filtrado realizacin ',num2str(nplot-220)]); end

Emilio Cano

Emilio Cano

Emilio Cano

Para la seal estocstica no estacionaria se genera una seal similar a la seal transitoria y se le aade un ruido blanco de amplitud 4. Haciendo la transformada de Fourier se pueden ver los picos de las componentes peridicas, una amplitud mayor a bajas frecuencias que a altas debido a la componente transitoria y una amplitud no nula y aproximadamente uniforme a frecuencias altas debido al ruido (el ruido esta en todas las frecuencias, pero a altas frecuencias prcticamente todo es ruido.
%seal estocastica no estacionaria for nplot=221:224 s12=zeros(1,601); frecuencia=(ceil(rand(3,1)*5)+1); amplitud=rand(3,1)+1; fase=rand(3,1)*2*pi; for cont=1:3 s12=s12+amplitud(cont)*sin(frecuencia(cont)*2*pi*t+fase(cont)); end s12=s12+(randint(1,1,[0,1])*2-1)*(rand(1,1)*7+5)*exp((rand(1,1)*2+2)*t); ruido=rand(1,601)*4-2; s12=s12+ruido; figure(13) subplot(nplot),plot(t,s12),title(['estocastica no estacionaria realizacin ',num2str(nplot-220)]); tf=fft(s12) figure (14) subplot(nplot),plot(0:2*pi/size(tf,2):2*pi*(11/size(tf,2)),abs(tf)),title(['fft estocastica no est. - realizacin ',num2str(nplot-220)]); escala=axis(); escala (2)=pi; axis(escala); end

Emilio Cano

También podría gustarte