dsp y aplicaciones gadib.ppt

Upload: moises-maidana

Post on 27-Feb-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    1/43

    CONCEPTOS BSICOS PDS, APLICACIONESCONCEPTOS BSICOS PDS, APLICACIONESEN MATLAB Y DSP.EN MATLAB Y DSP.

    Autor:Autor:Mauricio Sebastin CaggioliMauricio Sebastin CaggioliGADIB: Grupo de Anlisis, Desarrollo e InvestigacionesGADIB: Grupo de Anlisis, Desarrollo e Investigaciones

    Biomdicas.Biomdicas.

    oviembre !""#oviembre !""#

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    2/43

    $ndice$ndice

    Introduccin

    Muestreo y conceptos bsicos.Actividades en MATLAB

    Convolucin.

    Actividades en MATLAB

    Sistemas FI e IIActividades en MATLAB

    Teor!a bsica "#S

    Actividades en MATLAB

    ImplementacinFI e II con coe$icientes calculados en MATLAB

    "ro%ramacin en el&it'(S)AC

    '*emplo retardo

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    3/43

    Introducci%n al &DS.Introducci%n al &DS.+Se,al- Funcin ue porta in$ormacin acerca del estado ocomportamiento de un sistema.

    +Matemticamente- las se,ales se representan como $unciones de una o

    ms variables.+La variable independiente de dic/a representacin puede ser continua

    o discreta.+Las se,ales en tiempo continuo estn de$inidas sobre un tiempo

    continuo0+Las se,ales en tiempo discreto estn de$inidas sobre un con*unto

    discreto de valores y0 por consi%uiente0 sern representadas porsucesiones o vectores ue son como las tratadas en MATLAB.+Las se,ales di%itales son auellas ue tanto el tiempo0 como la

    amplitud son discretas. )ay ue notar bien esta di$erencia entre se,ales

    di%itales y slo discretas.

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    4/43

    Introducci%n al &DS.Introducci%n al &DS.+'n el caso de sistemas procesados con microprocesadores0 microcontroladores0 #S"0

    etc la discreti1acin o cuanti$icacin de las amplitudes se deber a la cantidad de bitscon ue puedo representar cada amplitud.+La venta*a del tratamiento di%ital de se,ales con los elementos descriptos

    anteriormente es ue la implementacin de sistemas muy complicados de reali1ar en

    $orma anal%ica se trans$orma en al%o rutinario de pro%ramacin para un tratamiento

    de este tipo.+Cualuier cambio en el sistema ser variar al%2n parmetro del pro%rama0 en cambio

    en $orma anal%ica si%ni$ica cambiar componentes0 ue la mayor!a de las veces

    resulta tedioso y a veces imposible.+La mayor!a de las se,ales pueden ser di%itali1adas y tratadas di%italmente0 e3cepto

    auellas ue ten%an un anc/o de banda o $recuencia muy alta tal ue no se pueda

    conse%uir un oscilador para reali1ar el muestreo correspondiente 4de por los menos eldoble del anc/o de banda o $recuencia m3ima de la se,al5.

    VOLVER

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    5/43

    Muestreo ' conceptosMuestreo ' conceptos

    bsicos.bsicos.

    6 4t5 6 4n5 ) 4n5 7 4n5 7 4t5

    Fs

    t 8 n 9 Fs

    F $

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    6/43

    Muestreo ' conceptosMuestreo ' conceptos

    bsicos.bsicos.+Frecuencia de muestreo 4Fs5

    +Frecuencia discreta $ 4 $ : ;..Ts 8 > 9 Fs

    > 8 Fs.T 8 Fs 9 F

    1 / N = f = F / Fs

    Como Fs = ?.F0 como m3imo $ 8 F 9 ?.F 8 ;. D "ciclos9"ciclos 8 "ciclos 9 cant. de muestras totales.+ esumiendo ten%o ue dividir el valor ue est en Matlab por la cantidad de

    muestras para saber la $recuencia discreta y multiplicar por Fs si necesito conocer la

    $recuencia continua. La se%unda mitad de las %r$icas de los espectros Pest de msQ

    ya ue me muestra el contenido $recuencial para $=@9?0 al%o ue en la realidad no lo

    ten%o por la tasa de >yuist 4Fs=8?F 8= $:8@9?5.

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    22/43

    Actividad *.*#.Actividad *.*#.Actividad @.@

    Se tiene una se,al senoidal de @ )1 con ruido aleatorio0 Fs 8 @;;; )1. #ibu*ar la se,al y su espectro de

    amplitud. Filtrar el ruido lo me*or posible sin usar tcnicas de dise,o de $iltros.

    c!"ar a!!;

    s=1000;$=0:1/s:10-1/s;

    x=s%n(2*%*1*$);

    =x'03*rann(s%7"($));

    n=1:!"n#$h(6);f%!$ro6(n)=0; n=5:12;f%!$ro6(n)=1; + f=0001 10000 mu"s$ras =& "n 10 +(10/10000=0001) $"n#o !a comon"n$"

    f%!$ro6(10000-n)=1;

    f%!$ron=r"a!(%ff$(f%!$ro6));

    s"na!f=conv(f%!$ron,);

    su!o$(2,1,1),!o$((1:000));

    su!o$(2,1,2),!o$(s"na!f(1:000));

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    23/43

    Actividad *.*#.Actividad *.*#.

    0 1000 2000 3000 4000 5000 6000 7000 8000-2

    -1

    0

    1

    2

    0 1000 2000 3000 4000 5000 6000 7000 8000-1

    -0.5

    0

    0.5

    1

    +'ste $iltrado es e$ectivo pero el problema es ue /4n5

    posee muc/os valores 4@;;;;5. "or esto /ay tcnicas para

    el dise,o de $iltros ms e$ectivas. 'ste $iltro as! dise,ado

    tiene una implementacin no recursiva y es FI.

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    24/43

    Actividad *.*1.Actividad *.*1.Actividad @.@

    eali1ar el mismo $iltro anterior0 slo ue /4n5 ten%a ?; valores0 y no @;;;;. Sacar conclusiones porue el

    $iltrado no es tan bueno. Implementar con la1os $or ue es cmo se implementar!a en un sistema

    microprocesado.

    n=1:20;f%!$ro(n)=0;

    f%!$ro(1)=1;f%!$ro(20)=1;

    f%!$ron=r"a!(%ff$(f%!$ro)); s"na!f=conv(f%!$ron,); su!o$(2,1,1),!o$((1:5000));

    su!o$(2,1,2),!o$(s"na!f(1:5000));

    0 1000 2000 3000 4000 5000-2

    -1

    0

    1

    2

    0 1000 2000 3000 4000 5000-2

    -1

    0

    1

    2

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    25/43

    Actividad *.*1.Actividad *.*1.La se,al $iltrada no es tan buena porue al tener ?; valores la $recuencia discreta ms c/ica ue puede

    tener es @9?; 8 ;.;

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    26/43

    (eor0a bsica &DS. Actividades(eor0a bsica &DS. Actividades

    en MA()AB.en MA()AB.

    +'*emplo - btener coe$icientes FI e II para modeli1ar

    retardo.+'*emplo

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    27/43

    23emplo *.23emplo *.+Ejemplo 1.

    "ara un circuito C serie0 /allar c para entradas escaln0 impulso0 y senoidal utili1ando

    convolucin 4implementacin FIR5 y las /erramientas de Matlab para /allar tales respuestas.

    +89"m!os " convo!uc%on "n c%rcu%$os

    +"9"m!o 1: c!cu!o " !a $"ns%n "n "! < "n un c%rcu%$o < con una

    $"ns%n "

    +"n$raa "sca!nc!"ar a!!;sms $ s;

    r=1;c=1;

    +

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    28/43

    23emplo *.23emplo *.+

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    29/43

    Conclusiones 23emplo *.Conclusiones 23emplo *.

    Au! se ve una di$erencia en las amplitudes y es debido a ue0 lue%o de reali1ar la convolucinde las se,ales0 se debe multiplicar este resultado por Ts0 o dividir por la $recuencia de

    muestreo-

    #iscreti1ando y anali1ando en una muestra 4en un instante5-

    Si y 8=

    'n ese intervalo los / y 3 son constantes0 entonces para calcular la inte%ral de$inida ueda-

    's decir se debe multiplicar al resultado de la convolucin con Ts 4@9Fs5 y tambin normali1ar

    los coe$icientes /4n5.

    ( ) ( ) =

    txhty D54

    =tkD ttn =D ( ) ( )tknxtkhtkytk

    tk

    = +

    D54DD5D4

    5D@4

    D

    =

    =

    ==@

    ;

    @

    ;

    54D54D5D544D5D4D54M

    k

    M

    k

    knxkhTstknxtkhtny

    23 l #23 l #

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    30/43

    23emplo #.23emplo #.+Ejemplo 3.

    Teniendo la $uncin trans$erencia )4s5 8 I4s59i4s5 de un circuito C serie obtener su s!mil en trans$ormada

    ( utili1ando la trans$ormada bilineal. Comparar la respuesta al impulso de )4s5 y )415. #e )415 obtener los

    $actores a4&5 y b4&5 4implementacin IIR5 y convolucionar con un escaln. Comparar esta respuesta con ele*emplo @.

    +@ransformaa B%!%n"a!

    +Eamos a usar !a func%n $ransf"r"nc%a " un f%!$ro asa a!$o, "s "c%r

    s/s'1

    c!"ar a!!;r=1;c=1;fs=100;

    n=[1];

    =[r*c 1];

    s%s=$f(n,)

    f%#ur"(1),o"(s%s);

    [nu "]=%!%n"ar(n,,fs);

    [h 6]=fr"7(nu,",25D); +r"s "n fr"cu"nc%a "! s%s$"ma "n F

    f%#ur"(2),!o$(6,as(h));

    s%s7=$f(nu,",fs)

    f%#ur"(3);su!o$(311),!o$(as(h)),!a"!(C"s "n fr"cC);

    su!o$(312),%mu!s"(s%s),!a"!(C"s a! %mu!so G(s)C);su!o$(313),%mu!s"(s%s7),!a"!(C"s a! %m G(7)C);

    23 l #23 l #

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    31/43

    23emplo #.23emplo #.+

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    32/43

    23emplo 1.23emplo 1.Ejemplo 4.

    btener los coe$icientes FI e II para modeli1ar retardo-

    La trans$ormada inversa de Laplace de e3p4sDt;5 es un impulso unitario en t;0 por lo tanto /4n5

    sera un vector con todos ceros0 e3cepto en el valor 4DTs se%undos5 donde uiero ue se retrase.

    fs=100,

    h(1:40)=0;h(41)=1; +"$aro " 40 mu"s$ras * 001 s"# = 04 s"#$=0:1/fs:1-1/fs;

    v%=s%n(2*%*2*$);

    sa!%a=conv(v%,h);

    su!o$(211),!o$($,v%),!a"!(C8n$raaC);

    su!o$(212),!o$($,sa!%a(1:!"n#$h(v%))),!a"!(C8n$raa r"$araaC);

    5;454 ttxty = ;DD5454 tsesXsY =

    0 0.2 0.4 0.6 0.8 1-1

    -0.5

    0

    0.5

    1

    Entrada

    0 0.2 0.4 0.6 0.8 1-1

    -0.5

    0

    0.5

    1

    E

    ntrada

    retardada

    23 l +23emplo +

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    33/43

    23emplo +.23emplo +.Ejemplo 5.

    btener coe$icientes para una implementacin II a partir de los coe$icientes de una implementacin FI.

    Suponer ue )4s5 es tal ue /4t58 e3p4t5sin4t5cos4?DpiD@;Dt5. Comparar las respuestas en $recuencia

    )415 con los coe$icientes FI e II.

    $$=0:1/100:3;

    h="x(-$$)'s%n($$)'cos(2*%*10*$$);

    $=0:1/100:10;

    [hh,66]=fr"7(h,1,100);

    f%#ur"(1),su!o$(211),!o$(as(hh));

    +Ear%ar !os o!os c"ros v"r como var%a !a r"s "n fr"c con !a

    or%#%na!

    [%%r,a%%r]=%nvfr"7(hh,66,D,D)

    [hh%%r,66%%r]=fr"7(%%r,a%%r,100);

    su!o$(212),!o$(as(hh%%r))

    v%=s%n($);

    f%#ur"(2),su!o$(211),!o$(f%!$"r(h,1,v%))s%s=$f(%%r,a%%r);

    f%#ur"(2),su!o$(212),!o$(f%!$"r(%%r,a%%r,v%))

    23emplo +23emplo +

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    34/43

    23emplo +.23emplo +.

    0 20 40 60 80 1000

    100

    200

    300

    0 20 40 60 80 1000

    50

    100

    150

    200

    250

    0 200 400 600 800 1000 1200-400

    -200

    0

    200

    400

    0 200 400 600 800 1000 1200-100

    -50

    0

    50

    100

    150

    VOLVER

    Implementaci%n -I e II con coe4icientesImplementaci%n -I e II con coe4icientes

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    35/43

    Implementaci%n -I e II con coe4icientesImplementaci%n -I e II con coe4icientescalculados con MA()AB.calculados con MA()AB.

    =

    =@

    ;

    54D5454M

    k

    knxkbny

    =

    =@

    ;

    D5454M

    k

    kzkbzH

    ==

    +=M

    k

    N

    k

    knxbkknykany;@

    54D54D5454

    =

    =

    +

    =N

    k

    k

    M

    k

    k

    zka

    zkb

    zH

    @

    ;

    D54@

    D54

    54

    FI 4$uncin y $iltro tipo reme15

    II 4$uncin y $iltro tipo yuleUal&5

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    36/43

    23emplo .23emplo .Ejemplo 6.

    #ise,o de $iltros di%itales dando como parmetros la amplitud para las di$erentes $recuencias normali1adas

    4@8Fs9?5. Calcular los coe$icientes de un $iltro FI y los de un II si Fs8@;; )10 $c@8 @J.JJ )1 y $c? 8?. )1. "robar con una se,al de entrada utili1ando este $iltro.

    +

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    37/43

    23emplo .23emplo .Ejemplo 6.

    #ise,o de $iltros di%itales dando como parmetros la amplitud para las di$erentes $recuencias normali1adas

    4@8Fs9?5. Calcular los coe$icientes de un $iltro FI y los de un II si Fs8@;; )10 $c@8 @J.JJ )1 y $c? 8?. )1. "robar con una se,al de entrada utili1ando este $iltro.

    +J%s"Ho "! f%!$ro K (100 co"f%c%"n$"s)

    c!"ar G 6$;

    h=r"m"7(100,f,m);

    [G,6$]=fr"7(h,1,150);

    f%#ur"(3),su!o$(311),!o$(6$/%*fs/2,as(G)),!a"!(CKm!"m"n$ac%on KC);

    +Lara a!%car "! f%!$ro an$"r%or "f%n%o or a a x s" hac":

    +

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    38/43

    23emplo .23emplo .

    0 0.5 1 1.5 2 2.5 3

    -2

    -1.5

    -1

    -0.5

    0

    0.5

    1

    1.5

    2

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    39/43

    23emplo .23emplo .

    0 5 10 15 20 25 30 35 40 45 50

    0

    0.5

    1

    1.5

    Im

    plem

    entacion

    IIR

    0 0.5 1 1.5 2 2.5 3

    -1

    -0.5

    0

    0.5

    1

    0 5 10 15 20 25 30 35 40 45 50

    0

    0.5

    1

    1.5

    Im

    plem

    entacionFIR

    0 0.5 1 1.5 2 2.5 3

    -1

    0

    1

    0 0.5 1 1.5 2 2.5 3

    -1

    0

    1

    VOLVER

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    40/43

    &rogramaci%n en el 5it S6AC.&rogramaci%n en el 5it S6AC.9DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD9

    9D

    9DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD9

    9D A#S"?@;J3 System e%ister bit de$initions D9Vinclude :de$?@;J;./=

    Vinclude :?@;J;./=

    Vinclude :si%nal./=

    Vinclude :sport./=

    Vinclude :macros./=

    Vinclude :mat/./=

    Vinclude :$ilters./=

    Vinclude :stdio./=

    Vinclude :conio./= 99para el &b/it45

    9D #MA C/ain pointer bit de$initions D9

    Vde$ine C"W"CI ;3?;;;; 9D "ro%ramControlled Interrupts bit D9Vde$ine C"WMAF ;3@$$$$ 9D alid memory address $ield bits D9

    Vde$ine SetI"4addr0 val5 4D 4int D5 addr5 8 4val5

    Vde$ine RetI"4addr5 4D 4int D5 addr5

    9DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD9

    Vde$ine >KMWTA"S @;;;

    $loat pm coe$$sG>KMWTA"SH 8

    X

    Vinclude Y$ir./Y

    Z

    $loat dm stateG>KMWTA"S@H

    int dm opcion 99eli*o entre ruido o codec

    9DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD9

    V

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    41/43

    &rogramaci%n en el 5it S6AC.&rogramaci%n en el 5it S6AC./**********************************************************/

    /* */

    /* ."r%a! or$ r"c"%v" J? com!"$" */

    /* */

    /**********************************************************/vo% sr0Mass"r$"( %n$ s%#Mnum )

    N

    f!oa$ f%!$"rM%nu$;

    %f (oc%on==1) //s% !a oc%on "s 1, "n$onc"s !a "n$raa "s "! co"c, s%no "s ru%o

    f%!$"rM%nu$ = rxMuf[1];

    "!s"

    f%!$"rM%nu$ = ran() O 0x00003fff; //aca "s$ !a "n$raa " ru%o

    %f (oc%on==3)

    $xMuf[1]=rxMuf[1];

    "!s"

    // %!$"r sam!" an ou$u$

    tx_buf[1] = fir( filter_input, &coeffs[0], &state[0], (int)NUM_TA! )"

    tx_buf[#] = tx_buf[1]" //r%n$f(PEa!or: +f: P,f%!$"rM%nu$);

    //f%=fo"n(Ps"na!$x$P,Pa'P);

    //fr%n$f(f%,P+fP,$xMuf[1]);

    //fc!os"(f%);

    Q

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    42/43

    &rogramaci%n en el 5it S6AC.&rogramaci%n en el 5it S6AC.9DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD9

    void main 4 void 5

    X

    int i

    int 3

    puts4Y[n Bienvenido al pro%rama de prueba de S)ACY5

    puts4Y[n Y5

    puts4Y[n [t 'li*a opcin- Y5

    scan$4Y\iY0]opcion5

    99print$4Y[n pcin ele%ida- \iY0opcion5

    99 Initiali1e state array $or FI $ilter.

    $or4 i8; i:>KMWTA"S@ i 5 stateGiH 8 ;.;

    99 Initiali1e some S)AC re%isters.

    initW?@&45

    99 eset t/e Codec.

    setW$la%4 S'TWFLAR;0 CLWFLAR 5 9D "ut C#'C into 'S'T D9

    $or4 38; 3:;3$$$$ 3 5 9D )old C#'C in 'S'T D9

    setW$la%4 S'TWFLAR;0 S'TWFLAR 5 9D elease C#'C $rom 'S'T D9

    99 Con$i%ure S)AC serial port.

    setupWsports45

    99 Send setup commands to C#'C.

    sendW@ONWcon$i%Wcmds45

    & i% l 5i S6AC

  • 7/25/2019 DSP y aplicaciones GADIB.ppt

    43/43

    &rogramaci%n en el 5it S6AC.&rogramaci%n en el 5it S6AC. 99 Turn on t/e timer.

    timerWon45

    99 Loop $orever. $or45

    X

    i$ 4&b/it45 8 ;5 99en cualuier momento puedo interrumpit presionando una tecla

    X

    puts4Y[n In%rese nuevamente una opcion- Y5

    scan$4Y\iY0]opcion5

    Z

    idle45

    ZZ

    9DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD9

    99 'nd o$ $ile bp.c .

    9DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD9

    Compilacin

    #21 -KR%nc!u" -o f%!$ro21 f%!$roc R!%ha

    Ba*arlo al #S" desde #S

    s"$ as0=0,23,5,1

    Rh21 -0 f%!$ro21