Está en la página 1de 24

PROCESAMIENTO DIGITAL DE SEALES Actividad 10: Trabajo Colaborativo 2 Grupo: 299004_9

NERIS DAVILA HERNANDEZ EDWIN OMAR ORTIZ MANRIQUE MEJIA, RONALD JESUS

ROBAYO, FAIBER
Tutor

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD) ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAS INGENIERA ELECTRNICA 2012

INTRODUCION

Hoy en da, el procesamiento de seales representa una herramienta utilizada en un amplio espectro de aplicaciones, tales como sistemas de comunicacin, sistemas de control, procesamiento de sonido, voz imgenes, video, etc. Dentro de estas aplicaciones, los procesadores de seales representan un elemento esencial en el funcionamiento de diversos dispositivos como por ejemplo los telfonos celulares, cmaras digitales, televisiones de alta definicin, radios, mdems, y muchos otros dispositivos.

Un sistema digital es cualquier dispositivo destinado a la generacin, transmisin, procesamiento o almacenamiento de seales digitales. Tambin un sistema digital es una combinacin de dispositivos diseado para manipular cantidades fsicas o informacin que estn representadas en forma digital; es decir, que slo puedan tomar valores discretos.

Es una tcnica que convierte seales de fuentes del mundo real (usualmente en forma analgica), en datos digitales que luego pueden ser analizados. Este anlisis es realizado en forma digital pues una vez que una seal ha sido reducida a valores numricos discretos, sus componentes pueden ser aislados, analizados y reordenados ms fcilmente que en su primitiva forma analgica. Este trabajo nos permite Examinar las diferentes formas de representacin y caracterizacin de seales y sistemas en el dominio del tiempo discreto.

1) Investigacin Investigue y plantee por lo menos dos ejemplos de los siguientes tems I. Tcnicas en programas de simulacin (matlab) para el anlisis y diseo de filtros digitales. II. III. La transformada z. Diseo de filtros digitales mediante transformada Z bilineal.

Un filtro paso bajo IIR debe tener las siguientes caractersticas: una atenuacin de 0.5dB a 2 KHz y una atenuacin de 50 dB a 10 KHz. Se pide: Si la frecuencia de muestreo es 44.1 KHz, determinar los coeficientes del filtro utilizando la transformacin bilineal y la transformacin invariante al impulso.

Mostrar en todos los casos que corresponda el orden del filtro obtenido, la respuesta frecuencial del filtro, el retraso de grupo y la ecuacin diferencia. % Problema 1 % fp=2 KHz Ap=0.5 dB % fs=10 KHz As=50 dB fp=2000;Ap=0.5; fs=10000;As=50; At=-[Ap As]; fm=44100; % Filtro de Butterworth % Calculo de e2, N y v3 e2=10^(0.1*Ap)-1; n=(log10(sqrt((10^(0.1*As)-1)/e2)))/log10(fs/fp);

N=ceil(n); v3=(1/e2)^(1/(2*N)); % Filtro Digital a partir de la Transformacin Bilineal % w=2tan(2*pi*F/2); Fp=fp/fm;Fs=fs/fm; % Predistorsionado disp('********** Filtro Digital-Transformacin Bilineal ********'); Fe=[Fp Fs];fe=Fe*fm; We=2*tan(2*pi*Fe/2); [N,Wn]=buttord(We(1),We(2),Ap,As,'s'); [Bs,As]=butter(N,Wn,'s'); [Bz,Az]=bilinear(Bs,As,1); [Hz,Fz]=freqz(Bz,Az,500,fm); plot(Fz,20*log10(abs(Hz)));hold on;zoom;grid; plot(fe,At,'*r'); title('Filtro Digital, (-y) T. Bilineal, (:g) T. Inv. Imp.'); fprintf(1,'B = \n'); fprintf(1,' %.4f\n',Bz);

fprintf(1,'A = \n'); fprintf(1,' %.4f\n',Az);

[Gz,Fz]=grpdelay(Bz,Az,500,fm); disp('Pulse una tecla para seguir');pause; disp('********* Filtro Digital-Transformacin Invariante al Impulso *********'); % Los coeficientes del filtro pasobajo eran B y A [BzII,AzII]=impinvar(B,A,fm);

% Hay que normalizar para que H(0)=1 k=sum(real(AzII))/sum(real(BzII)); BzII=k*BzII; [HzII,FzII]=freqz(BzII,AzII,500,fm); plot(FzII,20*log10(abs(HzII)),':g');hold off; fprintf(1,'B = \n'); fprintf(1,' %.4f\n',BzII);

fprintf(1,'A = \n'); fprintf(1,' %.4f\n',AzII);

disp('Pulse una tecla para seguir');pause; [GzII,FzII]=grpdelay(BzII,AzII,500,fm); plot(Fz,Gz,'-r',FzII,GzII,':g');grid;zoom; title('Retraso de Fase - Filtro Digital, (-r) T. Bilineal, (:g) T. Inv. Impulso');

Disear un filtro FIR pasabanda a frecuencial de 20 Hz y 2500 Hz. Utilizar un mismo orden de filtro (por ejemplo N=50) N=50;Fs=11020;Fny=Fs/2; Bfir1 = fir1(N,[20 2500]/Fny); Bfir2 = fir2(N,[0 10 20 2500 3500 Fny]/Fny,[0 0 1 1 0 0]); Bfirls = firls(N,[0 10 20 2500 3500 Fny]/Fny,[0 0 1 1 0 0]); Bremez = remez(N,[0 10 20 2500 3500 Fny]/Fny,[0 0 1 1 0 0]); F=0:20:5000; Hfir1=abs(freqz(Bfir1,1,F,Fs)); Hfir2=abs(freqz(Bfir2,1,F,Fs)); Hfirls=abs(freqz(Bfirls,1,F,Fs)); Hremez=abs(freqz(Bremez,1,F,Fs));

semilogy(F,Hfir1,'r',F,Hfir2,'g',F,Hfirls,'y',F,Hremez,'m');

Ejemplo de un filtro pasa bajas: Se pretende disear un filtro con las siguientes caractersticas:

fsim=50000; Rp=3; Rs=18; Wp=2*1000/fsim; Ws=2*1200/fsim;

[N,Wn]=ellipord(Wp,Ws,Rp,Rs);

[b,a]=ellip(N,Rp,Rs,Wn);

f=0:1:2500; H=freqz(b,a,f,fsim); plot(f,abs(H));

Respuesta de un filtro pasa bajas por Cauer

Ejemplo de un filtro pasa altas:

Se desea disear un filtro paso alto con las siguientes caractersticas:

Frecuencia de muestreo a utilizar: 30000 Hz fsim=30000; Rp=0.5; Rs=40; Wp=2*8000/fsim; Ws=2*4000/fsim;

[N,Wn]=ellipord(Wp,Ws,Rp,Rs);

[b,a]=ellip(N,Rp,Rs,Wn,'high');

f=0:1:14000; H=freqz(b,a,f,fsim); plot(f,abs(H));

Respuesta de un filtro pasa altas por Cauer

II. La transformada z.

Transformada Z. La variable compleja z es una transformacin no lineal de la variable de Fourier, con el propsito de que la funcin de transferencia del sistema discreto obtenida de esta transformacin sea racional. Dada una secuencia real {xk} se define su transformada en zcomo una funcin compleja:

En estas expresiones se pueden observar las ventajas de, por una parte, no ser funciones peridicas, y por otra, de ser racionales. Adems, es fcil ver que la definicin de transformada de Fourier a z, se consigue haciendo:

As, por ejemplo, la transformada en z de una secuencia impulso ser:

La transformada de la secuencia en escaln resultar:

Otro ejemplo tpico, generalizacin del anterior, es la secuencia exponencial

Que, por ser una serie geomtrica, ser convergente para , y su suma valdr:

< 1, es decir

Por ltimo, la transformada del desplazamiento ser:

EJEMPLOS Calcular la transformada z de las secuencias

Solucin: Para secuencias de muestras causales la relacin entre una secuencia x[n] y su transformada z es unvoca. Ningn par de secuencias tiene la misma transformada z (a menos que sean idnticas) y, de manera similar, ningn par de transformadas corresponde a la misma secuencia. Esta relacin uno a uno se denota x[n] X (z) bien Z(x[n]) y se dice que x[n] y X(z) constituyen una pareja de transformadas z.

Ejemplo (Sin ROC) Sea . Expandiendo en obtenemos

Siendo la suma

No hay ningn valor de

que satisfaga esta condicin.

III.

Diseo de filtros digitales mediante transformada Z bilineal.

CARACTERISTICAS DE LA TRANSFORMACION BILINEAL

Necesidad de las transformadas de Laplace para seales de tiempo continuo y transformada Z para seales de tiempo discreto. Regin de convergencia. Transformacin inversa de Laplace y Z. Evaluacin geomtrica de la transformada de Fourier a partir del diagrama de polos y ceros. Propiedades de las transformadas de Laplace y Z. Anlisis y caracterizacin de sistemas de tiempo continuo usando transformada de Laplace, y de tiempo discreto usando transformada Z. Transformadas de Laplace y Z unilaterales. La transformada bilineal (tambin conocida con el nombre de Mtodo de Tustin) Este mtodo evita el problema de aliasing, usando una transformacin algebraica que mapea todo el eje j del plano s a una revolucin del crculo unitario en el plano z. Esta transformacin es no lineal y por tanto debe usarse solo en situaciones donde la compresin no lineal (warping ) correspondiente al eje de frecuencias sea aceptable.

Si Hc(S) es uan funcin del sistema en tiempo continuo y H(z) la funcin del sistema en tiempo continuo la transformacin bilineal corresponde a sustituir s por

A partir de la anterior expresin es posible demostrar que la frecuencia continua () y la discreta estn relacionadas de la siguiente forma:

Al utilizar la transformacin bilineal para el diseo de filtros digitales, las frecuencias criticas del filtro de tiempo discreto deben ser descomprimidas a las frecuencias de tiempo continuo correspondientes utilizando la frmula de frecuencia continua anteriormente vista, de modo que la distorsin inherente en la transformacin bilineal mapee las frecuencias de tiempo continuo a las frecuencias de tiempo discreto correctas. Frecuencia de corte digital es: wc = 2p(2000/20000) = 0.2 La frecuencia de corte anloga se halla con la ecuacin: c = (2/T)tan(wc/2) c = (2/T)tan(0.2p/2) = (2/T)tan(0.1p) c = 0.6498/T El valor T puede ser arbitrario, se toma T=1 c = 0.6498 Se calcula en Matlab un filtro Butterwoth anlogo con Wc = 0.6498, de orden n=5 con la funcin: [num,den] = butter(n,Wn,'s') [num,den] = butter(5,0.6498,'s') La funcin de transferencia es:

SOLUCIN A LOS EJERCICIOS

Ejercicios Convierta un filtro analgico con funcin de transferencia.

En un filtro IIR digital por medio de la transformada bilinear. El filtro digital debe tener una frecuencia resonante de pi/2 ( ) ( )

Utilizando Matlab % Imponemos que la respuesta freq. de H(s) en wc=1 sea igual a la % respuesta freq. de H(z) en fdc=wc/(2*pi) fm = 1; wc = pi/2; fdc = wc/(2*pi); % Aplicamos la predistorsin para fdc Wdc = 2*pi*fdc/fm; wc1 = 2*fm*tan(Wdc/2); % Filtro original B=[1+0.1]; A=[1 0.2 16.01]; % Filtro normalizado por wc1 [B1,A1] = lp2lp(B,A,wc1); % Aplico la tranformacion bilineal [Bz,Az] = bilinear(B1,A1,fm); N=500;

w=(0:N-1)*10.5/N; [H] = freqs(B,A,w); [Hz] = freqz(Bz,Az,w/(2*pi),fm); plot(w,20*log10(abs(H)),'-',w,20*log10(abs(Hz)),'--');grid;zoom; ylabel(['|H(f)|']); xlabel(['Frecuencia (rad/s)']); legend('Filtro analgico','Filtro Discreto'); Filtro Digital ( )

Grafica de Filtro anlogo y filtro discreto

Respuesta del filtro anlogo

Respuesta del filtro Digital

Repita el inciso anterior para la siguiente funcin de transferencia.

Utilizando MATLAB Calculo la respuesta en frecuencia del filtro anlogo: >> num=[1.0000]; >> den=[1.0000 0.2000 16.0100]; >> freqs(num,den)

10

Magnitude

10

10

-1

10

-2

10

-1

10 Frequency (rad/s)

10

Phase (degrees)

-50 -100 -150 -200 -1 10


0 1

10 Frequency (rad/s)

10

>> [B,A]=bilinear(num,den,2); >> B=[0.1250 0.0061 -0.1189]; >> A=[1.0000 0.0006 0.9512]; >> freqz(B,A)

50

Magnitude (dB)

-50

-100

0.1

0.2

0.3 0.4 0.5 0.6 0.7 0.8 Normalized Frequency ( rad/sample)

0.9

100

Phase (degrees)

50 0 -50 -100

0.1

0.2

0.3 0.4 0.5 0.6 0.7 0.8 Normalized Frequency ( rad/sample)

0.9

Actividad 2: Ejercicio de aplicacin.

Disee un programa (se sugiere en matlab) que muestre el procesamiento digital de un archivo de audio wav. Tome como referencia el video OVA Procesamiento digital de audio mostrado en el aula del curso, en la unidad 1. Deben poner un solo programa en el trabajo final (seleccionado por los integrantes del grupo) pero adjuntar los cdigos generados por cada uno de los integrantes en una carpeta junto al informe final.

clear all;%borra las variables del archivo% clc;%limpia pantalla% t = input ('DURACION EN SEGUNDOS PARA LA GRABACION '); %muestra la variable de tiempo en segundos% Fs= input ('LA FRECUENCIA CON LA QUE SE DESEA LA GRABACION ');%muestra la variable de la frecuencia de la seal% input ('PRESIONAR ENTER PARA HACER LA PRIMERA GRABACION O SEAL'); %muestra la impresion de pantalla% y = wavrecord(t*Fs,Fs); %funcin matemtica para grabar el sonido% file = 'C:\01'; %lugar de carpeta o archivo donde se guarda el sonido% wavwrite (y,file); %para guardar el sonido en formato wav% input ('SEAL CAPTURADA');%muestra la impresion de pantalla% input ('PRESIONAR ENTER PARA HACER LA SEGUNDA GRABACION O SEAL');%muestra la impresion de pantalla% x = wavrecord(t*Fs,Fs); %funcion matemtica para la grabavion del sonido% file2 = 'C:\02';%lugar carpeta o archivo donde se guarda el sonido% wavwrite (x,file2);%para guardar el sonido en formato wav% input ('SEAL CAPTURADA');%muestra la impresion de pantalla% input ('PRESIONE ENTER PARA OIR LA PRIMERA GRABACION');%muestra la impresion de pantalla% sound(y,Fs);%para reproducir sonido% input('PRESIONE ENTER PARA OIR LA SEGUNDA GRAABACION'); %muestra la impresion de pantalla% sound(x,Fs);%para reproducir el sonido% voz1 = fft (y); % con esto se obtiene la transformada de fourier de la primera grabacion % voz1 = voz1.*conj (voz1); % con esto se obtiene el conjugado% voz1f = voz1 (1:600); % para solo aceptar las Frecuencias arriba de 600 HZ % voz1fn = voz1f/sqrt(sum (abs (voz1f).^2)); % para mostrar la normalizacion del vector % voz2 = fft (x); % con esto se obtiene la transformada de fourier de la segunda grabacion % voz2 = voz2.*conj (voz2); % con esto se obtiene el conjugado% voz2f = voz2 (1:600); % para solo aceptar las Frecuencias arriba de 600 HZ % voz2fn = voz2f/sqrt(sum (abs (voz2f).^2)); %para mostrar la normalizacion del vector % subplot(2,2,1),plot(y); %muestra la relacion de la posicion de la grafica% title ('GRAFICA DE LA GRABACION No. 1') subplot(2,2,2),plot(voz1fn); % muestra el Espectro de la grabacion 1 title ('GRAFICA DEL ESPECTRO DE LA GRABACION No. 1')

subplot(2,2,3),plot(x); %muestra la relacion de posicion de la grafica% title ('GRAFICA DE LA GRABACION No. 2') subplot(2,2,4),plot(voz2fn); % muestra el espectro de la grabacion 2 title ('GRAFICA DEL ESPECTRO DE LA GRABACION No. 2')

CONCLUSIN

La gran ventaja de las seale digitales es que no son afectados gravemente por las perturbaciones debido a que nicamente utilizan dos valores, que mediante un regenerdor de seal se "reavivan". Por ejemplo las seales de televisin digitales se caracterizan porque si la seal se ve es muy clara, sin perturbaciones pero si las hay entonces simplemente la seal se pierde. Como tambin podemos ver la gran importancia que tiene el anlisis de seales digitales la transformada de fourier.

BIBLIOGRAFIA

M. S. RODEN. Analog and Digital Communication Systems. Prentice Hall, 4a Ed. 1996. Campus 05. 299004. Procesamiento digital de seales. Modulo Procesamiento Digital de Seales. UNAD 2012

Software de aplicacin Mathworks Matlab R2011a. OPPENHEIM, A. y SCHAFER, R. Tratamiento de seales en tiempo discreto. Madrid: Prentice Hall Pearson Eduacation, 2000. OPPENHEIM, A. V., WILLSKY, A. S. y NAWAB, S. H. Seales y Sistemas. Prentice-Hall Hispanoamericana, 1998. PROAKIS, J. G. y MANOLAKIS, D.G. Tratamiento Digital de Seales. Principios, algoritmos y aplicaciones. Espaa: Prentice Hall., 2000. www.invenia.es/oepm:p200202377