SlideShare una empresa de Scribd logo
1 de 65
Descargar para leer sin conexión
PROCESAMIENTO DIGITAL DE SEÑALES
                CON MATLAB
                                1




http://lonely113.blogspot.com
Generación y Gráfica de Señales
                                              2

Sea una señal:


    Dónde:
         A: Amplitud
         Fo: Frecuencia
         phi: Fase

La representación de esta señal en tiempo discreto está dada por:



    Donde:
         Fs=1/Ts: Frecuencia de muestreo.

La gráfica de señales discretas se realiza con el comando:

                                     stem(t,xt)
http://lonely113.blogspot.com
Ejemplo: Generación y gráfica de una señal
 muestreada a 8 KHz.
                                     3


Se genera una señal sinusoidal de 400 Hz y amplitud 2.
                                         2


                                     1.5


                                         1


       >> F0=400;                    0.5

       >> A=2;                           0
       >> phi=pi/4;
       >> Fs=8000;                   -0.5


       >> Ts=1/Fs;                    -1

       >> t=-0.002:Ts:0.002;         -1.5

       >> xt=A*sin(2*pi*F0*t+phi);
       >> stem(t,xt)
                                      -2
                                        -2   -1.5   -1   -0.5   0   0.5   1   1.5          2
                                                                                       -3
                                                                                    x 10




 http://lonely113.blogspot.com
Ejemplo: Señales no sinusoidales periódicas.
                                              4


Generación de una señal diente de sierra.
                                         1
  >> F0=400;                           0.8
  >> A=2;                              0.6
  >> Fs=8000;                          0.4
  >> Ts=1/Fs;
  >> t=-0.002:Ts:0.002;
                                       0.2


  >> xt=sawtooth(2*pi*F0*t);
                                x(t)     0


  >> stem(t,xt)                        -0.2


  >> hold on                           -0.4


  >> plot(t,xt)                        -0.6


  >> xlabel('time (s)');               -0.8


  >> ylabel('x(t)');                    -1
                                          -2      -1.5   -1   -0.5      0       0.5   1   1.5          2
                                                                     time (s)                      -3
                                                                                                x 10



http://lonely113.blogspot.com
Ejemplo: Señal aperiódica.
                                            5


Muestreo de la señal Sinc.
                                     2




           >> F0=400;
                                   1.5


           >> A=2;
           >> Fs=8000;               1


           >> Ts=1/Fs;
           >> t=-0.003:Ts:0.003;   0.5


           >> xt=A*sinc(2*F0*t);
           >> stem(t,xt)             0




                                   -0.5
                                       -3       -2   -1   0   1   2          3
                                                                         -3
                                                                      x 10



http://lonely113.blogspot.com
Generación de Ruido
                                     6

  Se utilizan los comandos:

      Y=rand(rows,cols): Genera ruido con distribución uniforme.

      Y=randn(rows,cols):Genera ruido Gaussiano.

  Dónde:

       rows, cols: Indica la dimensión de la matriz de ruido aleatorio a
                 generar.

  Para observar el histograma se utiliza el comando:

       hist(y,m): Representa el ruido "y" mediante m "contenedores".

http://lonely113.blogspot.com
Ejemplo: Generación y Representación de Ruido
                  Gaussiano
                                         7



                                         4
                                      x 10
                                 4


                                3.5


                                 3


      >> Gnoise=randn(1,1e6);   2.5


      >> hist(Gnoise,100);       2


                                1.5


                                 1


                                0.5


                                 0
                                  -6         -4   -2   0   2   4   6




http://lonely113.blogspot.com
Submuestreo y Sobremuestro
                                                  8


   Submuestreo

                                 xtDown=downsample(xt,N)

        La señal xDown tendrá una frecuencia de muestro Fs/N.

        Submuestrear la señal significa conservar cada N-ésima muestra y eliminar las muestras
        restantes.

   Sobremuestreo

                                       xtUp=upsample(xt,N)

        La señal xUp tendrá una frecuencia de muestreo N·Fs.

        Sobremuestrear la señal significa introducir N-1 ceros entre muestras consecutivas.



http://lonely113.blogspot.com
Ejemplo: Submuestreo.
                                        9

Se submuestrea la señal sinusoidal generada anteriormente (Fs=8
KHz) para obtener una señal xtDown muestreada a 2 KHz.
                                       2

       >> F0=400;
       >> A=2;
                                     1.5


       >> phi=pi/4;                    1

       >> Fs=8000;
       >> Ts=1/Fs;
                                     0.5


       >> t=-0.002:Ts:0.002;           0

       >> xt=A*sin(2*pi*F0*t+phi);
       >> stem(t,xt)
                                     -0.5


       >>xtDown=downsample(xt,4);     -1

       >> tDown=downsample(t,4);
                                     -1.5
       >> hold on
       >> stem(tDown,xtDown,'r');     -2
                                        -2   -1.5   -1   -0.5   0   0.5   1   1.5          2
                                                                                       -3
                                                                                    x 10


http://lonely113.blogspot.com
Procesamiento de Audio
                                         10



Para escuchar un tono de señal en Matlab se utiliza el comando:

                                    soundsc(xt,Fs)

    Donde:
                  xt: Tono a escuchar.
                  Fs: Frecuencia de muestreo.

    Por ejemplo: Para escuchar la señal sinusoidal generada
    anteriormente:

                                  >> soundsc(xt,Fs)


http://lonely113.blogspot.com
Grabación de Audio
                                     11


Para grabar una señal audible mediante la tarjeta de sonido y un
micrófono se utilizan los siguientes comandos:
   r=audiorecorder: Crea un objeto de grabación.

   record(r): Inicio de grabación.

   pause(r) ,stop(r): Pausa y finalización.

   play(r): Escuchar la grabación

   y=getaudiodata(r): Para obtener la matriz que contiene las muestras
   de la señal audible. Ésta es la señal que se puede procesar.

   Fs=r.SampleRate: Para obtener la frecuencia de muestreo.
http://lonely113.blogspot.com
Ejemplo:
                                12


       >> r=audiorecorder;
       >> record(r)
       >> pause(r)
       >> record(r)
       >> stop(r)
       >> play(r)
       >> y=getaudiodata(r);
       >> Fs=r.SampleRate
       Fs =
            8000



http://lonely113.blogspot.com
Guardar como Archivo de Audio
                                             13

Para guardar la señal de audio que se acaba de grabar se utiliza el
comando:

                                wavwrite(y,Fs,’grabacion’)

     Se guarda en formato wav en la carpeta de trabajo de Matlab.


    >> wavwrite(y,Fs,'grabacion');
    >> which grabacion.wav
    C:UsersCasaDocumentsMATLAB
    grabacion.wav




http://lonely113.blogspot.com
Leer un Archivo de Audio
                                                14

Para leer un archivo de audio en formato wav que se encuentra en la carpeta de trabajo de
Matlab se utiliza la función:

                                [xt,Fs]=wavread(‘nombre_de_archivo’)

   Se guardan las muestras y la frecuencia de muestro en xt y Fs respectivamente.




         >> [xt,Fs]=wavread('tuner1');




http://lonely113.blogspot.com
Análisis en Frecuencia
                                        15


 Transformada Rápida de Fourier:

                                   xF=fft(xt,nFFT)

     Donde:
                         nFFT=número de puntos a representar.

 Comandos adicionales:

      magxF=abs(xF): Magnitud de la fft de xt.
      phasexF=angle(xF): Fase de la fft de xt.
      phasexF=unwrap(phasexF): Para obtener la apropiada
       información de fase.

http://lonely113.blogspot.com
Ejemplo: Obtención de La FFT de la Función
  Compuerta.          16
                                                          Magnitud de xF
                                       8




        >> Fs=2000;
                                       7


                                       6

        >> Ts=1/Fs;                    5


        >> t=-0.005:Ts:0.005;          4



        >> xt=rectpuls(t,0.004);       3




        >> nFFT=64;
                                       2


                                       1

        >> xF=fft(xt,nFFT);            0
                                            0   10   20    30       40     50   60   70

        >> magxF=abs(xF);              0
                                                           Fase de xF


        >> phasexF=angle(xF);          -5


        >> phasexF=unwrap(phasexF);   -10



        >> figure,stem(magxF);        -15




        >>title(‘Magnitud de xF’)
                                      -20


                                      -25

        >> figure,stem(phasexF)       -30


        >>title(‘Fase de xF’)         -35


                                      -40
                                            0   10   20    30       40     50   60   70



http://lonely113.blogspot.com
Ejemplo: Obtención de La FFT de la Función
  Compuerta.          17
                                                                 Magnitud de xF
                                              8



El comando fft obtiene la transformada        7



de Fourier en la región comprendida entre     6



0 y la frecuencia de muestro Fs. Se           5


requiere desplazar una parte de la gráfica    4


para obtener la región negativa de la         3


transformada de Fourier.                      2


                                              1


                                              0

           >> magxF=fftshift(magxF);
                                                   0   10   20    30       40     50   60   70

                                                                  Fase de xF


           >> phasexF=fftshift(phasexF);
                                              0


                                              -5

           >> stem(magxF);                   -10


           >>title(‘Magnitud de xF’)         -15


           >> figure,stem(phasexF);          -20



           >>title(‘Fase de xF’)             -25


                                             -30


                                             -35


                                             -40
                                                   0   10   20    30       40     50   60   70


http://lonely113.blogspot.com
Ejemplo: Obtención de La FFT de la Función
  Compuerta.          18
                                                                       Magnitud de xF
                                         8




Los gráficos anteriores no
                                         7


                                         6

presentan el eje de frecuencia           5


correcto. Se debe crear el vector        4


de eje de frecuencias para               3



graficar correctamente.                  2


                                         1


                                         0


       >> f_esp=Fs/nFFT;
                                        -1000    -800   -600   -400   -200       0     200   400   600   800   1000
                                                                             Fase de xF
                                         0


       >> fNyquist=Fs/2;                 -5


       >> f_inicio=-fNyquist;           -10



       >> f_fin=fNyquist-f_esp;         -15



       >> f_eje=f_inicio:f_esp:f_fin;   -20




       >> stem(f_eje,magxF)
                                        -25




       >> figure,stem(f_eje,phasexF)
                                        -30


                                        -35


                                        -40
                                         -1000   -800   -600   -400   -200       0     200   400   600   800   1000


http://lonely113.blogspot.com
Sistemas LTI
                                     19




Todos los sistemas LTI
pueden ser analizados
como Filtros LTI
discretos.




http://lonely113.blogspot.com
Ecuación de Diferencias Para Filtros
                     Causales
                                20



Dónde: x[n]: Entrada
     y[n]: Salida


        En el dominio Z

Función de transferencia
en el dominio Z




http://lonely113.blogspot.com
Representación de Filtros en Matlab
                                       21



Para representar la función de transferencia del filtro:




en Matlab:
                                >> num=[1 1.1];
                                >> den=[1 0 -0.1];




http://lonely113.blogspot.com
Respuesta al Impulso y Convolución
                                                   22




Para obtener la respuesta al impulso se utilizan los comandos:

Impz(num,den): Grafica la respuesta al impulso del filtro. Por defecto se considera Fs=1 Hz y
  grafica las 10 primeras muestras.

Impz(num,den,n,Fs): Grafica la respuesta al impulso. Se especifica el número de muestras a
  graficar y la frecuencia de muestro utilizada.

[h,t]= Impz(num,den,n,Fs): Guarda los vectores de magnitud y eje de tiempo en h y t
  respectivamente.

http://lonely113.blogspot.com
Ejemplo: Graficando la respuesta al impulso del
filtro creado anteriormente.
                                      23
                                                                                Impulse Response
                                                       1.4


                                                       1.2


                                                        1




                                           Amplitude
                                                       0.8


                                                       0.6




          >> num=[1 1.1];                              0.4




          >> den=[1 0 -0.1];                           0.2




          >> impz(num,den);
                                                        0
                                                             0     1       2         3         4         5       6            7
                                                                                     n (samples)


          >> Fs=8000;                                  1.4



          >> [h,t]=impz(num,den,32,Fs);                1.2



          >> figure,stem(t,h)                           1


                                                       0.8


                                                       0.6


                                                       0.4


                                                       0.2


                                                        0
                                                             0   0.5   1       1.5        2        2.5       3   3.5          4
                                                                                                                          -3
                                                                                                                       x 10


http://lonely113.blogspot.com
Señal de Salida del Filtro Para una Señal
                 de Entrada
                                         24


Se realiza mediante los comandos:

                                   y=conv(h,x)

    Donde: h es la respuesta al impulso del filtro.
           x es la señal de entrada.

                                y=filter(num,den,x)

    Donde: x es la señal de entrada.


http://lonely113.blogspot.com
Ejemplo:
                                    25
                                                                      Espectro de xt




Se obtendrá la señal de salida
                                         35


                                         30


del filtro para una señal de             25



entrada audible:                         20


                                         15


                                         10


                                         5


        >> [xt,Fs]=wavread('tuner1');    0
                                              0   500   1000   1500     2000     2500    3000    3500    4000

        >> [h,t]=impz(num,den,10,Fs);                                 Espectro de y2

        >> y1=convn(h,xt);               80


        >> soundsc(xt,Fs);               70


        >> soundsc(y1,Fs);               60



        >> y2=filter(num,den,xt);
                                         50

                                         40

        >> soundsc(xt,Fs);               30


        >> soundsc(y2,Fs);               20

                                         10

                                         0
                                                  500   1000   1500      2000     2500    3000    3500    4000


http://lonely113.blogspot.com
Análisis de Filtros en el Dominio de la
                    Frecuencia
                                     26


Relación Entrada – Salida de un filtro en el dominio de la frecuencia.




Respuesta de magnitud:

Respuesta de fase:


Retardo de grupo:




http://lonely113.blogspot.com
Respuesta de Magnitud y Fase de Filtros
                                  27


  Se utilizan los comandos:

      [H,F]=freqz(num,den): Por defecto asume 512 puntos
      equidistantemente espaciados y el eje de frecuencias es
      normalizada.

      [H,F]=freqz(num,den,n,Fs): Donde se especifica número
      de puntos n y la frecuencia de muestreo Fs.

      [H,F]=freqz(num,den,f,Fs): Donde f es un vector en el que
      se especifica las frecuencias particulares en las que se
      obtendrá la respuesta de magnitud y fase.


http://lonely113.blogspot.com
Ejemplo: Respuesta en frecuencia del filtro creado
anteriormente.
                                         28
                                                                           10




                                                         Magnitude (dB)
                                                                            0


                                                                           -10


                                                                           -20
                                                                                 0   0.1    0.2      0.3    0.4    0.5   0.6    0.7    0.8     0.9     1
                                                                                                  Normalized Frequency ( rad/sample)



      >> num=[1 1.1];
                                                                            0




                                                Phase (degrees)
                                                                           -50


      >> den=[1 0 -0.1];                                                  -100



      >> Fs=8000;
                                                                          -150

                                                                          -200

      >> freqz(num,den)
                                                                                 0   0.1    0.2      0.3    0.4    0.5   0.6    0.7    0.8     0.9     1
                                                                                                  Normalized Frequency ( rad/sample)



      >>figure,freqz(num,den,1024,Fs);                                     10



      >> f=[0,200,400];


                                                      Magnitude (dB)
                                                                            0



      >> [H,F]=freqz(num,den,f,Fs);                                       -10


                                                                          -20
                                                                                0     500     1000      1500    2000    2500      3000       3500    4000
                                                                                                           Frequency (Hz)

                                                                            0
                                              Phase (degrees)
                                                                          -50

                                                                       -100

                                                                       -150

                                                                       -200
                                                                                0     500     1000      1500    2000    2500      3000       3500    4000
                                                                                                           Frequency (Hz)



http://lonely113.blogspot.com
Gráfico de Retardo de Grupo
                                        29



  Se utilizan los comandos:

                            [G,F]=grpdelay(num,den)
                            [G,F]=grpdelay(num,den,n,Fs)
                            [G,F]=grpdelay(num,den,f,Fs)

  Los argumentos son iguales a los del caso anterior.



http://lonely113.blogspot.com
Ejemplo: Continuando con el ejemplo anterior
                                    30
                                                                   12



                                                                   10




                                           Group delay (samples)
                                                                    8



                                                                    6



                                                                    4



                                                                    2



    >> [G,F]=grpdelay(num,den);                                     0
                                                                        0   0.1    0.2     0.3    0.4    0.5    0.6     0.7   0.8      0.9     1

    >> grpdelay(num,den);                                          12
                                                                                         Normalized Frequency ( rad/sample)




    >> figure,grpdelay(num,den,1024,Fs);                           10




                                           Group delay (samples)
                                                                   8



                                                                   6



                                                                   4



                                                                   2



                                                                   0
                                                                        0    500     1000      1500    2000    2500     3000        3500     4000
                                                                                                  Frequency (Hz)

http://lonely113.blogspot.com
Análisis de Polos y Ceros de Funciones de
              Transferencia
                                31


Para estudiar la estabilidad de los sistemas LTI.


  Función de transferencia:




  Ganancia polo – cero:



http://lonely113.blogspot.com
Obtención de Polos y Ceros
                                           32


  Se realiza una transformación del dominio tf al dominio zp.

                                [z,p,k]=tf2zp(num,den)

  Dónde los vectores:
         z: ceros
         p: polos
         k: ganancia de cada numerador de tf.

  De manera inversa:

                                [num,den]=zp2tf(z,p,k)

http://lonely113.blogspot.com
Ejemplo: Con el filtro implementado
anteriormente.
                                           33


                                >> num=[1 1.1];
                                >> den=[1 0 -0.1];
                                >> [z,p,k]=tf2zp(num,den)
                                z=
                                 -1.1000
                                p=
                                  0.3162
                                 -0.3162
                                k=
                                   1
                                >> [num,den]=zp2tf(z,p,k)
                                num =
                                     0 1.0000 1.1000
                                den =
                                  1.0000       0 -0.1000


http://lonely113.blogspot.com
Gráfico de Polos y Ceros
                                           34

Se utiliza el comando:
                                  zplane(z,p)

Si hay polos fuera del círculo unitario significa que el sistema es inestable.
Continuando con el ejemplo anterior:
                                                               1

                                                             0.8

                                                             0.6

                                                             0.4



                                            Imaginary Part
                                                             0.2

                          >> zplane(z,p)                       0

                                                             -0.2

                                                             -0.4

                                                             -0.6

                                                             -0.8

                                                              -1

                                                                    -1   -0.5        0      0.5   1
                                                                                Real Part


http://lonely113.blogspot.com
Uso del FVTool
                                      35


FVTool (Filter Visualization Tool) Es una herramienta que simplifica
el trabajo de estudiar el comportamiento de los filtros.

Se trata de una interfaz GUI para el análisis de filtros.




http://lonely113.blogspot.com
Llamada al FVtool
                                            36

Se llama a la herramienta con el comando:

                                   fvtool(num,den)
     Donde: num y den corresponden al filtro en estudio.
Continuando con el ejemplo anterior:




               >>fvtool(num,den)




http://lonely113.blogspot.com
Configuración de FVtool
                                37


 El eje de frecuencias por defecto no se corresponde con
 los valores correctos. Para configurarlo correctamente:

 Menú Analysis>Sampling Frecuency. En el cuadro
 Fs se introduce el valor de la frecuencia de muestreo.




http://lonely113.blogspot.com
La herramienta Fvtool permite visualizar
 diferentes respuestas del filtro en estudio
                                38



    Respuesta de Magnitud
    Respuesta de fase
    Respuestas de magnitud y fase
    Respuesta de retardo de grupo
    Respuesta de retardo de fase
    Respuesta al impulso
    Respuesta al escalón
    Gráfico de polos y ceros
    Etc


http://lonely113.blogspot.com
Ejemplo:
                                           39




                                            Respuesta al impulso




           Respuestas de Magnitud y fase




http://lonely113.blogspot.com
Visualización de Múltiples Filtros
                                     40


Es posible visualizar la respuesta de varios filtros en simultáneo.

Ejemplo:



    >> num1=[1 1];
    >> den1=[1];
    >> num2=[1 -1];
    >> den2=[1];
    >> fvtool(num1,den1,num2,den2)




http://lonely113.blogspot.com
Diseño de Filtros Digitales en Matlab
                                41



Los filtros elementales son los siguientes:




http://lonely113.blogspot.com
Diseño de Filtros IIR
                                     42

IIR: Infinite Impulse Response.




     Función de transferencia:




     Respuesta en frecuencia:



http://lonely113.blogspot.com
Tipos y Características de Filtros IIR
                                43




http://lonely113.blogspot.com
Especificaciones Para un Filtro Pasabanda
                                       44

Para el diseño de un filtro pasabanda se especifica:

   fstop1: Frecuencia stop 1.
   fpass1: Frecuencia pass 1.
   fpass2: Frecuencia pass 2.
   fstop2: Frecuencia stop 2.
   Rp: Rizado en la banda de paso en dB.
   Rs: Atenuación en la banda de supresión en dB.




http://lonely113.blogspot.com
Diseño de un Filtro Pasabanda
                                45


El diseño de filtros en Matlab se realiza con valores
normalizados. Para esto se realiza:

   Especificar Fs.
   Fnyquist=Fs/2
   Ws(1)=fstop1/Fnyquist
   Wp(1)=fpass1/Fnyquist
   Wp(2)=fpass2/Fnyquist
   Ws(2)=fstop2/Fnyquist

Dónde Ws y Wp son vectores de frecuencias normalizadas.

http://lonely113.blogspot.com
Diseño de un Filtro Butterworth
                                       46


1. Determinar el orden del filtro para las especificaciones:

                       [nB,WnB]=buttord(Wp,Ws,Rp,Rs)

      Wp, Ws, Rp y Rs corresponden a las especificaciones.
      WnB: Frecuencia a -3 dB.

2. Obtener los coeficientes del filtro.

                           [numB,denB]=butter[nB,WnB]

      En el diseño de filtros Pasabanda o rechazo de banda el orden del
      filtro resulta ser en realidad el doble del especificado por el
      comando buttord.
http://lonely113.blogspot.com
Ejemplo: Diseño de un filtro Butterworth
                                           47


        >> fstop1=1000;
        >> fpass1=1200;
        >> fpass2=2200;
        >> fstop2=2400;
        >> Rp=1;
        >> Rs=60;
        >> Fs=8000;
        >> Fnyquist=Fs/2;
        >> Ws(1)=fstop1/Fnyquist;
        >> Wp(1)=fpass1/Fnyquist;
        >> Wp(2)=fpass2/Fnyquist;
        >> Ws(2)=fstop2/Fnyquist;
        >> [nB,WnB]=buttord(Wp,Ws,Rp,Rs)
        nB =
          22
        WnB =
          0.2958 0.5551
        >>[numB,denB]=butter(nB,WnB);



http://lonely113.blogspot.com
Diseño de un Filtro Elíptico
                                         48

Se realiza un procedimiento similar al caso anterior.



         >> [nE,WnE]=ellipord(Wp,Ws,Rp,Rs)
         nE =
            6
         WnE =
           0.3000 0.5500
         >> [numE,denE]=ellip(nE,Rp,Rs,Wp);


         Se puede observar que la cantidad de
         coeficientes es mucho menor que en el
         caso de un filtro Butterworth.



http://lonely113.blogspot.com
Verificación del Diseño de Filtros
                                         49



 Con la herramienta Fvtool.

    >> fvtool(numB,denB,numE,denE)




      Se observa que ambos filtros son
      estables.




http://lonely113.blogspot.com
Ejemplo: Filtrando el archivo «tuner1.wav»
                                         50
                                                                           Espectro de xt



                                              35


                                              30


                                              25


                                              20


                                              15


                                              10


         >> [xt,fs]=wavread('tuner1');        5



         >> yt=filter(numE,denE,xt);          0
                                                   0   500   1000   1500     2000     2500   3000   3500   4000


         >> soundsc(xt,fs)                                                 Espectro de yt



         >> soundsc(yt,fs)                    10



                                              8



                                              6



                                              4



                                              2



                                              0
                                                       500   1000   1500     2000     2500   3000   3500   4000



http://lonely113.blogspot.com
Llamada a los Comandos de Diseño de
                     Filtros
                                            51

Los más usuales son los siguientes:

 Butterworth – Pasabajas

             [num,den]=butter(nB,Wn)

 Elíptico – Pasabajas

             [num,den]=ellip(nE,Rp,Rs,Wp)

 Butterworth – Pasaaltas

             [num,den]=butter(nB,Wn,’high’)

 Elíptic0 – Pasaaltas

             [num,den]=ellip(nE,Rp,Rs,Wp,’high’)

http://lonely113.blogspot.com
Diseño de Filtros FIR
                                    52


FIR: Finite Impulse Response.




     Función de transferencia:




     Respuesta en frecuencia:


http://lonely113.blogspot.com
Diseño Mediante Método de Ventanas
                                                                  53

Se multiplica la respuesta en el tiempo de un filtro ideal con una función
ventana. Truncando la respuesta ideal a un número finito de elementos.
                                  1

                                0.8

                                0.6

                                0.4

                                0.2

                                  0

                                -0.2

                                -0.4
                                   -50    -40   -30   -20   -10   0    10   20   30   40   50
        Se realiza mediante el comando:

                                         num=fir1(n,Wp)
        Dónde:
                     n: Orden del filtro
                     Wp: Vector que contiene las frecuencias de corte. Si sólo tiene
                     un elemento se obtiene un filtro pasabajas y si contiene dos
                     elementos se obtiene un filtro pasabanda.

http://lonely113.blogspot.com
Ejemplo:
                                54


Se diseña un filtro mediante el método de ventanas para las
siguientes especificaciones:


    Fs=8000 Hz
    fpass1=2200 Hz
    fpass2=3200 Hz
    Rp=1 dB
    Rs=60 dB
    Orden=127




http://lonely113.blogspot.com
Ejemplo:
                                55



>> Fs=8000;
>> Fnyquist=Fs/2;
>> fpass1=2200;
>> fpass2=3200;
>> Rp=1;
>> Rs=60;
>> Wp(1)=fpass1/Fnyquist;
>> Wp(2)=fpass2/Fnyquist;
>> n=127;
>> num=fir1(n,Wp);
>>fvtool(num)




http://lonely113.blogspot.com
Wintool Para diseño de Funciones
                       Ventana
                                           56


    >> wintool
    Initializing Window Design & Analysis Tool ..... done.




Herramienta con interfaz GUI que
permite diseñar y visualizar la
respuesta en el tiempo y en frecuencia
de varios tipos de funciones ventana.




http://lonely113.blogspot.com
Propiedades de Algunas Funciones
               Ventana de Longitud M
                                             57




                                             Mínima Atenuación
                         Anchura de Lóbulo                       Anchura de Banda
        Tipo                                   en la Banda de
                             Principal                             de Transición
                                                  Rechazo


Rectangular             2·Fs/(2·M+1)         20.9                0.46·Fs/M

Hann                    4·Fs/(2·M+1)         43.9                1.55·Fs/M

Hamming                 2·Fs/(2·M+1)         54.5                1.55·Fs/M

Blackman                6·Fs/(2·M+1)         75.3                2.78·Fs/M




http://lonely113.blogspot.com
Diseño de un Filtro FIR Utilizando una
        Ventana Diseñada Previamente
                                58


Se diseña la función ventana Blackman de longitud 128
mediante la herramienta wintool y se exporta a Matlab con
«Save to workspace». El nombre por defecto es window_1.




http://lonely113.blogspot.com
Continuación…
                                                59



                                >> numBlackman=fir1(n,Wp,window_1);
                                >>fvtool(numBlackman)




http://lonely113.blogspot.com
Ejemplo: Filtrando el archivo                                                                   de                   audio
«tuner1.wav» con el filtro diseñado.
                                            60
                                                                              Espectro de xt



                                                 35


                                                 30


                                                 25


                                                 20


                                                 15


                                                 10



          >> [xt,Fs]=wavread('tuner1');          5



          >> yt=filter(numBlackman,1,xt);        0
                                                      0   500   1000   1500     2000     2500   3000   3500   4000


          >> soundsc(xt,Fs)                                                   Espectro de yt



          >> soundsc(yt,Fs)                      6


                                                 5


                                                 4


                                                 3


                                                 2


                                                 1


                                                 0
                                                          500   1000   1500      2000    2500   3000   3500   4000


http://lonely113.blogspot.com
Diseño de Filtros Mediante la
                     Herramienta FDATool
                                   61


 Fdatool (Filter Design and Analysis tool) es una
 herramienta con interfaz GUI para el diseño de filtros
 digitales.



                      >> fdatool




http://lonely113.blogspot.com
Diseño de un Filtro usando FDATool
                                       62

 Se diseñará un filtro pasaaltas con las siguientes especificaciones:

     Pasaaltas
     Tipo IIR – Elíptico
     Mínimo orden posible
     Fs=8000 Hz
     Fstop=2800 Hz
     Fpass=3200 Hz
     Rs=60 dB
     Rp=1 dB

 Se introducen todas estas
 Especificaciones en la
 herramienta y un clic en
 Design Filter.

http://lonely113.blogspot.com
Exportación al Área de Trabajo
                                         63

Se realiza el siguiente procedimiento:

1.     Clic derecho en «Structure» en el campo «Current filter
     information» y en seguida se escoge «convert to single section».

2. Menú File>Export… Se le da nombres al numerador y denominador del
  filtro. Luego clic en Export.




http://lonely113.blogspot.com
Ejemplo: Filtrando el archivo de audio
«tuner1.Wav»
                                       64
                                                                         Espectro de xt



                                            35


                                            30


                                            25


                                            20


                                            15


                                            10



       >> [xt,Fs]=wavread('tuner1');         5



       >> yt=filter(numHp,denHp,xt);         0
                                                 0   500   1000   1500     2000     2500    3000    3500    4000



       >> soundsc(xt)
                                                                         Espectro de yt




       >> soundsc(yt)                       1.2


                                             1


                                            0.8


                                            0.6


                                            0.4


                                            0.2


                                             0
                                                     500   1000   1500      2000     2500    3000    3500     4000



http://lonely113.blogspot.com
http://lonely113.blogspot.com   65

Más contenido relacionado

La actualidad más candente

Modulacion y frecuenca comunicacion analogicas 2
Modulacion y frecuenca  comunicacion analogicas 2Modulacion y frecuenca  comunicacion analogicas 2
Modulacion y frecuenca comunicacion analogicas 2Velmuz Buzz
 
6. AM y FM Modulación de amplitud y de frecuencia
6. AM y FM Modulación de amplitud y de frecuencia6. AM y FM Modulación de amplitud y de frecuencia
6. AM y FM Modulación de amplitud y de frecuenciaEdison Coimbra G.
 
Muestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabMuestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabmarco calderon layme
 
Analisis circuitos eléctricos primer y segundo orden
Analisis circuitos eléctricos primer y segundo ordenAnalisis circuitos eléctricos primer y segundo orden
Analisis circuitos eléctricos primer y segundo ordenUniversidad Nacional de Loja
 
2.Datos y señales en comunicaciones electrónicas
2.Datos y señales en comunicaciones electrónicas2.Datos y señales en comunicaciones electrónicas
2.Datos y señales en comunicaciones electrónicasEdison Coimbra G.
 
10 transformada fourier
10 transformada fourier10 transformada fourier
10 transformada fourierAlex Jjavier
 
Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno SANTIAGO PABLO ALBERTO
 
Sistemas Lineales (Señales y sistemas)
Sistemas Lineales (Señales y sistemas)Sistemas Lineales (Señales y sistemas)
Sistemas Lineales (Señales y sistemas)Julio Ruano
 
Lugar geometrico de las raices
Lugar geometrico de las raicesLugar geometrico de las raices
Lugar geometrico de las raicesIvan Salazar C
 
Lecture 15 probabilidad de error y ber en señales bandabase binaria
Lecture 15 probabilidad de error y ber en señales bandabase binariaLecture 15 probabilidad de error y ber en señales bandabase binaria
Lecture 15 probabilidad de error y ber en señales bandabase binarianica2009
 
correlacion-de-senales
correlacion-de-senalescorrelacion-de-senales
correlacion-de-senalescrico89
 
Serie de Fourier
Serie de FourierSerie de Fourier
Serie de FourierNhynoska
 

La actualidad más candente (20)

Modulacion y frecuenca comunicacion analogicas 2
Modulacion y frecuenca  comunicacion analogicas 2Modulacion y frecuenca  comunicacion analogicas 2
Modulacion y frecuenca comunicacion analogicas 2
 
6. AM y FM Modulación de amplitud y de frecuencia
6. AM y FM Modulación de amplitud y de frecuencia6. AM y FM Modulación de amplitud y de frecuencia
6. AM y FM Modulación de amplitud y de frecuencia
 
Señales y sistemas
Señales y sistemasSeñales y sistemas
Señales y sistemas
 
Sa fourier con matlab
Sa fourier con matlabSa fourier con matlab
Sa fourier con matlab
 
Muestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabMuestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLab
 
Analisis circuitos eléctricos primer y segundo orden
Analisis circuitos eléctricos primer y segundo ordenAnalisis circuitos eléctricos primer y segundo orden
Analisis circuitos eléctricos primer y segundo orden
 
2.Datos y señales en comunicaciones electrónicas
2.Datos y señales en comunicaciones electrónicas2.Datos y señales en comunicaciones electrónicas
2.Datos y señales en comunicaciones electrónicas
 
10 transformada fourier
10 transformada fourier10 transformada fourier
10 transformada fourier
 
Ganancia, AtenuacióN Y Decibeles
Ganancia, AtenuacióN Y DecibelesGanancia, AtenuacióN Y Decibeles
Ganancia, AtenuacióN Y Decibeles
 
Diagramas de bode
Diagramas de bodeDiagramas de bode
Diagramas de bode
 
Final1 tomasi
Final1 tomasiFinal1 tomasi
Final1 tomasi
 
Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno
 
Sistemas Lineales (Señales y sistemas)
Sistemas Lineales (Señales y sistemas)Sistemas Lineales (Señales y sistemas)
Sistemas Lineales (Señales y sistemas)
 
Señal escalón señlales
Señal escalón señlales Señal escalón señlales
Señal escalón señlales
 
Lugar geometrico de las raices
Lugar geometrico de las raicesLugar geometrico de las raices
Lugar geometrico de las raices
 
Lecture 15 probabilidad de error y ber en señales bandabase binaria
Lecture 15 probabilidad de error y ber en señales bandabase binariaLecture 15 probabilidad de error y ber en señales bandabase binaria
Lecture 15 probabilidad de error y ber en señales bandabase binaria
 
Transistor BJT
Transistor BJTTransistor BJT
Transistor BJT
 
correlacion-de-senales
correlacion-de-senalescorrelacion-de-senales
correlacion-de-senales
 
Modulacion AM
Modulacion AMModulacion AM
Modulacion AM
 
Serie de Fourier
Serie de FourierSerie de Fourier
Serie de Fourier
 

Destacado

Mat lab manipulación de señales de audio
Mat lab manipulación de señales de audioMat lab manipulación de señales de audio
Mat lab manipulación de señales de audioRick P
 
filtro FIR pasabanda con MATLAB
filtro FIR pasabanda con MATLABfiltro FIR pasabanda con MATLAB
filtro FIR pasabanda con MATLABchrisleoflg
 
Trabajo dsp Filtro de Butterworth
Trabajo dsp Filtro de Butterworth Trabajo dsp Filtro de Butterworth
Trabajo dsp Filtro de Butterworth Cristian Zapata
 
Analisis espectral en MATLAB
Analisis espectral en MATLABAnalisis espectral en MATLAB
Analisis espectral en MATLABABEL170
 
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLABPROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLABINFOVIC
 
Imagen Filtrado Frecuencial
Imagen Filtrado FrecuencialImagen Filtrado Frecuencial
Imagen Filtrado FrecuencialOmar Sanchez
 
Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)morones.om
 
Utp pds_s_lab4_procesamiento de señales con mat_lab i
 Utp pds_s_lab4_procesamiento de señales con mat_lab i Utp pds_s_lab4_procesamiento de señales con mat_lab i
Utp pds_s_lab4_procesamiento de señales con mat_lab ijcbenitezp
 
Analisis Espectral Usando Matlab
Analisis Espectral Usando MatlabAnalisis Espectral Usando Matlab
Analisis Espectral Usando Matlabkennymanrique
 
Analisis de fourier para señales
Analisis de fourier para señalesAnalisis de fourier para señales
Analisis de fourier para señalesdoc digitus
 

Destacado (14)

Mat lab manipulación de señales de audio
Mat lab manipulación de señales de audioMat lab manipulación de señales de audio
Mat lab manipulación de señales de audio
 
filtro FIR pasabanda con MATLAB
filtro FIR pasabanda con MATLABfiltro FIR pasabanda con MATLAB
filtro FIR pasabanda con MATLAB
 
Trabajo dsp Filtro de Butterworth
Trabajo dsp Filtro de Butterworth Trabajo dsp Filtro de Butterworth
Trabajo dsp Filtro de Butterworth
 
Analisis espectral en MATLAB
Analisis espectral en MATLABAnalisis espectral en MATLAB
Analisis espectral en MATLAB
 
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLABPROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
 
Imagen Filtrado Frecuencial
Imagen Filtrado FrecuencialImagen Filtrado Frecuencial
Imagen Filtrado Frecuencial
 
Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)
 
Utp pds_s_lab4_procesamiento de señales con mat_lab i
 Utp pds_s_lab4_procesamiento de señales con mat_lab i Utp pds_s_lab4_procesamiento de señales con mat_lab i
Utp pds_s_lab4_procesamiento de señales con mat_lab i
 
Analisis Espectral Usando Matlab
Analisis Espectral Usando MatlabAnalisis Espectral Usando Matlab
Analisis Espectral Usando Matlab
 
FILTRO IRR MATLAB
FILTRO IRR MATLABFILTRO IRR MATLAB
FILTRO IRR MATLAB
 
Razonesafines
RazonesafinesRazonesafines
Razonesafines
 
Analisis de fourier para señales
Analisis de fourier para señalesAnalisis de fourier para señales
Analisis de fourier para señales
 
Funciones exponenciales
Funciones exponencialesFunciones exponenciales
Funciones exponenciales
 
Problemario funciones
Problemario funcionesProblemario funciones
Problemario funciones
 

Similar a Procesamiento digital de señales con matlab

PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB1.pptx
PROCESAMIENTO DIGITAL DE SEÑALES  CON MATLAB1.pptxPROCESAMIENTO DIGITAL DE SEÑALES  CON MATLAB1.pptx
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB1.pptxandreacarolinaromero5
 
2 epn señales y efectos falta con y sin gui
2 epn señales y efectos falta con y sin gui2 epn señales y efectos falta con y sin gui
2 epn señales y efectos falta con y sin guiRafael Medina Velasco
 
Lab 03 - Análisis de Señales - UNTECS
Lab 03 - Análisis de Señales - UNTECSLab 03 - Análisis de Señales - UNTECS
Lab 03 - Análisis de Señales - UNTECSIng. Electrónica xD
 
Lab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECSLab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECSIng. Electrónica xD
 
boletin_problemas_vidraciones.pdf
boletin_problemas_vidraciones.pdfboletin_problemas_vidraciones.pdf
boletin_problemas_vidraciones.pdfloganperezguzman
 
Presnetacion unidad 2 mat complementario
Presnetacion unidad 2 mat complementarioPresnetacion unidad 2 mat complementario
Presnetacion unidad 2 mat complementarioroafamilia
 
Lab 02 - Análisis de señales - UNTECS
Lab 02 - Análisis de señales - UNTECSLab 02 - Análisis de señales - UNTECS
Lab 02 - Análisis de señales - UNTECSIng. Electrónica xD
 
10.funciones elementales
10.funciones elementales10.funciones elementales
10.funciones elementalesfabiancurso
 
Analisis de-series-temporales
Analisis de-series-temporalesAnalisis de-series-temporales
Analisis de-series-temporalesenriqueorlando
 

Similar a Procesamiento digital de señales con matlab (15)

PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB1.pptx
PROCESAMIENTO DIGITAL DE SEÑALES  CON MATLAB1.pptxPROCESAMIENTO DIGITAL DE SEÑALES  CON MATLAB1.pptx
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB1.pptx
 
Practica1m
Practica1mPractica1m
Practica1m
 
2 epn señales y efectos falta con y sin gui
2 epn señales y efectos falta con y sin gui2 epn señales y efectos falta con y sin gui
2 epn señales y efectos falta con y sin gui
 
Lab 03 - Análisis de Señales - UNTECS
Lab 03 - Análisis de Señales - UNTECSLab 03 - Análisis de Señales - UNTECS
Lab 03 - Análisis de Señales - UNTECS
 
Lab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECSLab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECS
 
boletin_problemas_vidraciones.pdf
boletin_problemas_vidraciones.pdfboletin_problemas_vidraciones.pdf
boletin_problemas_vidraciones.pdf
 
Presnetacion unidad 2 mat complementario
Presnetacion unidad 2 mat complementarioPresnetacion unidad 2 mat complementario
Presnetacion unidad 2 mat complementario
 
Clase 03-matlab
Clase 03-matlabClase 03-matlab
Clase 03-matlab
 
Lab 02 - Análisis de señales - UNTECS
Lab 02 - Análisis de señales - UNTECSLab 02 - Análisis de señales - UNTECS
Lab 02 - Análisis de señales - UNTECS
 
P5pds
P5pdsP5pds
P5pds
 
6 curvas
6 curvas6 curvas
6 curvas
 
Curvas
CurvasCurvas
Curvas
 
6 curvas
6 curvas6 curvas
6 curvas
 
10.funciones elementales
10.funciones elementales10.funciones elementales
10.funciones elementales
 
Analisis de-series-temporales
Analisis de-series-temporalesAnalisis de-series-temporales
Analisis de-series-temporales
 

Más de Percy Julio Chambi Pacco (9)

Control PID de un levitador magnético
Control PID de un levitador magnéticoControl PID de un levitador magnético
Control PID de un levitador magnético
 
GPRS - EDGE
GPRS - EDGEGPRS - EDGE
GPRS - EDGE
 
Diseño de antena microstrip
Diseño de antena microstripDiseño de antena microstrip
Diseño de antena microstrip
 
Sensores Inductivos
Sensores InductivosSensores Inductivos
Sensores Inductivos
 
Sensores inductivos
Sensores inductivosSensores inductivos
Sensores inductivos
 
Programación del ATmega8
Programación del ATmega8Programación del ATmega8
Programación del ATmega8
 
Programación PIC16F84A
Programación PIC16F84AProgramación PIC16F84A
Programación PIC16F84A
 
Programación del PIC18F2550
Programación del PIC18F2550Programación del PIC18F2550
Programación del PIC18F2550
 
Procesamiento digital de imágenes con matlab
Procesamiento digital de imágenes con matlabProcesamiento digital de imágenes con matlab
Procesamiento digital de imágenes con matlab
 

Último

DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 

Último (20)

DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 

Procesamiento digital de señales con matlab

  • 1. PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB 1 http://lonely113.blogspot.com
  • 2. Generación y Gráfica de Señales 2 Sea una señal: Dónde: A: Amplitud Fo: Frecuencia phi: Fase La representación de esta señal en tiempo discreto está dada por: Donde: Fs=1/Ts: Frecuencia de muestreo. La gráfica de señales discretas se realiza con el comando: stem(t,xt) http://lonely113.blogspot.com
  • 3. Ejemplo: Generación y gráfica de una señal muestreada a 8 KHz. 3 Se genera una señal sinusoidal de 400 Hz y amplitud 2. 2 1.5 1 >> F0=400; 0.5 >> A=2; 0 >> phi=pi/4; >> Fs=8000; -0.5 >> Ts=1/Fs; -1 >> t=-0.002:Ts:0.002; -1.5 >> xt=A*sin(2*pi*F0*t+phi); >> stem(t,xt) -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -3 x 10 http://lonely113.blogspot.com
  • 4. Ejemplo: Señales no sinusoidales periódicas. 4 Generación de una señal diente de sierra. 1 >> F0=400; 0.8 >> A=2; 0.6 >> Fs=8000; 0.4 >> Ts=1/Fs; >> t=-0.002:Ts:0.002; 0.2 >> xt=sawtooth(2*pi*F0*t); x(t) 0 >> stem(t,xt) -0.2 >> hold on -0.4 >> plot(t,xt) -0.6 >> xlabel('time (s)'); -0.8 >> ylabel('x(t)'); -1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 time (s) -3 x 10 http://lonely113.blogspot.com
  • 5. Ejemplo: Señal aperiódica. 5 Muestreo de la señal Sinc. 2 >> F0=400; 1.5 >> A=2; >> Fs=8000; 1 >> Ts=1/Fs; >> t=-0.003:Ts:0.003; 0.5 >> xt=A*sinc(2*F0*t); >> stem(t,xt) 0 -0.5 -3 -2 -1 0 1 2 3 -3 x 10 http://lonely113.blogspot.com
  • 6. Generación de Ruido 6 Se utilizan los comandos: Y=rand(rows,cols): Genera ruido con distribución uniforme. Y=randn(rows,cols):Genera ruido Gaussiano. Dónde: rows, cols: Indica la dimensión de la matriz de ruido aleatorio a generar. Para observar el histograma se utiliza el comando: hist(y,m): Representa el ruido "y" mediante m "contenedores". http://lonely113.blogspot.com
  • 7. Ejemplo: Generación y Representación de Ruido Gaussiano 7 4 x 10 4 3.5 3 >> Gnoise=randn(1,1e6); 2.5 >> hist(Gnoise,100); 2 1.5 1 0.5 0 -6 -4 -2 0 2 4 6 http://lonely113.blogspot.com
  • 8. Submuestreo y Sobremuestro 8  Submuestreo xtDown=downsample(xt,N) La señal xDown tendrá una frecuencia de muestro Fs/N. Submuestrear la señal significa conservar cada N-ésima muestra y eliminar las muestras restantes.  Sobremuestreo xtUp=upsample(xt,N) La señal xUp tendrá una frecuencia de muestreo N·Fs. Sobremuestrear la señal significa introducir N-1 ceros entre muestras consecutivas. http://lonely113.blogspot.com
  • 9. Ejemplo: Submuestreo. 9 Se submuestrea la señal sinusoidal generada anteriormente (Fs=8 KHz) para obtener una señal xtDown muestreada a 2 KHz. 2 >> F0=400; >> A=2; 1.5 >> phi=pi/4; 1 >> Fs=8000; >> Ts=1/Fs; 0.5 >> t=-0.002:Ts:0.002; 0 >> xt=A*sin(2*pi*F0*t+phi); >> stem(t,xt) -0.5 >>xtDown=downsample(xt,4); -1 >> tDown=downsample(t,4); -1.5 >> hold on >> stem(tDown,xtDown,'r'); -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -3 x 10 http://lonely113.blogspot.com
  • 10. Procesamiento de Audio 10 Para escuchar un tono de señal en Matlab se utiliza el comando: soundsc(xt,Fs) Donde: xt: Tono a escuchar. Fs: Frecuencia de muestreo. Por ejemplo: Para escuchar la señal sinusoidal generada anteriormente: >> soundsc(xt,Fs) http://lonely113.blogspot.com
  • 11. Grabación de Audio 11 Para grabar una señal audible mediante la tarjeta de sonido y un micrófono se utilizan los siguientes comandos: r=audiorecorder: Crea un objeto de grabación. record(r): Inicio de grabación. pause(r) ,stop(r): Pausa y finalización. play(r): Escuchar la grabación y=getaudiodata(r): Para obtener la matriz que contiene las muestras de la señal audible. Ésta es la señal que se puede procesar. Fs=r.SampleRate: Para obtener la frecuencia de muestreo. http://lonely113.blogspot.com
  • 12. Ejemplo: 12 >> r=audiorecorder; >> record(r) >> pause(r) >> record(r) >> stop(r) >> play(r) >> y=getaudiodata(r); >> Fs=r.SampleRate Fs = 8000 http://lonely113.blogspot.com
  • 13. Guardar como Archivo de Audio 13 Para guardar la señal de audio que se acaba de grabar se utiliza el comando: wavwrite(y,Fs,’grabacion’) Se guarda en formato wav en la carpeta de trabajo de Matlab. >> wavwrite(y,Fs,'grabacion'); >> which grabacion.wav C:UsersCasaDocumentsMATLAB grabacion.wav http://lonely113.blogspot.com
  • 14. Leer un Archivo de Audio 14 Para leer un archivo de audio en formato wav que se encuentra en la carpeta de trabajo de Matlab se utiliza la función: [xt,Fs]=wavread(‘nombre_de_archivo’) Se guardan las muestras y la frecuencia de muestro en xt y Fs respectivamente. >> [xt,Fs]=wavread('tuner1'); http://lonely113.blogspot.com
  • 15. Análisis en Frecuencia 15 Transformada Rápida de Fourier: xF=fft(xt,nFFT) Donde: nFFT=número de puntos a representar. Comandos adicionales: magxF=abs(xF): Magnitud de la fft de xt. phasexF=angle(xF): Fase de la fft de xt. phasexF=unwrap(phasexF): Para obtener la apropiada información de fase. http://lonely113.blogspot.com
  • 16. Ejemplo: Obtención de La FFT de la Función Compuerta. 16 Magnitud de xF 8 >> Fs=2000; 7 6 >> Ts=1/Fs; 5 >> t=-0.005:Ts:0.005; 4 >> xt=rectpuls(t,0.004); 3 >> nFFT=64; 2 1 >> xF=fft(xt,nFFT); 0 0 10 20 30 40 50 60 70 >> magxF=abs(xF); 0 Fase de xF >> phasexF=angle(xF); -5 >> phasexF=unwrap(phasexF); -10 >> figure,stem(magxF); -15 >>title(‘Magnitud de xF’) -20 -25 >> figure,stem(phasexF) -30 >>title(‘Fase de xF’) -35 -40 0 10 20 30 40 50 60 70 http://lonely113.blogspot.com
  • 17. Ejemplo: Obtención de La FFT de la Función Compuerta. 17 Magnitud de xF 8 El comando fft obtiene la transformada 7 de Fourier en la región comprendida entre 6 0 y la frecuencia de muestro Fs. Se 5 requiere desplazar una parte de la gráfica 4 para obtener la región negativa de la 3 transformada de Fourier. 2 1 0 >> magxF=fftshift(magxF); 0 10 20 30 40 50 60 70 Fase de xF >> phasexF=fftshift(phasexF); 0 -5 >> stem(magxF); -10 >>title(‘Magnitud de xF’) -15 >> figure,stem(phasexF); -20 >>title(‘Fase de xF’) -25 -30 -35 -40 0 10 20 30 40 50 60 70 http://lonely113.blogspot.com
  • 18. Ejemplo: Obtención de La FFT de la Función Compuerta. 18 Magnitud de xF 8 Los gráficos anteriores no 7 6 presentan el eje de frecuencia 5 correcto. Se debe crear el vector 4 de eje de frecuencias para 3 graficar correctamente. 2 1 0 >> f_esp=Fs/nFFT; -1000 -800 -600 -400 -200 0 200 400 600 800 1000 Fase de xF 0 >> fNyquist=Fs/2; -5 >> f_inicio=-fNyquist; -10 >> f_fin=fNyquist-f_esp; -15 >> f_eje=f_inicio:f_esp:f_fin; -20 >> stem(f_eje,magxF) -25 >> figure,stem(f_eje,phasexF) -30 -35 -40 -1000 -800 -600 -400 -200 0 200 400 600 800 1000 http://lonely113.blogspot.com
  • 19. Sistemas LTI 19 Todos los sistemas LTI pueden ser analizados como Filtros LTI discretos. http://lonely113.blogspot.com
  • 20. Ecuación de Diferencias Para Filtros Causales 20 Dónde: x[n]: Entrada y[n]: Salida En el dominio Z Función de transferencia en el dominio Z http://lonely113.blogspot.com
  • 21. Representación de Filtros en Matlab 21 Para representar la función de transferencia del filtro: en Matlab: >> num=[1 1.1]; >> den=[1 0 -0.1]; http://lonely113.blogspot.com
  • 22. Respuesta al Impulso y Convolución 22 Para obtener la respuesta al impulso se utilizan los comandos: Impz(num,den): Grafica la respuesta al impulso del filtro. Por defecto se considera Fs=1 Hz y grafica las 10 primeras muestras. Impz(num,den,n,Fs): Grafica la respuesta al impulso. Se especifica el número de muestras a graficar y la frecuencia de muestro utilizada. [h,t]= Impz(num,den,n,Fs): Guarda los vectores de magnitud y eje de tiempo en h y t respectivamente. http://lonely113.blogspot.com
  • 23. Ejemplo: Graficando la respuesta al impulso del filtro creado anteriormente. 23 Impulse Response 1.4 1.2 1 Amplitude 0.8 0.6 >> num=[1 1.1]; 0.4 >> den=[1 0 -0.1]; 0.2 >> impz(num,den); 0 0 1 2 3 4 5 6 7 n (samples) >> Fs=8000; 1.4 >> [h,t]=impz(num,den,32,Fs); 1.2 >> figure,stem(t,h) 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 3.5 4 -3 x 10 http://lonely113.blogspot.com
  • 24. Señal de Salida del Filtro Para una Señal de Entrada 24 Se realiza mediante los comandos: y=conv(h,x) Donde: h es la respuesta al impulso del filtro. x es la señal de entrada. y=filter(num,den,x) Donde: x es la señal de entrada. http://lonely113.blogspot.com
  • 25. Ejemplo: 25 Espectro de xt Se obtendrá la señal de salida 35 30 del filtro para una señal de 25 entrada audible: 20 15 10 5 >> [xt,Fs]=wavread('tuner1'); 0 0 500 1000 1500 2000 2500 3000 3500 4000 >> [h,t]=impz(num,den,10,Fs); Espectro de y2 >> y1=convn(h,xt); 80 >> soundsc(xt,Fs); 70 >> soundsc(y1,Fs); 60 >> y2=filter(num,den,xt); 50 40 >> soundsc(xt,Fs); 30 >> soundsc(y2,Fs); 20 10 0 500 1000 1500 2000 2500 3000 3500 4000 http://lonely113.blogspot.com
  • 26. Análisis de Filtros en el Dominio de la Frecuencia 26 Relación Entrada – Salida de un filtro en el dominio de la frecuencia. Respuesta de magnitud: Respuesta de fase: Retardo de grupo: http://lonely113.blogspot.com
  • 27. Respuesta de Magnitud y Fase de Filtros 27 Se utilizan los comandos: [H,F]=freqz(num,den): Por defecto asume 512 puntos equidistantemente espaciados y el eje de frecuencias es normalizada. [H,F]=freqz(num,den,n,Fs): Donde se especifica número de puntos n y la frecuencia de muestreo Fs. [H,F]=freqz(num,den,f,Fs): Donde f es un vector en el que se especifica las frecuencias particulares en las que se obtendrá la respuesta de magnitud y fase. http://lonely113.blogspot.com
  • 28. Ejemplo: Respuesta en frecuencia del filtro creado anteriormente. 28 10 Magnitude (dB) 0 -10 -20 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Normalized Frequency ( rad/sample) >> num=[1 1.1]; 0 Phase (degrees) -50 >> den=[1 0 -0.1]; -100 >> Fs=8000; -150 -200 >> freqz(num,den) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Normalized Frequency ( rad/sample) >>figure,freqz(num,den,1024,Fs); 10 >> f=[0,200,400]; Magnitude (dB) 0 >> [H,F]=freqz(num,den,f,Fs); -10 -20 0 500 1000 1500 2000 2500 3000 3500 4000 Frequency (Hz) 0 Phase (degrees) -50 -100 -150 -200 0 500 1000 1500 2000 2500 3000 3500 4000 Frequency (Hz) http://lonely113.blogspot.com
  • 29. Gráfico de Retardo de Grupo 29 Se utilizan los comandos: [G,F]=grpdelay(num,den) [G,F]=grpdelay(num,den,n,Fs) [G,F]=grpdelay(num,den,f,Fs) Los argumentos son iguales a los del caso anterior. http://lonely113.blogspot.com
  • 30. Ejemplo: Continuando con el ejemplo anterior 30 12 10 Group delay (samples) 8 6 4 2 >> [G,F]=grpdelay(num,den); 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 >> grpdelay(num,den); 12 Normalized Frequency ( rad/sample) >> figure,grpdelay(num,den,1024,Fs); 10 Group delay (samples) 8 6 4 2 0 0 500 1000 1500 2000 2500 3000 3500 4000 Frequency (Hz) http://lonely113.blogspot.com
  • 31. Análisis de Polos y Ceros de Funciones de Transferencia 31 Para estudiar la estabilidad de los sistemas LTI. Función de transferencia: Ganancia polo – cero: http://lonely113.blogspot.com
  • 32. Obtención de Polos y Ceros 32 Se realiza una transformación del dominio tf al dominio zp. [z,p,k]=tf2zp(num,den) Dónde los vectores: z: ceros p: polos k: ganancia de cada numerador de tf. De manera inversa: [num,den]=zp2tf(z,p,k) http://lonely113.blogspot.com
  • 33. Ejemplo: Con el filtro implementado anteriormente. 33 >> num=[1 1.1]; >> den=[1 0 -0.1]; >> [z,p,k]=tf2zp(num,den) z= -1.1000 p= 0.3162 -0.3162 k= 1 >> [num,den]=zp2tf(z,p,k) num = 0 1.0000 1.1000 den = 1.0000 0 -0.1000 http://lonely113.blogspot.com
  • 34. Gráfico de Polos y Ceros 34 Se utiliza el comando: zplane(z,p) Si hay polos fuera del círculo unitario significa que el sistema es inestable. Continuando con el ejemplo anterior: 1 0.8 0.6 0.4 Imaginary Part 0.2 >> zplane(z,p) 0 -0.2 -0.4 -0.6 -0.8 -1 -1 -0.5 0 0.5 1 Real Part http://lonely113.blogspot.com
  • 35. Uso del FVTool 35 FVTool (Filter Visualization Tool) Es una herramienta que simplifica el trabajo de estudiar el comportamiento de los filtros. Se trata de una interfaz GUI para el análisis de filtros. http://lonely113.blogspot.com
  • 36. Llamada al FVtool 36 Se llama a la herramienta con el comando: fvtool(num,den) Donde: num y den corresponden al filtro en estudio. Continuando con el ejemplo anterior: >>fvtool(num,den) http://lonely113.blogspot.com
  • 37. Configuración de FVtool 37 El eje de frecuencias por defecto no se corresponde con los valores correctos. Para configurarlo correctamente: Menú Analysis>Sampling Frecuency. En el cuadro Fs se introduce el valor de la frecuencia de muestreo. http://lonely113.blogspot.com
  • 38. La herramienta Fvtool permite visualizar diferentes respuestas del filtro en estudio 38  Respuesta de Magnitud  Respuesta de fase  Respuestas de magnitud y fase  Respuesta de retardo de grupo  Respuesta de retardo de fase  Respuesta al impulso  Respuesta al escalón  Gráfico de polos y ceros  Etc http://lonely113.blogspot.com
  • 39. Ejemplo: 39 Respuesta al impulso Respuestas de Magnitud y fase http://lonely113.blogspot.com
  • 40. Visualización de Múltiples Filtros 40 Es posible visualizar la respuesta de varios filtros en simultáneo. Ejemplo: >> num1=[1 1]; >> den1=[1]; >> num2=[1 -1]; >> den2=[1]; >> fvtool(num1,den1,num2,den2) http://lonely113.blogspot.com
  • 41. Diseño de Filtros Digitales en Matlab 41 Los filtros elementales son los siguientes: http://lonely113.blogspot.com
  • 42. Diseño de Filtros IIR 42 IIR: Infinite Impulse Response. Función de transferencia: Respuesta en frecuencia: http://lonely113.blogspot.com
  • 43. Tipos y Características de Filtros IIR 43 http://lonely113.blogspot.com
  • 44. Especificaciones Para un Filtro Pasabanda 44 Para el diseño de un filtro pasabanda se especifica:  fstop1: Frecuencia stop 1.  fpass1: Frecuencia pass 1.  fpass2: Frecuencia pass 2.  fstop2: Frecuencia stop 2.  Rp: Rizado en la banda de paso en dB.  Rs: Atenuación en la banda de supresión en dB. http://lonely113.blogspot.com
  • 45. Diseño de un Filtro Pasabanda 45 El diseño de filtros en Matlab se realiza con valores normalizados. Para esto se realiza:  Especificar Fs.  Fnyquist=Fs/2  Ws(1)=fstop1/Fnyquist  Wp(1)=fpass1/Fnyquist  Wp(2)=fpass2/Fnyquist  Ws(2)=fstop2/Fnyquist Dónde Ws y Wp son vectores de frecuencias normalizadas. http://lonely113.blogspot.com
  • 46. Diseño de un Filtro Butterworth 46 1. Determinar el orden del filtro para las especificaciones: [nB,WnB]=buttord(Wp,Ws,Rp,Rs) Wp, Ws, Rp y Rs corresponden a las especificaciones. WnB: Frecuencia a -3 dB. 2. Obtener los coeficientes del filtro. [numB,denB]=butter[nB,WnB] En el diseño de filtros Pasabanda o rechazo de banda el orden del filtro resulta ser en realidad el doble del especificado por el comando buttord. http://lonely113.blogspot.com
  • 47. Ejemplo: Diseño de un filtro Butterworth 47 >> fstop1=1000; >> fpass1=1200; >> fpass2=2200; >> fstop2=2400; >> Rp=1; >> Rs=60; >> Fs=8000; >> Fnyquist=Fs/2; >> Ws(1)=fstop1/Fnyquist; >> Wp(1)=fpass1/Fnyquist; >> Wp(2)=fpass2/Fnyquist; >> Ws(2)=fstop2/Fnyquist; >> [nB,WnB]=buttord(Wp,Ws,Rp,Rs) nB = 22 WnB = 0.2958 0.5551 >>[numB,denB]=butter(nB,WnB); http://lonely113.blogspot.com
  • 48. Diseño de un Filtro Elíptico 48 Se realiza un procedimiento similar al caso anterior. >> [nE,WnE]=ellipord(Wp,Ws,Rp,Rs) nE = 6 WnE = 0.3000 0.5500 >> [numE,denE]=ellip(nE,Rp,Rs,Wp); Se puede observar que la cantidad de coeficientes es mucho menor que en el caso de un filtro Butterworth. http://lonely113.blogspot.com
  • 49. Verificación del Diseño de Filtros 49 Con la herramienta Fvtool. >> fvtool(numB,denB,numE,denE) Se observa que ambos filtros son estables. http://lonely113.blogspot.com
  • 50. Ejemplo: Filtrando el archivo «tuner1.wav» 50 Espectro de xt 35 30 25 20 15 10 >> [xt,fs]=wavread('tuner1'); 5 >> yt=filter(numE,denE,xt); 0 0 500 1000 1500 2000 2500 3000 3500 4000 >> soundsc(xt,fs) Espectro de yt >> soundsc(yt,fs) 10 8 6 4 2 0 500 1000 1500 2000 2500 3000 3500 4000 http://lonely113.blogspot.com
  • 51. Llamada a los Comandos de Diseño de Filtros 51 Los más usuales son los siguientes:  Butterworth – Pasabajas [num,den]=butter(nB,Wn)  Elíptico – Pasabajas [num,den]=ellip(nE,Rp,Rs,Wp)  Butterworth – Pasaaltas [num,den]=butter(nB,Wn,’high’)  Elíptic0 – Pasaaltas [num,den]=ellip(nE,Rp,Rs,Wp,’high’) http://lonely113.blogspot.com
  • 52. Diseño de Filtros FIR 52 FIR: Finite Impulse Response. Función de transferencia: Respuesta en frecuencia: http://lonely113.blogspot.com
  • 53. Diseño Mediante Método de Ventanas 53 Se multiplica la respuesta en el tiempo de un filtro ideal con una función ventana. Truncando la respuesta ideal a un número finito de elementos. 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -50 -40 -30 -20 -10 0 10 20 30 40 50 Se realiza mediante el comando: num=fir1(n,Wp) Dónde: n: Orden del filtro Wp: Vector que contiene las frecuencias de corte. Si sólo tiene un elemento se obtiene un filtro pasabajas y si contiene dos elementos se obtiene un filtro pasabanda. http://lonely113.blogspot.com
  • 54. Ejemplo: 54 Se diseña un filtro mediante el método de ventanas para las siguientes especificaciones: Fs=8000 Hz fpass1=2200 Hz fpass2=3200 Hz Rp=1 dB Rs=60 dB Orden=127 http://lonely113.blogspot.com
  • 55. Ejemplo: 55 >> Fs=8000; >> Fnyquist=Fs/2; >> fpass1=2200; >> fpass2=3200; >> Rp=1; >> Rs=60; >> Wp(1)=fpass1/Fnyquist; >> Wp(2)=fpass2/Fnyquist; >> n=127; >> num=fir1(n,Wp); >>fvtool(num) http://lonely113.blogspot.com
  • 56. Wintool Para diseño de Funciones Ventana 56 >> wintool Initializing Window Design & Analysis Tool ..... done. Herramienta con interfaz GUI que permite diseñar y visualizar la respuesta en el tiempo y en frecuencia de varios tipos de funciones ventana. http://lonely113.blogspot.com
  • 57. Propiedades de Algunas Funciones Ventana de Longitud M 57 Mínima Atenuación Anchura de Lóbulo Anchura de Banda Tipo en la Banda de Principal de Transición Rechazo Rectangular 2·Fs/(2·M+1) 20.9 0.46·Fs/M Hann 4·Fs/(2·M+1) 43.9 1.55·Fs/M Hamming 2·Fs/(2·M+1) 54.5 1.55·Fs/M Blackman 6·Fs/(2·M+1) 75.3 2.78·Fs/M http://lonely113.blogspot.com
  • 58. Diseño de un Filtro FIR Utilizando una Ventana Diseñada Previamente 58 Se diseña la función ventana Blackman de longitud 128 mediante la herramienta wintool y se exporta a Matlab con «Save to workspace». El nombre por defecto es window_1. http://lonely113.blogspot.com
  • 59. Continuación… 59 >> numBlackman=fir1(n,Wp,window_1); >>fvtool(numBlackman) http://lonely113.blogspot.com
  • 60. Ejemplo: Filtrando el archivo de audio «tuner1.wav» con el filtro diseñado. 60 Espectro de xt 35 30 25 20 15 10 >> [xt,Fs]=wavread('tuner1'); 5 >> yt=filter(numBlackman,1,xt); 0 0 500 1000 1500 2000 2500 3000 3500 4000 >> soundsc(xt,Fs) Espectro de yt >> soundsc(yt,Fs) 6 5 4 3 2 1 0 500 1000 1500 2000 2500 3000 3500 4000 http://lonely113.blogspot.com
  • 61. Diseño de Filtros Mediante la Herramienta FDATool 61 Fdatool (Filter Design and Analysis tool) es una herramienta con interfaz GUI para el diseño de filtros digitales. >> fdatool http://lonely113.blogspot.com
  • 62. Diseño de un Filtro usando FDATool 62 Se diseñará un filtro pasaaltas con las siguientes especificaciones: Pasaaltas Tipo IIR – Elíptico Mínimo orden posible Fs=8000 Hz Fstop=2800 Hz Fpass=3200 Hz Rs=60 dB Rp=1 dB Se introducen todas estas Especificaciones en la herramienta y un clic en Design Filter. http://lonely113.blogspot.com
  • 63. Exportación al Área de Trabajo 63 Se realiza el siguiente procedimiento: 1. Clic derecho en «Structure» en el campo «Current filter information» y en seguida se escoge «convert to single section». 2. Menú File>Export… Se le da nombres al numerador y denominador del filtro. Luego clic en Export. http://lonely113.blogspot.com
  • 64. Ejemplo: Filtrando el archivo de audio «tuner1.Wav» 64 Espectro de xt 35 30 25 20 15 10 >> [xt,Fs]=wavread('tuner1'); 5 >> yt=filter(numHp,denHp,xt); 0 0 500 1000 1500 2000 2500 3000 3500 4000 >> soundsc(xt) Espectro de yt >> soundsc(yt) 1.2 1 0.8 0.6 0.4 0.2 0 500 1000 1500 2000 2500 3000 3500 4000 http://lonely113.blogspot.com