Hilbert FPGA Report

download Hilbert FPGA Report

of 14

Transcript of Hilbert FPGA Report

  • 7/23/2019 Hilbert FPGA Report

    1/14

    PROYECTO FINAL

    CURSO: Procesamiento Digital de Seales A!licaciones

    Em"e"idas en FP#A $%&'%( de A"ril) San L*is+

    F,li- #*sta.o Emilio Sa/ar

    1.Titulo: Evaluacin de la Envolvente Instantnea utilizando la TransformadaDiscreta de Hilbert y su implementacin sobre F!" #partan$

    %. Res*men:

    Este informe describe el desarrollo e implementacin sobre F!" de un procesadordi&ital de se'ales capaz de computar la envolvente instantnea de una se'al anal&icamuestreada a $%( )muestras*s mediante la Transformada Discreta de Hilbert. #e eli&iesta temtica en virtud de su valor acad+mico para la teor,a de se'ales- como tambi+n

    por su espectro de aplicaciones de procesamiento di&ital en el dominio temporal. Elsistema se model desde alto nivel con atlab*#imulin/- y se implement sobre una

    plataforma 0ilin #partan $ 2Di&ilent 3eis4 con "D1 y D"1 5Ds6. #e eli&i undise'o basado en filtro FI7 de orden 4% con aproimacin equiripple, utilizando la

    8erramienta de dise'o de filtros FD"Tool. #e utilizaron las 8erramientas #ystem!enerator y I#E Desi&n #uite 19.4 de 0ilin. as pruebas de simulacin muestran una

    performance satisfactoria- conforme a lo dise'ado. !racias a las caracter,sticas del filtroadoptado- el uso deslicesD# se redu;o a uinarias @

  • 7/23/2019 Hilbert FPGA Report

    2/14

    ara varias de las aplicaciones mencionadas- se re>uiere una capacidad deprocesamiento di&ital importante- la cual en muc8os casos ecede la disponible ensistemas de cmputo basados en el paradi&ma on 3eumann de m>uina secuencial-

    pero >ue desde 8ace un tiempo est disponible ba;o las formas de paralelismo ofrecidaspor la l&ica pro&ramable basada en F!".

    or lo tanto este traba;o tiene por un lado el propsito acad+mico de acercar esta8erramienta de slidos fundamentos matemticos al mbito de desarrollo de lasaplicaciones- y por otro lado el de utilizar la tecnolo&,a de F!" y toda la cadena de8erramientas para desarrollo de procesamiento di&ital de se'ales en un conteto de altonivel de abstraccin y modelado con un caso de uso no 8abitual.

    9. E1*i!amiento !ara el desarrollo de los la"oratorios:

    El si&uiente dia&rama es>uemtico muestra en alto nivel la confi&uracin dele>uipamiento dispuesto para el desarrollo de los laboratorios.

    a placa de desarrollo es una Di&ilent 3eys4- con F!" #partan$ 2xc6slx16-3csg3246

  • 7/23/2019 Hilbert FPGA Report

    3/14

    a confi&uracin de entradas y salidas anal&icas se muestra en el si&uiente cuadro:

    El 5D "D1 tiene: % conversores "*D 1% bits- 1 msps c*u- a 4-4 volt- salida #I

    El 5D D"1 tiene: % conversores D*" < bits- a 4-4 volt- salida #I

    En los dos casos la conversin de #I a paralelo se lleva a cabo mediante el protocolowishbone. os mdulos HD >ue implementan las conversiones son adap"D1.v8d-

    fsmad1.v8d- adapD"1.v8d- fsmda1.v8d- y los de mane;o de relo; son div1.v8d ydiv%.v8d 2provistos por el instructor6.

  • 7/23/2019 Hilbert FPGA Report

    4/14

    (. F*ndamentos te0ricos:

    Eisten varias formas matemticas para derivar las epresiones de la

    transformada de Hilbert de tiempo cont,nuo @(A. or una cuestin del conteto y desimplicidad- se eli&e evaluar la transformada directa e inversa de Fourier de la funcinsi&no- ya seasigno(t)osigno()- las cuales se muestran en la Fi&ura 1:

    Fi&ura 1.

    Es decir- el /ernel (-1!.t )o (-2i)representa la antitransformada de Fourier dela funcin si&no en el dominio de la frecuencia o del tiempo- respectivamente.

    #e define a la transformada de Hilbert como la convolucin de la funcin con el"ernel(-1 !.t)#

  • 7/23/2019 Hilbert FPGA Report

    5/14

    Es decir- convolucionar en el tiempo con (-1!.t )e>uivale a multiplicar enfrecuencia con la funcin si&no2G6- por tanto no modificamos el espectro de amplitud-slo estamos aplicando un corrimiento de fase de *% para las frecuencias positivas yde J*% para las frecuencias ne&ativas. a transformada de Hilbert produce un adelantode fase de *%- por lo cual se dice >ue una funcin y su transformada de Hilbert estn en

    c*adrat*ra. Er&o- si la funcin es un coseno- su transformada de Hilbert ser un seno.

    De la observacin de la Fi&ura 1 se desprende la no causalidad- la discontinuidaden el ori&en- y el soporte infinito del "ernelde Hilbert- lo cual pone en evidencia lanecesidad de aproimar y adaptar esta funcin terica para llevarla al mundo f,sicodonde slo eisten las se'ales causales y de etensin limitada.

    #e define como seal anal2ticag(t)#

    a se'al anal,tica es una funcin comple;a >ue tiene como parte real a la funcin$(t)y como parte ima&inaria a su transformada de Hilbert- >ue est en cuadratura.

    Komo e;emplo simple se toma el caso f(t)=cos( .t):

    Entonces la se'al anal,tica resulta una eponencial comple;a como muestra laFi&ura %. #e puede apreciar >ue la composicin de la funcin con su transformada

    &enera una 8+lice de dimetro unitario >ue se desarrolla a lo lar&o del tiempo.

    Teniendo presente >ue cual>uier funcin se puede epresar como una sumaescalada de eponenciales comple;as- se desprende >ue la se'al anal,tica &en+rica serla sumatoria instantnea de eponenciales comple;as de distintas frecuencias-amplitudes y fases.

  • 7/23/2019 Hilbert FPGA Report

    6/14

    De la se'al anal,tica se desprenden al&unas definiciones de inter+s para elestudio de la se'al ori&inal:

    En.ol.ente instant3nea:

    7epresenta el mdulo instantneo de la se'al anal,tica

    Fase instant3nea:

    En el caso de la Fi&ura % estar,a representado por el n&ulo de avance de la8+lice con el correr del tiempo.

  • 7/23/2019 Hilbert FPGA Report

    7/14

    Frec*encia instant3nea:

    Este concepto conlleva un punto de vista distinto al anlisis de frecuenciastradicional de Fourier. De esta forma- la funcin ori&inal y su transformada admiten lasi&uiente representacin:

    a si&uiente Fi&ura 4 ilustra la importancia de esta representacin en el anlisisde im&enes m+dicas ultrasnicas @BA:

    a se'al real del sensor ultrasnico 2azul6 se ve complementada por latransformada de Hilbert en cuadratura 2ro;o6 para lo&rar una envolvente instantnea conun nivel de detalle temporal muy elevado 2ne&ro6.

    45Im!lementaci0n de la trans/ormada de 6il"ert en /orma digital:eisten variast+cnicas de discretizacin de la transformada cont,nua de Hilbert a una versin discreta@(A- las cuales deben resolver los aspectos sin&ulares de esta transformada. as dos msusadas son v,a FFT con truncamiento de frecuencias ne&ativas 2"T"L6 y la otra

    basada en el dise'o de un filtro di&ital aproimante. a t+cnica con FFT es muy rpidapero presenta oscilaciones en el dominio del tiempo producto del truncamiento enfrecuencia. #e eli&i la t+cnica de filtro di&ital >ue aproima a la transferencia ideal2mduloM1- faseM*% radianes6. artiendo de un "ernelanal&ico no causal de soporteinfinito- el filtro causal deber retrasar la salida para lo&rar una buena aproimacinrealizable. #e eli&i una estructura FI7- en virtud de >ue imponiendo simetr,as puede

    &arantizar el cumplimiento eacto del desplazamiento de fase de C &rados en todas lasfrecuencias.

  • 7/23/2019 Hilbert FPGA Report

    8/14

    #e utiliz la 8erramienta de dise'o FD"Tool para el dise'o del transformador deHilbert- utilizando la aproimacin equiripplepara la respuesta de ma&nitud. Kon elorden 4% seleccionado se puede apreciar una respuesta virtualmente plana entre el 1=

    y el C= de la frecuencia mima.

    En cuanto a la respuesta de fase- se observan dos componentes: unapredominante >ue es un retardo fi;o y eacto de 1$ muestras 2pendiente de la recta defase6 ms un &iro de J*% radianes 2cuadratura6 >ue apenas se observa en el &rfico2marcado con ro;o en la es>uina superior iz>uierda6.

    El cuadro si&uiente muestra la respuesta al impulso y al escaln del filtro dise'ado.

  • 7/23/2019 Hilbert FPGA Report

    9/14

    En la respuesta al impulso se observa el beneficio de ele&ir un orden par: la mitad de loscoeficientes del filtro resultan nulos- reduciendo el re>uerimiento de productos a lamitad 2Fi&ura 9a6. #i adems se considera la naturaleza antisim+trica de la respuesta- se

    pueden reducir las multiplicaciones nuevamente a la mitad 2Fi&ura 9b6- lo cual seimplementa directamente en losslicesD#9

  • 7/23/2019 Hilbert FPGA Report

    10/14

    (57odelo en Sim*lin8 del Procesador de En.ol.ente Instant3nea:

    a Fi&ura ( muestra el dia&rama en blo>ues del procesador de envolvente. El blo>ue

    %&' ompiler .*@%A es responsable del cmputo de transformador de Hilbert- Elblo>ue+elaintroduce el retardo necesario para e>uiparar en el tiempo las salidas enfase y en cuadratura. os blo>uesultyult1 elevan al cuadrado la salida encuadratura y en fase respectivamente- el blo>ue//0ub1est confi&urado para sumarlas salidas deultyult1. Hasta este punto el tratamiento es totalmente en punto fi;o2FiOOPP6 donde OO es el n?mero total de bits de la palabra- y PP son los bits de la

    parte fraccionaria. #in embar&o- el cmputo de la ra,z cuadrada para obtener laenvolvente se realiza en punto flotante a trav+s del I denominado Floatin& oint5perator v$. @1A- el cual adems tiene funciones para el casting de punto fi;o a flotantey viceversa 2punto fi;o es necesario para salir al conversor D*"6. El cuadro se completacon &ateQays de entrada y salida 2en amarillo- >ue 8acen interfaz entre los mdulos

    bsicos de #imulin/ 2&eneradores de se'ales- visualizadores- etc.- en blanco6 y laslibrer,as de Lloc/sets de 0ilin 2en celeste6. a frecuencia de muestreo confi&urada esde $%( muestras*se&.

    ara evaluar el comportamiento del sistema en simulacin- se dispusieron de % tipos deentradas: 16 Escaln- y %6 hirpsinusoidal con un ran&o de frecuencias de 1 a %.

    os cuadros si&uientes muestran el resultado de la simulacin con ecitacin al escaln.De las 4 se'ales mostradas- la se'al superior muestra la respuesta al escaln deltransformador de Hilbert 2se'al en cuadratura6- la cual coincide perfectamente con la&raficada por la 8erramienta de dise'o FD"Tool- la se'al inferior es el escaln deentrada debidamente retrasado para estar centrado con la salida de Hilbert 2se'al enfase6. a se'al del medio es el clculo de la envolvente instantnea- la cual brinda elcorrecto resultado antes y despu+s del escaln- mostrando un transitorio alrededor delflanco del escaln 2esperable por>ue el filtro de Hilbert no se a;usta al ideal en todas lasfrecuencias- especialmente en las muy ba;as o muy altas6.

  • 7/23/2019 Hilbert FPGA Report

    11/14

    El si&uiente cuadro muestra las mismas 4 se'ales pero a8ora con el sistema ecitado porun chirpde amplitud unitaria y frecuencia variable en un ran&o 1 a % 2se muestra lamitad del ran&o ba;o solamente6. #e puede apreciar >ue- superado el transitorio delinicio de la ecitacin- la se'al en cuadratura y en fase se mantienen a C &rados deseparacin entre s, en todo el ran&o de frecuencias del chirp. Konsecuentemente- la

    envolvente instantnea se establece rpidamente en el valor 1 >ue se mantiene 8asta elfinal del barrido. En simulacin- el sistema se comporta como estaba previsto.

  • 7/23/2019 Hilbert FPGA Report

    12/14

    Kabe mencionarse >ue- en virtud de >ue la salida de envolvente instantnea es siempreun n?mero positivo- no fue necesario adicionar un o$$setde cont,nua para a;ustar elran&o dinmico al del conversor D*" 25D D"16

    El arc8ivo #imulin/ $irtutorial.m/l&enerado se compil para la #partan$ ob;etivo conel sistema #ystem !enerator de 0ilin 2opciones 3!K 3etlist- HD- Epose Kloc/orts- 1 ns F!" cloc/ period6. Komo resultado se &eneraron- entre otros- los arc8ivos

    $irtutorialmcw.ngc, $irtutorialmcw.h/ y el proyecto 0ilin I#E$irtutorialmcw.xise . El si&uiente reporte resume el uso de dispositivos de la F!"

  • 7/23/2019 Hilbert FPGA Report

    13/14

    Rna vez dentro del proyecto I#E 2ro;ect 3avi&ator6- se incorporaron losarc8ivos del proyecto toptutorial.h/- los otros de mane;o de los "*D- D*"- y relo;2div1.v8d- div%.v8d- fsmad1.v8d- fsmda1.v8d- adap"D1.v8d- adapD"1.v8d6 y de

    pinout2pinout.uc$6 para formar un ?nico proyecto inte&rando el dise'o deprocesamiento realizado- con la estructura de 8ardQare y de mane;o de los perif+ricosde entrada y salida anal&ica- el relo;- previstos por los profesores para el curso en la

    placa 3eys4*5Ds.

    #e procedi si&uiendo las etapas: #ynt8esize 0#T S Implement 2Translate- ap- laceand 7oute6 S !enerate ro&rammin& File sin errores 8asta &enerar sin errores el arc8ivode pro&ramacin toptutorial.bit

    ue estas8erramientas tambi+n pueden ayudar en la docencia para ba;ar a tierra conceptosabstractos de procesamiento di&ital de se'ales.

    1. Re/erencias:

    @1A 0ilin- Floatin&Noint 5perator v$.. D#

  • 7/23/2019 Hilbert FPGA Report

    14/14

    @$A Hernndez Esteban- ".- Toledo oreo- F. .- art,nez Wlvarez- . .- V 7uiz erino- 7. .2%96. F!"Nbased implementation of t8e instantaneus fre>uency estimation ofp8onocardio&rap8ic si&nals. International Federation of "utomatic Kontrol.

    @BA Hassan- . ".- V )ada8- O. . 2%146. Di&ital #i&nal rocessin& et8odolo&ies forKonventional Di&ital edical Rltrasound Ima&in& #ystem.merican :ournal o$ iome/ical

    ;ngineering- 3216- 19N4.

    @