23
RBE.VOL 4 N2 1987 ANÁLISE ESPECTRAL DE SINAIS DE ULTRA-SOM DOPPLER E GERAÇÃO DE SONOGRAMAS EM TEMPO-REAL UTILIZANDO PROCESSADOR DE SINAIS DIGITAIS E MICROCOMPUTADOR por Fernando S. Schlindwein l e David H. Evans 2 -- A análise espectral de sinais Doppler e a apresentação do sonograma em tempo-real foi realizada utilizando-se um sistema baseado em um Processador de Sin.a1.s Digitais (TMS 32020 - Texas Instruments) e um (RM NIMBUS - Research Machines). A implementação da análise espectral foi feita através de Transformada Rápida de Fourier. (FFT) a partir de 256 amostras do sinal Doppler, tomadas a uma fre- qüência de amostragem programável até 40.96 kHz. Nesta situação (máxima freqüência de amostragem utilizada), o Processador Digital de Sinais é capaz de gerar espectro de 128 componentes a cada 4.0 ms. O exibe o sonograma em tempo-real com 16 'n'Íveis de cinza. São discutidas diversas caracterís- ticas técnicas do sistema, com especial ênfase na implementação da FFT (o algoritmo utiliza decimação no tempo e em freqüência, radix-2 e radix-4, e as 256 amostras são tratadas como 128 valores complexos para atingir a velocidade de processamento desejada). são tambdm feitas considerações sobre processamento de sinais em tempo-real e multiprocessamento. INTRODUÇÃO A técnica Doppler se impôs como rotina clínica para valiação da condição vascular por ser um exame não-invasivo, om potencialidade diagn6stica de doenças arteriais, onstituindo-se excelente método de triagem para exames mais ,fisticados (e caros) como a angiografia de contraste, por <emplo. A dopplerometria presta-se para acompanhamento de casos fornece valiosa informação complementar à angiografia, pois a avaliação dinâmica das velocidades de fluxo no trecho examinado. O velocímetro Doppler de onda contínua é um lstrumento de fácil construção, barato, e o exame utilizando lte aparelho é relativamente rápido. :2 - Leicester Royal Infirmary - MedicaI Physics Dept. - ·icester, LEI 5WW. England. IllTrabalho recebido em 29101/87 e aceito em 04/05/87/11 25

Doppler 1987

Embed Size (px)

DESCRIPTION

Doppler

Citation preview

  • RBE.VOL 4 N2 1987

    ANLISE ESPECTRAL DE SINAIS DE ULTRA-SOM DOPPLER E GERAO DESONOGRAMAS EM TEMPO-REAL UTILIZANDO PROCESSADOR DE SINAIS

    DIGITAIS E MICROCOMPUTADOR

    por

    Fernando S. Schlindweinl e David H. Evans 2

    R~SUMO -- A anlise espectral de sinais Doppler e aapresentao do sonograma em tempo-real foi realizadautilizando-se um sistema baseado em um Processador deSin.a1.s Digitais (TMS 32020 - Texas Instruments) e um

    mi~~oriomputador (RM NIMBUS - Research Machines). Aimplementao da anlise espectral foi feita atravsde Transformada Rpida de Fourier. (FFT) a partir de256 amostras do sinal Doppler, tomadas a uma fre-qncia de amostragem programvel at 40.96 kHz. Nestasituao (mxima freqncia de amostragem utilizada),o Processador Digital de Sinais capaz de gerar u~espectro de 128 componentes a cada 4.0 ms. O~icrocomputador exibe o sonograma em tempo-real com 16'n'veis de cinza. So discutidas diversas caracters-ticas tcnicas do sistema, com especial nfase naimplementao da FFT (o algoritmo utiliza decimao notempo e em freqncia, radix-2 e radix-4, e as 256amostras so tratadas como 128 valores complexos paraatingir a velocidade de processamento desejada). sotambdm feitas consideraes sobre processamento desinais em tempo-real e multiprocessamento.

    INTRODUOA tcnica Doppler se imps como rotina clnica para

    valiao da condio vascular por ser um exame no-invasivo,om potencialidade diagn6stica de doenas arteriais,onstituindo-se excelente mtodo de triagem para exames mais,fisticados (e caros) como a angiografia de contraste, por

  • o Sinal Doppler e sua representaco no sonograma

    Quando uma hemcia iluminada por ultra-som ela espalha oultra-som com um desvio de freqncia em rela~o onda inciden-te segundo a conhecida expresso:

    df (t)

    onde:df(t)v(t)f O8

    c

    2 f O v ( t) co s (e) / c (1 )

    o desvio de freqncia,d a velocidade da hem~cia em questo,- a freqncia do ultra-som da fonte, o ngulo entre o feixe de ultra-som e a direco davelocidade da hem~cia, e

    ~ a velocidade do ultra-som no sangue.Se todas as hemdcias tivessem a mesma velocidade (perfil

    plano de fluxo) e desconsiderssemos efeitos de espalhamentomltiplo entre as hemcias, o sinal Doppler seria monocrom~tico,ie, uma senide na freqncia df(t). Essa sen&ide seria moduladaem freqncia pela velocidade do sangue, de acordo com aexpresso (1). Infelizmente isso no o que ocorre, e o sinalDoppler no monocromtico; ao invs, consiste de um espectrode desvios dfi(t), correspondente ao espectr~das velocidadesvi(t) das hemacias naquele instante.

    O sinal Doppler para as freqUncias f O normalmente usadasna explora~o de artrias ( 2 a 10 MHz ) um sinal de udio e amaneira imediata de avali-lo subjetiva: basta escut~-loatravs de um alto-falante. Diversos instrumentos fornecemestimadores da ve}ocidade m~dia, obtipos atravs de algumatcnica de dem0dula~0 do sinal de udio. As curvas de"velocidade de flxo" assim geradas tm a:vxiliado o diagnsticode doen~as arteriais, j que suas cara~teristicas morfolgicasmuda~. determinadas condi5es patolgicas, e diversos~armetros relacionados h morfologia dessas curvas t.m sidodescritos e estudados na tentativa de quantificar altera~es demorfologias (Gosling e cols., 1971; Harper e cols.,1974; waters,Chamberlain ~ McNeill, 1977; Johnston, Ma~u~zo e Cbbold, 1977;Chant, 19O; Clifford e cols., 1981; Evans, Archer e Levene,1985; Schlindwein, 1982; Tellez-Fuentes, 19S2; Pereira, Caprihane Panerai, 1984; Schlindwein, Caprihan e Gandra, 1986).

    Apesar de ser informao bastante til, a veloc idade md ianada traduz em relao a existncia ou no de fluxo reverso ou avelocidade mxima, sendo tambm um avaliador pobre naquantificao de fluxo turbulento. Obviamente os espectros develocidades contm uma riqueza de informa-es inexistente nascurvas de velocidade de fluxo.

    A exibi~o da evoluo dos espectros ao longo do cempo podeser feita graficamente atrav.s do son09rama ~m que a

    26

  • intensidade associada a cada freqncia corresponde a uma escalade cinza do grfico, a freqncia cor responde a ordenada e ote.po a abscissa. Assim slo exibidas, de uma aaneira ~uitoelegante e coapacta, elll um diagraraa tridimensional, asamplitudes de todas as freqncias presentes no sinal em cadaintervalo de tempo dT, conforme"a figura 1 .

    ......,,;:,.. ......,

  • EQUIPAMENTO UTILIZADOO "PROCESSADOR DE SINAIS DIGITAIS" (DSP) escolhido foi oTHS-~2020 (Texas Instruments, 1985) pelas seguintes caracters-ticas: velocidade (200 ns de ciclo de instruo); memria deacesSo rpido em quantidade suficiente para a tarefa (544palavras para dados); grande memria para programao (64"kwords" - para programas em que~apidez de execuo ~fundamental, utiliza-se c6digo em linha ao inv4s de desvioscondicionais, o que faz com que os programas fiquem bastantelongos); conjunto de instrues poderoso e verstil, incluindoinstrues de multiplicar-acumular nmeros de 16 bits em um6nico ciclo de mquina; unidade aritmtica e lgica eacumuladores de 32 bits (pouco erro de arredondamento);"software" de apoio (a Texas Instruments fornece "cross-assembler" e "linkeditor" para MS-DOS); e "hardware" de apoio (a"Loughborough Sound Images Ltd." (1986) comercializa urna placa"plug-in" para IBM-PC e compatveis, oferecendo suporte completopara aplicaes de processamento digital de sinais utilizando oTMS-32020 ). A placa "standard" cont~m um conversor A/D de 16bits com ~uplo "buffer" de sada e tempo de converso de 17 ps,um relgio de tempo-real programvel que pode interromper o DSP,8 "kwords" de memria externa de programao, 8 "kwords" dememria externa de dados e um conversor D/A de 16 bits (nousado na aplicao aqui descrita). A arquitetura da placapermite que o microcomputador acesse tanto a memria deprogramao corno a de dados (vistas pelo microcomputador cornoportas de I/O), podendo gerar sinais de controle ("reset" e"hold") para o TMS 32020 e tamb4m receber requisies deinterrupo geradas pelo DSP.

    O MICROCOMPUTADOR escolhido para servir de suporte para odesenvolvimento de "software", interao com o DSP e sadagrfica para os sonogramas, foi o "RM NIMBUS" (ResearchMachines, 1985a), por ter as seguintes qualidades: processadorauxiliar para controle da tela grfica e primitivas grficasimplementadas corno um "superset" do sistema operacional (j quese deseja exibir sonogramas em tempo-real, velocidade deatualizaco da tela importante), grande memria principal - 1Mbyte (interessante para armazenamento de urna quantidadeaprecivel de dados - o sonograma representa urna quantidade deinformao muito grande: A freqncia de amostragem de 40.96kHz, 1 Mbyte cor responde a 25.0 s de sinal!), unidade central deprocessamento moderna e rpida (80186 - 8 MHz - Intel Co., 1986)e um sistema operacional poderoso e razoavelmente simples deusar a partir de "Assembly" (MS-DOS versao 3.1 - Microsoft Co.,1984)

    Ambos os equipamentos (a placa do DSP e o microcomputador -mestre) esto prximos do que se poderia chamar "estado-da-arte"em suas reas e o sistema NIMBUS + PLACA do DSP, esquematizadona figura 2, representa urna excelente relao desempenho/custo

    28

  • para a presente tecnologia. Apesar de a placa no ser "plug-in"para o RM NIMBUS , o interfaceamento bastante simples, tendosido necessrias modificaes mnimas no "hardware" paracompatibilizar o "bus" da placa com o do microcomputador(Research Machines, 1985b). Em termos de "software", apenas umapequena modificao no monit~r fornecido pela "LoughboroughSaund Images" foi necessria, para compatibiliz-lo com a regiode I/O disponvel no RM NIMBUS.

    INTE~FACEANAlOSICA

    SINALDOPPLER

    PROCESSADORDE SINAIS

    AIO

    INTERFACEDISITAl

    lfICROCOlfPUTADOR

    oFigura 2 - Configurao esquemtica do sistema. Vide detalhes

    no texto.

    Um IBM-PC poderia ter sido utilizado, evitando-se assim anecessidade de modificaes de "hardware" e "software" parainterfaceamento, mas o tratamento da tela grfica no NIMBUS ~mais rpido, e esse um fator importante a ser considerado (verabaixo). O processador do NIMBUS, mais moderno e mais rpido queo 8088 do IBM-PC, e a memria maior, tambm justificam o fato deno se ter escolhido o popular IBM-PC.

    A INTERFACE ANALGICA DE ENTRADA consta de proteo contrasobretenses, filtro "anti-aliasing", amplificador com ganhovarivel e circuito de "track-hold", conforme o esquema dafigura 3. O acoplamento do sinal pode ser feito em AC, atravsde um filtro passa-altas com f O= 7.2 Hz ou, caso freqncias tobaixas sejam de interesse, em DC. Para sinais Dopplerrecomenda-se acopiamento AC para que "off-sets" na gerao dosinal no limitem a mxima amplitude possvel na entradaanalgica. Assim tem-se uma melhor relao sinal rudo da. parteanalgica, melhor aproveitamento da faixa dinmica do conv~rsorA/D e ainda uma melhor relao sinal/ rudo no processamentodigital, j que erros de arredondamento de um bit so possveisem cada estgio, e esses erros podem ser considerados "rudos"causados pelo tamanho finito da palavra do DSP. Convm lembrarque normalmente os velocmetros Doppler incluem filtros pararejeio de reflexos de alta amplitude causados por estruturasestticas ou com velocidades muito baixas ( paredes dos vasos ),e as freqncias de corte desses filtros so tipicamente maioresque os 7.2 Hz do passa-altas includo em nossa interface.

    29

  • IINALDOPPLER

    -TRACK~+-II--t--t & t--.....~ A/D

    HQLD-

    Pigura 3 - A interface analgica inclui proteo contra sobre-tenso, -buffer- seguidor de tenso, filtro -anti-aliasing- coa freqncia de corte prograavel, aa-plificador coa ganho varivel, chave para acopla-aento De ou AC, e circuito -track' hold- (SaC5320 -Burr-Brovn). Todos os aaplificadores sio OP-16P, PMI.O filtro do tipo Buttervorth.

    A ESTRUTURA DO "SOFTWARE"

    A estrutura do "software" para obten~ do sonograma emtempo-real est representada nas figuras 4, 5 e 6. Tanto a placado DSP como o ~icrocomputador foram programados em "Assembly",sendo que-~ versao atual a seqGncia de processamento e adiviso de tarefas entre o Processador de Sinais Digitais e omicrocomputador a seguinte:Processador de Sinais:

    - A n Interrupt Service Routine " (ISR) acionada pelotemporizador programvel, gerando a amostragem do sinal DOpplerna freqncia desejada. As amostras so colocadas em um "buffer"circular de 256 posiSes na memdria interna do DSP (mem6ria deacesso rpido). A ISR roda concorrentemente com o processamentodas FFT, conforme a figura 6a1 .por isso ~ importante escreveruma rotina rpida - na verso atual a ISR toma 5.2 ~s.

    -As ltimas 256 amostras dispon!veis no "buffer" de dados(preenchido pela ISR) so copiadas em um "buffer" de clculo,tambm na memria interna do DSP. As amostras s!o conve-nientemente ordenadas e multiplicadas por uma janela de Hanning,

    30

  • para reduo dos efeitos de truncamento.

    - A Transformada de Fourier dos dados ~ calculada, sendogerados 128 pares de valores (Real, Imag.), correspondentes aoespectro do sinal.

    - O espectro de potncia calculado e copiado para umaregio de memria de dados externa ao OSP, para ser lido pelomicrocomputador.

    - Um sinal de interrupo enviado para o microcomputador.- O tempo de 6.25 ms contado a partir do incio do

    clculo da ultima FFT, garantindo assim que a "freqncia deFFT's" seja constante (ver "processamanto em tempo-real emultiprocessamento" abaixo). S ento repete-se o processo.

    ~ .~ 2 ~I " ICROCO"P.I1 .~ I~ e- IIA"OSTRA8 CALCULO 8A DA INTR 4~Pigura 4 -A seqncia das operaes realizadas pelo DSP est

    indicada pela nuaerao: A etapa (1) corresponde aaplicao da janela a ua bloco de 256 .-ostras e c-pia deste bloco para ua -buffer- de clculo, a etapa(2) corresponde ao clculo da FFT das 256 aaostras,a etapa (3), ao clculo do espectro de potncia apartir do espectro de .-plitudes, e, final.ente, (4)corresponde a gerao de uaa interrupo para o.icrocoaputador.

    Microcomputador:

    O microcomputador sincronizado placa do OSP pelo sinalde interrupo, gerado cada vez que um espectro est disponvel.Os espectros so lidos pela rotina de servio de interruposegundo uma "fila" de entrada de dados, ie, a temporizao doprocessamento menos dependente da temporizaco da leitura dosespectros. Assim, pode-se assegurar que nenhum resultado deixarde ser lido, mesmo qu'e o processamento do espectro anterior. nose tenha completado (ver "processamento em tempo-real emultiprocessamento abaixo e figuras 5 e 6b). A exibio dosespectros (atualizao da tela) se faz em blocos de quatro, iei

    31

  • o acesso tela no feito com freqncia demasiada. Esseprocedimento no perceptvel pelo observador e foi tomado paraotimizao do tempo de processamento.

    -.I 1fr 1..-BITBD9P I IfICROCOIfP. iI BUFFER o gI PROCEB81-BUFFER 1 AUXILIARII BUFFER 2 128

    I PIXEL8

    I IBUFFER 8 I~ . IiFigura 5 - No microco8putador os espectros so lidos pela roti-

    na de servio de interrupo para um dos quatrobuffers de leitura, de aaneira circular.a programa principal prepara, a partir desses quatrobuffers, Da bloco para o processador auxiliar,conforme indicado a direita da figura: Cada espectrocontribui coa 128 pixels de quatro bits, gerando-se assia o bloco de escrita, coa 128 .ords de 16bits.

    A seqncia de eventos para o microcomputador :- Na rotina de servio de interrupo, o ltimo espectro

    calculado pelo DSP lido rapidamente pelo microcomputador.- No programa principal, o espectro de amplitude

    correspondente ao espectro mais a~tigo finda n~o processado obtido: Amplitude = SQR (R + I ), onde R e I so,respectivamente, as partes real e imaginria dos coeficientes datransformada. Apenas a obteno da raiz quadrada cabe aomicrocomputador, j que o DSP fornece o espectro de potncia.Para obteno da raiz quadrada foi utilizada uma tabela. Ocdigo de cinza gerado atravs de uma mscara nos quatro bitsmais signi~icativos, preparando-se assim parte do "buffer" deescrita para o processador de tela.

    - Aps a leitura de pelo menos mais um espectro pela rotinade servio de interrupo, mais uma coluna do sonograma

    32

  • preparada. A sincronizao entre a leitura dos espectros (rotinade interrupo) e o processamehto (programa principal) se faz

    atrav~s de dois ponteiros.- O procedimento repetido para o terceiro espectro.- E, mais 'uma vez, para o quarto espectro.

    - acionado o processador auxiliar para a escrita dosquatro ltimos espectros na tela,

    ( A ) D9P B ) MICROCOMPUTADORI II JL I 19RJL I 19R ~

  • no fluxo de processamento. Na verso atual so utilizadas asfreqncias de 40.96 kHz, 20.48 kHz, 10.24 kHz e 5.12 kHz.

    utilizando-se a seqncia descrita acima possvelvisualizar o sonograma em tempo-real na tela do NIMBUS. so 320espectros (uma tela) a cada 2.0 s.

    TRANSFORMADAS DE FOURIER

    Transformadas de Fourier discretas e tcnicas deimplementao de algoritmos eficientes para o seu clculo tmsido objeto de est'udo desde os primrdios da poca doscomputadores, e mesmo antes. De fato, Cooley, um dos famosos"inventores" da FFT, em um artigo entitulado "Historical Noteson the Fast Fourier Transform" (1967), menciona que os primeirosalgoritmos do tipo "N log N" para c~lculo da DFT foramdesenvolvidos em 1942 e basear~m-se em trabalhos que remontam a1905 e 1903 !

    No se pretende fazer aqui uma compilao sobre o assunto -sero apenas feitas as consideraes que justificam a escolha datcnica utilizada:

    - Utilizao do algoritmo para c~lculo da FFT de N/2complexos para obteno dos coeficientes correspondentes a FFTde N reais: Tal tcnica resulta em considervel economia detempo de processamento, j que evitar-se clculos redundan~es -o espectro de uma seqncia real apresenta simetria de complexosconjugados a partir da freqncia central (Gold e Rader, 1969;Brigham, 1974; Bogner e Constantindes, 1975; Burrus e Par ks,1985). Ver apndice.

    - Tcnicas de decimao - Decimao no tempo e emfreqncia, Radix 2, Radix 4, outras parties: A partio emquatro (Radix 4) prefervel partio em dois (Radix 2), mass pode ser utilizada quando o nmero de pontos uma potnciade quatro. Tal no e o nosso caso (128 valores complexos).Assim, decidiu-se implementar um algoritmo que use Radix 2 edecimao no tempo (DIT) em uma primeira etapa, que separa os128 complexos em dois conjuntos de 64 valores, e ento Radix 4 edecimao em freqncia (DIF) para tratar cada um destesconjuntos. Radix 8 poderia ter sido utilizada, mas o ganho emtempo de processamento no 'justifica a complicao adicional deimplementao, segundo Burrus e Parks (1985). Os procedimentosde misturar Radix 2 e Radix 4 e de tratar as 256 amostras como128 valores complexos certamente tornam o algoritmo maiscomplicado, mas justificam-se' por tornar o clculo da FF'r 4.2vezes mais rpido que com o procedimento usual de utilizarapenas Radix 2 e no aproveitar o fato que as amostras sovalores reais. Na figura 7 os tempos de clculo de uma trans-formada segundo o algoritmo "sob medida" e a tcnica tradicional

    34

  • so comparados. Tal comparao envolve apenas o clculo da FFT,sendo que devemos lembrar que os dados precisam ser o.oplados dobuffer de entrada para o "buffer" de clculo e multiplicadospela janela, que as interrupes tomam tempo de processamento,os coeficientes devem ser desembaralhados, e o espectro depotncia deve ser obtido e copiado para o buffer de sada.

    84 BUTTERFLIE9t:'" RADIX-2'" (DIT > .. 284.4)tB

    ms

    O (RO.IO>O (R1.11)

    84 BUTTERFLIE9 RADIX-2"ODIFICADA9

    5(DIT >: 528.8psTOTAL. 1.842.... O

    ....~O

    2 FFT'9 DE 84 PONT09 1109.8J9

    O O (R127,jI127>

    Figura 7 - O clculo da FFT de 256 valores reais segundo oalgoritmo -sob medida- demora 1.942 ms.Ao se incluir na avaliao do tempo de processaaentotodos os procedimentos detalhados no texto (exceto asinterrupes), o processa.ento de um bloco de 256amo~tras tODa 3.147 ms, sendo que a Texas Instruments(1986) indica um tempo de 8.243 ms para o proce-dimento padro de utilizar cdigo com -loops-, apenasradix 2 e no aproveitar o fato de que os dados soreais.

    Clculo utilizando um s arranjo ("in place") e oconseqGente embaralhamento dos coeficientes. Mapas de entrada esada: Foi utilizado para o c~lculo da FFT apenas um "buffer" de256 palavras na memria interna do DSP para dados (a utilizaode memria intern~ para processamento rpido altamenterecomendada, pois algumas instrues do TMS-32020 so at 3vezes mais lentas quando se utiliza memria externa). A

  • utilizao de um s arranjo com as amostras em ordem natural naentrada torna necessrio desembaralhar os coeficientes doespectro na sada (Cochran e coIs., 1967). O fato de se utilizardiferentes "radices" faz com que o mapa de sada no seja ofamoso' "digit reverse". O mapa de sada para a FFT dos 128valores complexos dado por:

    m 32i + 8i + 2i + i )mod128 (2)

    onde:m = ndice dos coeficientes de sada,i = ndice dos coeficientes de entrada emod128 denota operao em mdulo-128.

    - Overflow e como evit-lo - Escalonamento automtico oucom testes de overflow potencial no prximo estgio (Rabiner eGold, 1975) : Para evitar a possibilidade de "overflow" duranteo clculo da FFY foi implementado escalonamento automitico emtodos os estgios, ie, as "butterflies" em Radix 2 incorporamdiviso do resultado por dois e as em Radix 4 incorporam divisopor quatro. A implementao das divises foi feita atravs douso das instrues de armazenar com "shift" autom~tico doTMS-32020, ie, o escalonamento no introduz nenhum atrasoadicional. A opo de testar overflow-potenqial em cada estgioe escalonar apenas quando necessrio foi descartda For consumirmuito tempo e introduzir a dificuldade adicional de ter de seconsiderar para cada espectro, individual~ente, o fator deescala necess~rio. Sacrifica-se assim a faixa dinmica da FFT,j que os espectros (16 bits) so divididos por 256 ao final doprocessamento, mas isso s deve preocupar queles que desejamresoluo maior que oito bits para os espectros.

    Convm lembrar que apenas este escalonamento automtico n0 garantia de que no h possibilidade de overflow: o pior casocor responde a uma "butterfly" com o fator de fase equivalente an/4. Nesta infeliz situao a amplitude, aps o escalonamentoautomtico pode ter uma magnitude normalizada de 1+2sen(n/4),ie, 1.2071. Para evitar essa situao convm restringir aamplitude de entrada a valores menores que 1271461 ( 32768 /1.2071 ), ou dividir as amostras por 1.2071 na entrada e tornara multiplic-las por esse valor na sada, conforme proposto porPapamichalis e So (Texas Instruments, 1986). Utilizamos aprimeira alternativa.

    - Efeitos da segmentao do sinal de entrada - Asdescontinuidades nas extremidades dos segmentos da forma de ondade entrada causados pela amostragem de um conjunto finito devalores, ie, a aplicao de uma "janela" retangular no domniodo tempo, tem seus efeitos indesejveis evidenciados no domnioda freqncia. Tais efeitos so bastante conhecidos sob o nome"leakage" (Stanley, 1975; Rabiner e Gold, 1975; Oppenheim e

    36

  • Schafer, 1975). Para diminuir esses efeitos, convm aplicar aosinal de entrada uma "janela" diferente de retangular, comtermina5es suaves. O formato particular da "janela" maisapropriada deve ser escolhido levando-se em considerao ascaractersticas do sinal a ser processado (Bingham, C.: Godfrey,M.D.: Tukey, J.W., 1967). Como no h uma palavra definitiva arespeito do assunto para o caso particular de sinais Doppler,resolvemos implementar a "janela" atravds de uma tabela devalores. ~ssim bastante simples utilizar qualquer tipo defuno. Para esta implementao inicial foi utilizada uma janelade Hanning:

    H(k) = 1/2 [ 1 - cos ( 2 TT k / 256 ) l. (3)- Implementao ou no de "overlap" Se o c~lculo da

    transformada demora menos do que a amostragem das prximas 256amostras, pode-se iniciar a nova transformada imediatamente,conforme a figura Ba, utilizando as ltimas 256 amostras(algumas das quais foram levadas em considerao no clculo daltima FFT - Welch, 1967). As vantagens de tal procedimento

    (AI

    (81

    I I~

    ~(III~~(III~

    ~(I)~~(III~

    ~(III~

    (el~(II~

    I I~(III~

    I I~(III~

    Figura 8 - Dependendo do tempo necessrio para que se complete oprocessamento de um bloco de 256 amostras (Tt), tem-setrs altenativas de partio do sinal: Caso o tempototal de processamento seja menor que o tempocorrespondente a aquisio de 256 amostras (N/fam),pode-se implementar parties com overlap (A), oujustapostas (B). Caso Tt seja menor que N/fam, trechosde sinal sero perdidos (C).

    so, basicamente, duas: ~ primeira que se pode obter a mesmalargura das telas representando os sonogramas, mesmo quando se

    37

  • usarem freqUncias de amostragem diferentes (j que podemoscontrolar a freqtlncia de gerao de espectros). A segun.davant~gem' que se pode apresentar mais informa~o a partir dosinal, compensando com essa "interpolao" o efeito de a"janela", al~m de destruir uma informao "falsa", causada pelasegmentao ("leakage"), tambm destruir informao "real", jque atenua os efeitos das amostras prximas s extremidades dossegmentos.

    - Implementao de m~dias de espectros consecutivos: Este um assunto sobre o qual pode haver controvrsia. Se a freqnciade gerao de espectros maior que a necessria, ie, se o sinalpode ser considerado como "estacionrio" por dois ou maisespectros, o procedimento de obter mdias de dois (ou mesmo

    tr~s) espectros consecutivos, diminuindo assim a varinciaestatstica, justificvel (Bingham, Godfrey e Tukey, 19677.welch, 1967).

    Com freqncia de amostragem de 40.96 kHz, o tempocorrespondente a 256 amostras (sem "overlap") i de 6.25 ms, oque equivale a uma "freqncia de amostragem" de espectros de160 Hz. Com freqncias de amostragem menores a situao aindamelhor. Contudo, na verso atual decidiu-se manter a informaointacta (ainda que redundante, em nossa opinio, para o caso dosinal Doppler), e no foi feita a implementao das mdias.Assim mantm-se a generalidade do "analisador de espectros" parasinais com estacionariedade menor, para os quais o procedimentono seria justificvel.

    PROCESSAMENTO EM TEMPO-REAL E MULTIPROCESSAMENTO

    Quando se deseja processar sinais em tempo-real deve-se--tersempre presente a preocupao com o tempo de processamento. Oassunto to complexo quanto fascinante7 particularmente porqueo "tempo de processamento" de uma "amostra"~, quase sempre,funo do sinal de entrada. Isso , a previso do "tempo mdio"de processamento no trivial.

    Para que se possa usar a expresso "processamento em tempo-real" necessrio que o tempo mdio de processamento seja menorque o tempo em que as "amostras" so tomadas. Eventualmentepode-se admitir que alguma(s) amostraIs) sejam tomadas antes queo processamento da amostra anterior seja concludo, jl que osistema tem memria (desde que o processador recupere o "tempoperdido" em seguida e que a memria no se esgote com amostrasno- processadas). O uso desta tcnica implica um atrasovarivel em termos de sada de resultados. Desde que este atrasoseja tolervel, a tcnica permite um "gargalo" de processamentomais largo, ie, nossa especificao de "tempo m~ximo tolervel"passa a ser o tempo mdio de processamento e no mais o tempomximo. Tal foi a tcnica utilizada neste trabalho.

    38

  • Alguns autores ad~item at~ mesmo a perda de algumas"amostras ou trechos do sinal (figura 8c), chamando isso"processamento em tempo-real". A propriedade ou no da expressl0depende da estacionariedade do sinal em questo.

    No caso particular nossas "amostras" so conjuntos de 256valores e a salda i o sonograma. O ci1cu10 de uma FFT peloProcessador de Sinais (DSP), demora um tempo varivel edependente da freqncia de amostragem segundo a expresso:

    Tt = Tproc / ( 1 - fam.Tisr ),onde:

    (4)

    Tt - o tempo total,Tproc - i o tempo em que uma FFT seria calculada caso no

    houvasse interrup~es,fam - a freqncia de amostragem, eTisr - o tempo tomado a cada interrupo.

    Na verso atual Tproc = 3.147 ms e Tisr = 5.2 ps.Para evitar essa situao de variabilidade na freqncia de

    de gerao deFFT's, decidiu-se fixar o nmero de FFT's prunidade de tempo. Assim, 11mi tamos o pedodo de clculo de FFTtsem 6.25 ms. Mesmo com este procedimento nossa "freqGncia deamostragem" dos espectros de 160 Hz, ie, mais do qUsuficiente para atender ao crit~rio de Nyquist. Com isto tem-sea vantagem de visualizar o sonograma sempre com a mesma 1argu~ana tela, facilitando a comparap~o de sinais tomados co~diferentes freqncias de amostragem.

    Em nosso sistema a situao i ainda mais complexa, porqueh uma diviso de tarefas entre o processador-mestre e a placado DSP: A placa fornece os espectros e o computador gera e exibeos sonogramas. t necessrio, pois, considerar as limitaes detempo do computador. Convm reservar algum tempo de ps-processamento se desejarmos que o computador execute algumaoutra tarefa alm de exibir o sonograma. Tamb~m devemosconsiderar o tempo razovel de atualizao da tela - caso fossepossvel fazer o sistema exibir os sonogramas a cada 3.147 ms,uma tela do computador (320 colunas) seria exibida a cada 1.007sI Nem o microcomputador' capaz de t~lfaanha, nem oobservador se sentiria confort~ve1 com esta implementao. Mesmoos 2.0 s da presente imp1ementapo so, talvez, um pouco rpidosdemais para o observador.

    Dentre as solues possveis, aquela de mostrar a mdia decada dois espectros em cada coluna do microcomputador nos parecebastante razovel. Isto limitaria a freqncia efetiva deexibio de espectros a 80 Hz (ainda atendendo a condio deNyquist), mas permitiria a diminuio da variabilidade

    39

  • estatstica dos periodogramas. E assim, uma tela do computadorcorresponder ia a 4.0 s de sonograma.

    Outra considerao importante quando se tem um sistemamultiprocessamento com multiprocessadores o balanceamento dosistema, ie, convm que a diviso de tarefas seja feitacriteriosamente: o sistema ser to rpido quanto o mais lentodos seus processadores. Por isso, na implementao de futurassofisticaes, o "tempo ocioso" da placa do TMS-32020 ser~explorado, j que o DSP to rpido.

    Em suma, as trs limitaes a serem respeitadas pelosistema na verso atual so:

    1 - O tempo gasto pela ISR deve ser menor que o perodo deamostragem, ie, o produto fam.Tisr deve ser menor que a unidadena expresso (4). Vide figura 6a.

    2 - O tempo total de clculo da FFT ( Tt na expressa0 4 )no deve exceder 6.25 ms (correspondendo a 256 amostras a 40.96kHz), para que no se deixe de considerar nenhuma amostra dosinal de udio. Nessa situao nao h "overlap", conforme afigura 8b.

    3 - Finalmente y o computador deve considerar todos osespectros, ie, de nada adianta' o DSP calcular FFT's em 4.0 ms seo computador no consegue tratar os resultados a essavelocidade.

    RESULTADOS E CONCLUSESO sistema proposto permite a obten~o de sonogramas em

    tempo-real com a faixa de resoluo varivel at 20.48 kHz,exibindo, na te1a do computador, o sonograma e a freqliinciamxima analisada, Fmax, conforme a figura 9. O operador podemudar a faixa de anlise com um simples toque no teclado,selecionando uma das cinco alternativas de freqncia de amos-tragem(figura 10). Os sonogramas so obtidos atravs deperiodogramas modificados (segundo uma janela de Hanning),incuindo "overlap" de amostras p.ara freqncias de amostragemmenore~ que 40.96 kHz.

    ~ DSP calcula os espectros a uma taxa mais rpida que onecess4rio, permitindo que se conjecture sobre a possibilidadede uti1izar esse tempo extra para a obten~o, em tempo-real, dealguns estimadores, como primeiro momento ou freqncia mdia.

    O sistema ~ uma alterriativa bastante verstil para anliseespectral de sinais de iudio em tempo-real.

    40

  • Figura 9 O aonograaa exibido na tela do .icroco.putador e.te.po-real. No caso, a freqncia de a.aatrage. de5.12 kRz,o que i.plica uaa freqncia axiaa de 2.56kBz (indicada na tela co.o 2.5 kRz).

    Figura 10 - Na .etade da tela o operador .udou a fa. depara 10 k8z, ie, r.ax .udou de 2.5 kBz para 5

    1

    5 kBxkBx

  • APNDICEo algoritmo utilizado para a obteno da FFT de N reais a partirda implementao da FFT de 128 complexos foi aquele proposto porBrigham (1974). Segue a descrio detalhada do mesmo:1 - Foi amostrado o sinal x(n) com n=O,1,2,3, .. ,255, isso ,tem-se um vetor com 256 valores REAIS.

    2 - Considere-se os "sinais" u(n) e v(n):u(n) = x(2n), ie, amostras pares do sinal: 128 REAIS.v(n) = x(2n+l), ie, amostras mpares: Tambm 128 REAIS.

    3 - Com u(n) e v(n), forma-se o sinal h(n):h(n) = u(n) + j v(n) , ie, 128 COMPLEXOS.

    4 - Calcula-se a FFT de h(n) +====+ H(k), utilizando umalgoritmo para obteno da FFT de um sinal complexo.

    5 - A partir de H(k) e fcil obter U(k) e V(k):Ur(k) 1/2 Hr(k) + Hr(N/2-k) ] ,Ui (k) 1/2 Hi (k) - Hi (N/2-k) ] ,Vr(k) 1/2 Hi (k) + Hi (N/2-k) ] ,Vi (k) 1/2 Hr (N/2-k) - Hr(k) ] ,

    o que se prova usando as propriedades de simetria de funespares e lmpares. Basta que se calculem 64 desses complexos, ie,k=O,I, ,63, pois os outros 64 so complexos conjugados desses- lembrar que u(n) e v(n) so vetores REAIS.

    6 - Finalmente, a partir de U(k) e V(k), obtm-se X(k):X(k) '"' 1/2 [ U(k) + exp ( -2 TT j k /256 ) * V(k) ],

    que uma "butterfly" Radix 2 do tipo "decimao no tempo".

    A seqncia exemplificada abai.xo para k=l:2 * X(l) = Ur(l) + ( Vr(l)cos9 + Vi(l)sen& ) +

    j [ Ui (1) + ( Vi (1) cose + Vr (1) sene) ] e2 * X(127) Ur(127) + ( Vr(127)cos8 + Vi(127)sene +

    j [ Ui (127) + ( Vi (127) cose + Vr (127) sen& ] Como no se tem os valores de Ur; Ui, Vr e Vi para k maior

    que 63, utilizam-se as propriedades de simetria, que garantemque a parte real da DFT de uma funo real par e a parte

    imagin~ria mpar, para escrever:

  • 2 * X(127) = Ur(l) - ( Vr(1)cos8 + Vi(1)sen8 ) +j [-Ui(l) + ( Vi(l)cos& - Vr(l)sen& )].

    Por convenincia de nota9o, chamemos

    Pl = Vr(k)cos& + Vi(k)sen8 eP2 = Vi(k)cos& - Vr(k)sen8.Todo o clculo pode ser feito "in place", utilizando-se 256

    posies de mem6ria apenas:

    Hr{k) -----~ Ur(k) -----------~Ur(k)+Pl -----~Xr(k),Hi (k) ------- Ui (k) ----------- Ui (k) +P2 ----.- Xi (k) ,Hr(128-k) -~ Vr(k) --~ Pl --~ Ur(k)-Pl -----~ Xr(128-k),Hi(128-k) -~ Vi(k) ---. P2 -~~ P2-Ui(k) ----~ Xi(128-k).Basta que se execute o que o diagrama acima indica 63

    vezes. O primeiro ponto e o do meio so casos especiais:

    Primeiro ponto ( k=O ):Ur (O) Hr (O)Ui(O) O entoVr (O) = Hi (O)Vi(O) = OPonto do meio ( k=64 ):Ur (64) '" Hr (64)Ui(64) OVr (64) Hi (64) entoVi(64) O

    Xr(O)Xi (O)

    Xr(64)Xi (64)

    1/2 [Hr(O)+Hi(O) ], eO

    Hr(64)/2, e- Hi(64)/2.

    AGRADECIMENTOS

    Os autores agradecem o apoio financeiro da UniversidadeFederal do Rio de Janeiro (UFRJ), do Conselho Nacional deDesenvolvimento Cientfico e Tecnolgico (CNPq) e da LeicesterRoyal Infirmary,e tambm ao colega Michael J. Smith, com quemtivemos proveitosas discusses.

    REFERNCIASBINGHAM, C., GODFREi', M.D., and TUKEY, J.W. (1967), "Modern

    Techn~quesof POweT Spe~trum Estimation". IEEE Transactionson Audio and Electroacoustics. Volume AU-15, Number 2,pages 56-66.

    43

  • BOGNER, R.E., and CONSTANTINIDES A.G. - Editors (1975),Introduction to Digital Filtering. John Wiley & Sons.

    BRIGHAM, E.O.(1974), The Fast Fourier Transform, EnglewoodCliffs, NJ, Prentice-Hall Inc.

    BURRUS, C.S., and PARKS, T.W. (1985), DFT/FFT and ConvolutionAlgorithms - Theory and Implementation. John Wiley & Sons.

    CHANT, A.D.B. (1980), "Quantitative Assessment of the~ommonfemoral to Popliteal Arterial Segment UsingContinuous Wave Doppler Ultrasonic". Ultrasound in Medicineand Biology, Volume 6, pages 99-105.

    CLIFFORD, P.C., SKIDMORE, R., BIRD, D.R., WOODCOCK, J.P., andBAIRD, R.N. (198l), "The Role of Pulsatility Index in theClinicaI Assessment of Lower Limb Ischaemia", ClinicaIPractice, Volume 5, Number 5, pages 237-241.

    COCHRAN, W.T., COOLEY, J.W., FAVIN,D.L., HELMS, H.D., KAENEL,R.A., LANG, W.W., MALING Jr., G.C., NELSON, D.E.,

    RADER,C.~1., WELCH, P.D. (1967), "What is the Fast FourierTransform?" IEEE Transactions on Audio andElectroacoustics. Volume AU-15, Number 2, pages 45-55.

    COOLEY, J.W., LEWIS, P.A.W., and WELCH, P.D. (1967), "HistoricalNotes on the Fast Fourier Transform". IEEE Transactions onAudio and Electroacoustics. Volume AU-15, Number 2, pages76-79.

    EVANS, D.H., ARCHER, L.N.J., and LEVENE, M.I. (l985), "TheDetection of Abnormal Neonatal Cerebral Haemodynamics UsingPrincipal Component Analysis of the Doppler UltrasoundWaveform", Ultrasound in Medicine & Biology, Volume 11,Number 3, pages 441-449.

    GOLD,B., and RADER, C.M. (1969), Digital Processing of Signals,Mc Graw-Hill, Inc.

    GOSLING, R.G., 'DUNBAR, G., KING, D.H., NEWMAN, D.L., SIDE, C.D.,WOODCOCK, J.P., FITZGERALD, D.E., KEATES, J.S., andMacMILLAN, D. (1971), "The Quantitative Analysis ofOcclusive Peripheral Arterial Disease by a NonintrusiveUltrasonic Technique", Angiology, Volume 22, pages 52-55.

    HARPER, D.R., KELMAN, G.R., MAVOUR, G.E., WALKER, M.G., andWATSON, A.W.S. (1974), "Time Interval Between ECG-R Waveand Peak Flow Velocity in Leg Arteries of Normal Humana"Journal of Physio~ogy, 239:21.

    INTEL-CORPORATION (1986), "80186 High Integration l6-BitMicroprocessor". Application Note AP-186. Order N.21045l-1.

    44

  • JOHNSTON, K.W., MARUZZO B.C., and COBBOLD R.S.C. (1977), "Errorsand Artifacts of Doppler Flowmeters and their Solution n ,Archives of Surgery, Volume 112, pages 1335-1342.

    KARNOWSKI, R.J., and SUN, E. (1983), FFT Processo r - Basics andFloating Point Arithmetic besign. WEITEK Corporation.

    LOUGHBOROUGH SOUND IMAGES Ltd. (1986), TMS 32020 Board User'sManual. Issue 3.

    MICROSOFT CORPORATION (1984), MS-DOS Operating System Version3.1 and LINKER Utility and DEBUG Utility. Ed. Researcht1achines Ltd.

    OPPENHEIM, A.V., and SCHAFER,Processing, Prentice-Hall,Jersey.

    R.W.Inc. ,

    (1975), Digital SignalEnglewood Cliffs, New

    PEDERSEN, J.E. (1982), "Fast Dedicated l1icroprocessor forReal-Time Frequency Analysis of Ultrasonic Blood-VelocityMeasurements". Medicine & Biology Engineering & Computing,Volume 20, pages 681-686.

    PEREIRA, W.C.A., CAPRIHAN, A., e PANERAI, R.B. (1984),"Componentes Principais Aplicadas ao Sinal DopplerUltra-S~nico de Fluxo SangUneo", RBE - Caderno deEngenharia Biomdica, Volume 2, Nmero 1, pginas 23-32.

    RABINER, R.L., and GOLD, B. (1975), Theory and Application ofDigital Signal Processing, Prentice-Hall, Inc., EnglewoodCliffs, New Jersey.

    RESEARCH MACHINES Ltd. (1985), m1 NIMBUS Owners Handbook.RESEARCH MACHINES Ltd. (1985), NIMBUS InternaI I/O Bus

    Specification. Technical Information Brief 25.

    SCHLINDWEIN, F.S. (1982), "Microcomputador para Anlise deSinais de Fluxo Sang{neo Arterial Captados por Ultra-SomDoppler" - Tese de Mestrado, Programa de Eng. Biomdica,COPPE/UFRJ.

    SCHLINDWEIN, F.S., CAPRIHAN, A., e GANDRA, S.A.T. (1986),"Anlise de sinaisue velocidade de Fluxo Arterial por~1icrocomputador", Ra-E: - Caderno de Engenharia Biomdica,Volume 3, Nmero 2, pginas 29-49.

    STANLEY, D.W. (1975), Digital Signal Processing, RestonPublishing Company, Inc., Virginia 22090, Prentice-HallCompany.

    45

  • TELLEZ-FUENTES, G.G. (1982), "Propriedades Estatsticas deParmetros Obtidos de Sinais de Fluxo Sangneo ArterialMedido por Ultra-Som, Tese de Mestrado, Programa deEngenharia Biomdica, COPPE/UFRJ.

    TEXAS- INSTRUMENTS (1985), TMS-32020 Use.r's Guide. DigitalSignal Processor Products.

    TEXAS- IN S T RUM ENT S (1986), Oi 9 i tal Si 9 na 1 P r o c e s s in 9Applications with the TMS-32020 Family. Theory, Algorithmsand Implementations.

    WATERS, K.J., CHAMBERLAIN, J., and McNEILL, I.F. (1977), "TheSignificance of Aortoiliac Atherosclerosis as Assessed byDoppler Ultrasound", The American Journal of Surgery.Volume 134, pages 388-391.

    WELCH, P.D. (1967), "The Use of Fast Fourier Transform for theEstimation of Power Spectra: A Method Based on TimeAveraging over Short, Modified Periodograms". IEEETransactions on Audio and Electroacoustics. Volume AU-15,Number 2, pages 70-73.

    46

  • DOPPLER ULTRASOUND SIGNAL SPECTRAL ANALYSIS ANOREAL-TIME SONOGRAM GENERATION USING A

    DIGITAL SIGNAL PROCESSOR ANO A MICROCOMPUTER

    by

    Fernando S. Schlindwein l and David H. Evans 2

    ABSTRACT -- A system comprising of a TMS 32020development board and an RM NIMBUS (80186 based)micro-computer has been assembled, and programmed toanalyse Dopplerultrasound signals in real-time, andto display the results in the form of a sonogram on avideo monitor with 16 leveIs of grey scale. Thespectral analysis was based on a "tailor-made" FastFourier Transform (FFT). The audio signal may besampled at rates of up to 40.96 kHz, and the systemcalculates a 128 point Doppler power spectrum every4.0 ms. In order to achieve this speed, each block of256 real samples has been treated as an array of 128complex values, and a mixture of radix-2 decimation intime, and radix-4 decimation in frequency butterflieshave been used to implement the FFT. These and othermethods used to realize a system operating inreal-time are discussed.

    1,2 - Leicester Royal Infirmary - MedicaI Physics Dept. -Leicester, LEI 5WW. England.

    47

    0000000400000005