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

Analisis de fourier para señales
Analisis de fourier para señalesAnalisis de fourier para señales
Analisis de fourier para señalesdoc digitus
 
Modulador y demodulador ask
Modulador y demodulador askModulador y demodulador ask
Modulador y demodulador askIsrael Chala
 
Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)Julio Daniel Ruano
 
Electrónica potencia 2
Electrónica potencia 2Electrónica potencia 2
Electrónica potencia 2JUAN AGUILAR
 
Gaussiano y ruido comunicacion analogicas
Gaussiano y ruido comunicacion analogicasGaussiano y ruido comunicacion analogicas
Gaussiano y ruido comunicacion analogicasVelmuz Buzz
 
Electronica analisis a pequeña señal fet
Electronica  analisis a pequeña señal fetElectronica  analisis a pequeña señal fet
Electronica analisis a pequeña señal fetVelmuz Buzz
 
Unidad 2 control 2 /FUNCIÓN DE TRANSFERENCIA PULSO
Unidad 2 control 2 /FUNCIÓN DE TRANSFERENCIA PULSOUnidad 2 control 2 /FUNCIÓN DE TRANSFERENCIA PULSO
Unidad 2 control 2 /FUNCIÓN DE TRANSFERENCIA PULSODavinso Gonzalez
 
Convolucion
ConvolucionConvolucion
Convolucionflojenny
 
3 2 circuitos-disparo
3 2 circuitos-disparo3 2 circuitos-disparo
3 2 circuitos-disparoAxtridf Gs
 
Sección 2.7 Correlación de señales discretas en el tiempo
Sección 2.7 Correlación de señales discretas en el tiempoSección 2.7 Correlación de señales discretas en el tiempo
Sección 2.7 Correlación de señales discretas en el tiempoJuan Palacios
 
Funciones periódicas
Funciones periódicasFunciones periódicas
Funciones periódicasErick Cruz
 
Moduladores Y Demoduladores Am
Moduladores Y Demoduladores AmModuladores Y Demoduladores Am
Moduladores Y Demoduladores AmAlberto Jimenez
 
Sistemas de comunicaciones - Práctica 04
Sistemas de comunicaciones - Práctica 04Sistemas de comunicaciones - Práctica 04
Sistemas de comunicaciones - Práctica 04Cristian Ortiz Gómez
 
DISEÑO ANALOGICO - AMPLIFICADOR DE INSTRUMENTACION INA114 Y LM741
DISEÑO ANALOGICO - AMPLIFICADOR DE INSTRUMENTACION INA114 Y LM741DISEÑO ANALOGICO - AMPLIFICADOR DE INSTRUMENTACION INA114 Y LM741
DISEÑO ANALOGICO - AMPLIFICADOR DE INSTRUMENTACION INA114 Y LM741Fernando Marcos Marcos
 

La actualidad más candente (20)

Analisis de fourier para señales
Analisis de fourier para señalesAnalisis de fourier para señales
Analisis de fourier para señales
 
Modulador y demodulador ask
Modulador y demodulador askModulador y demodulador ask
Modulador y demodulador ask
 
Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)
 
Filtros activos en general
Filtros activos en generalFiltros activos en general
Filtros activos en general
 
Electrónica potencia 2
Electrónica potencia 2Electrónica potencia 2
Electrónica potencia 2
 
Gaussiano y ruido comunicacion analogicas
Gaussiano y ruido comunicacion analogicasGaussiano y ruido comunicacion analogicas
Gaussiano y ruido comunicacion analogicas
 
El transistor jfet
El transistor jfetEl transistor jfet
El transistor jfet
 
Electronica analisis a pequeña señal fet
Electronica  analisis a pequeña señal fetElectronica  analisis a pequeña señal fet
Electronica analisis a pequeña señal fet
 
Unidad 2 control 2 /FUNCIÓN DE TRANSFERENCIA PULSO
Unidad 2 control 2 /FUNCIÓN DE TRANSFERENCIA PULSOUnidad 2 control 2 /FUNCIÓN DE TRANSFERENCIA PULSO
Unidad 2 control 2 /FUNCIÓN DE TRANSFERENCIA PULSO
 
Parametros de AM
Parametros de AMParametros de AM
Parametros de AM
 
Modulación fm y pm
Modulación fm y pmModulación fm y pm
Modulación fm y pm
 
Convolucion
ConvolucionConvolucion
Convolucion
 
3 2 circuitos-disparo
3 2 circuitos-disparo3 2 circuitos-disparo
3 2 circuitos-disparo
 
Practica0,1,2,3,4
Practica0,1,2,3,4Practica0,1,2,3,4
Practica0,1,2,3,4
 
Sección 2.7 Correlación de señales discretas en el tiempo
Sección 2.7 Correlación de señales discretas en el tiempoSección 2.7 Correlación de señales discretas en el tiempo
Sección 2.7 Correlación de señales discretas en el tiempo
 
Funciones periódicas
Funciones periódicasFunciones periódicas
Funciones periódicas
 
Moduladores Y Demoduladores Am
Moduladores Y Demoduladores AmModuladores Y Demoduladores Am
Moduladores Y Demoduladores Am
 
Fm 2014 1
Fm 2014 1Fm 2014 1
Fm 2014 1
 
Sistemas de comunicaciones - Práctica 04
Sistemas de comunicaciones - Práctica 04Sistemas de comunicaciones - Práctica 04
Sistemas de comunicaciones - Práctica 04
 
DISEÑO ANALOGICO - AMPLIFICADOR DE INSTRUMENTACION INA114 Y LM741
DISEÑO ANALOGICO - AMPLIFICADOR DE INSTRUMENTACION INA114 Y LM741DISEÑO ANALOGICO - AMPLIFICADOR DE INSTRUMENTACION INA114 Y LM741
DISEÑO ANALOGICO - AMPLIFICADOR DE INSTRUMENTACION INA114 Y LM741
 

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

Destacado (12)

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
 
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
 
Funciones exponenciales
Funciones exponencialesFunciones exponenciales
Funciones exponenciales
 
Problemario funciones
Problemario funcionesProblemario funciones
Problemario funciones
 

Similar a Procesamiento digital de señales con matlab

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

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
 
Solución ejercicios 9 12
Solución ejercicios 9 12Solución ejercicios 9 12
Solución ejercicios 9 12
 
Sa fourier con matlab
Sa fourier con matlabSa fourier con matlab
Sa fourier con matlab
 
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

Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 

Último (20)

Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 

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