Introdução ao DSP – parte 3 - Processamento em Tempo Real – Amostragem (MIC136)

Na segunda parte de nossa série de artigos introdutórios ao uso do DSP (MIC135) falamos das ferramentas de programação, analisando o funcionamento do Code Composer Studio, (CCStudio) um software de programação de DSPs da Texas Instruments e do Starter Kit, um kit prático que conta com uma placa para transferência de programação de um PC para um DSP, também da Texas Instruments. Nesta terceira parte entraremos no modo de funcionamento dos DSPs começando justamente com a maneira como eles convertem os sinais analógicos em digitais para que os mesmos possam ser processados.

Nota: Este curso em 6 partes foi originalmente publicado em 2001, mas ainda é atual no sentido de que os princípios básicos de funcionamento dos DSPs continuam os mesmos. Apenas a versão usada como exemplo não mais existe devendo ser encontradas versões atuais da própria Texas. Para os leitores, a leitura deste curso pode abrir caminho para um aperfeiçoamento posterior.

 

PROCESSAMENTO EM TEMPO REAL

Nas aplicações que envolvem os DSPs, os sinais, na grande maioria dos casos, devem ser processados continuamente. Isso significa que à medida que um sinal chega ao DSP ele deve ser imediatamente convertido para a forma digital, processado e depois devolvido para a forma analógica, com um mínimo de perda de tempo, a não ser que a aplicação não exija isso.

Isso implica na necessidade de uma capacidade para processar sinais em tempo real. Os circuitos dos DSPs devem ser capazes de operar com altíssima velocidade, tanto maior quanto maior for a frequência dos sinais que devem ser processados para que, em nenhum instante, a informação seja perdida, para que o processador interno ao DSP seja alimentado com um fluxo constante de dados e para que após o processamento o sinal seja devolvido rapidamente à saída do circuito.

O processamento em tempo real é hoje possível graças ao desenvolvimento da tecnologia de fabricação dos circuitos e também do desenvolvimento de novos algoritmos, cada vez mais poderosos.

O maior desenvolvimento no segmento de DSPs começou nos anos 70 quando se tornou possível a fabricação de circuitos integrados de grande complexidade. Foi naquela época que se tornou possível a fabricação de dispositivos em tecnologia de 3 micros com uma densidade de até 100 000 transistores.

Nos anos iniciais da década de 80 já era possível encontrar 4 tipos diferentes de chips de DSP, e em 1982 a Texas Instruments introduziu no mercado o TMS32010.

Neste, a arquitetura de Harvard separando a memória de dados da memória de programa já era usada, aumentando a sua velocidade de operação.

A partir daí , dispositivos cada vez mais complexos e contendo maior quantidade de transistores com velocidades maiores e tecnologias de maior densidade foram criados.

Hoje, famílias de DSPs com capacidades que ascendem a GFlops já são disponíveis, possibilitando o processamento rápido dos sinais, na velocidade em que as aplicações modernas exigem.

 

AMOSTRAGEM

Os DSPs foram criados para trabalhar com sinais analógicos já que, no mundo real, a maioria dos sinais com que nos defrontamos tais como sons, imagens, sinais de sensores de velocidade, temperatura, etc., são sinais analógicos.

A técnica usada para se converter um sinal analógico, cuja amplitude varia constantemente, num sinal digital é a da amostragem.

A ideia básica da amostragem pode ser entendida se analisarmos o sinal representado pela figura 1.

 

Na amostragem são tomados os valores em determinados instantes.
Na amostragem são tomados os valores em determinados instantes.

 

Este sinal, que pode ser um som, por exemplo, obtido de um transdutor de pressão ou velocidade, varia com o tempo, apresentando valores que mudam constantemente.

Não podemos representar todos os valores que o sinal assume num dado intervalo, por exemplo, entre A e B na figura, porque eles são infinitos. As grandezas analógicas se caracterizam justamente por isso: variam continuamente.

O que podemos fazer é escolher um determinado número de instantes dentro do intervalo A - B e medir a amplitude do sinal em cada um deles.

Esta medida gera então uma sequência de valores digitais que podem ser levados ao processador, conforme mostra a figura 2.

 

Os valores das amostragens são enviados ao processador na forma digital.
Os valores das amostragens são enviados ao processador na forma digital.

 

 

Entretanto, para converter um sinal analógico em uma sequência de valores digitais existem diversos fatores importantes a serem considerados pelo projetista.

Um primeiro fator a ser considerado é que a quantidade de amostragem que deve ser feita depende da frequência do sinal.

Se tivermos uma quantidade grande de amostragens por ciclo do sinal, não temos problema algum. No entanto, se a frequência do sinal for elevada e só tivermos poucas amostragens por ciclo, os problemas podem ocorrer.

No exemplo da figura 2, se tivermos um pico ou um vale do sinal entre dois instantes em que a amostragem e feita, estes picos e vales não serão detectados, veja a figura 3.

 

Picos e valores abruptos não são detectados.
Picos e valores abruptos não são detectados.

 

 

Uma maneira de se evitar que isso ocorra e que tais picos ou vales (transições rápidas) possam ser amostrados, é fazer a amostragem numa frequência mais alta.Porém, existe um limite para isso, o que exige que se saiba qual é a menor frequência que podemos usar na amostragem de um sinal para que a informação que ele contém não se perca.

 

TEOREMA DE SHANNON

Na verdade, o primeiro teorema que permite estabelecer qual é a frequência mínima de amostragem de um sinal deve-se a Nyquist. O teorema de Shannon afirma que, se tivermos um sinal cuja função que o representa não contenha nenhuma frequência acima de X Hz, este sinal poderá ser determinado completamente se for amostrado em pontos correspondentes a X/2 segundos de separação.

Em outras palavras, para representar um sinal analógico a menor frequência que deve ser usada na amostragem deve ser igual ou maior que duas vezes a frequência da componente de maior frequência deste sinal.

Esta frequência mínima de amostragem é também indicada como limite de Nyquist ou frequência de Nyquist. Realmente, ao representarmos um sinal de determinada frequência que seja convertido para a forma digital por amostragem e muito mais interessante levarmos em consideração a faixa de frequências que ele ocupa no espectro ou banda de frequências, que é mostrada na figura 4.

 

Espectro de frequências de um sinal analógico.
Espectro de frequências de um sinal analógico.

 

 

Podemos trabalhar com este sinal de forma análoga ao que se faz com um sinal de baixa frequência que modula um sinal de alta frequência em amplitude. O sinal passa a ocupar uma faixa que tem por limites a frequência diferença e a frequência soma entre a portadora (frequência de amostragem) e a modulação (frequência do sinal que está sendo amostrado).

E, exatamente como ocorre com sinais analógicos, podemos detectar nesta representação um problema que é muito importante para todos os que trabalham com DSPs: os sinais das duas frequências interagem, provocando “batimentos” que são responsáveis pela geração de novos sinais que vão se espalhar por uma banda muito mais larga de frequências, conforme ilustra a figura 5.

 

Espectro amostrado – o efeito do “batimento” dos sinais.
Espectro amostrado – o efeito do “batimento” dos sinais.

 

 

Este fenômeno é semelhante ao fenômeno que ocorre num receptor de AM comum e que é denominado de geração de “frequências imagem”. Se a frequência de FI destes rádios for impropriamente escolhida, ocorrem batimentos que podem fazer com que uma mesma estação apareça em dois pontos da faixa de sintonia.

Para um DSP que precisa processar sinais que sejam amostrados e convertidos para a forma digital, estas faixas de sinais adicionais podem enganá-lo, falseando a conversão do sinal para a forma digital e, por isso, precisam ser eliminadas.

São usados então filtros anti-falseamento (em inglês é usado o termo alias, surgindo então o nome de filtros anti-alias), que cortam as faixas de frequências que estejam fora dos limites determinados pelo sinal e pela modulação, de acordo com a figura 6.

 

Usando filtros
Usando filtros

 

 

OS FILTROS

Ao trabalhar com DSPs o projetista precisa ter muito cuidado com o uso desses filtros, justamente antes de fazer a conversão dos sinais para a forma digital, conforme mostra a figura 7, pois se eles deixarem passar alguma componente do sinal que possa falsear os resultados na conversão, sérios problemas de funcionamento poderão ocorrer.

 

Amostrando um sinal de banda larga, problemas de falseamento podem ocorrer em 2fm.
Amostrando um sinal de banda larga, problemas de falseamento podem ocorrer em 2fm.

 

Um filtro ideal deve ter uma resposta que permita passar somente a faixa central de frequências amostradas, veja a figura 8.

 

O filtro ideal.
O filtro ideal.

 

 

Na prática, entretanto, conforme o tipo de filtro usado, a curva de resposta não é a ideal, segundo a mesma figura. O projetista precisa então tomar cuidado com a escolha desses filtros para que o próprio programa que vai trabalhar o sinal depois de convertido para a forma digital não seja enganado pela deformação indevida provocada pelo dispositivo.

Esse filtro pode alterar os coeficientes das componentes do sinal nos extremos de frequência conforme mostra o gráfico, e o processador do DSP ficará o tempo todo tentando corrigir essa deformação “pensando” que ela se deve a algo que ocorre com próprio sinal processado, quando ela foi introduzida pelo filtro. Um dos estudos mais importantes para os profissionais que trabalham com DSPS é o que está relacionado com os filtros.

Conhecer a tecnologia dos filtros que podem ser usados com DSPs é algo que deve ser feito mais profundamente por todos aqueles que pretendem ir muito além de nosso curso.

 

A TRANSFORMADA DE FOURIER

O matemático francês Fourier demonstrou que uma função de qualquer tipo (que retrate, por exemplo, um sinal de determinada forma de onda) pode ser sempre decomposta ou representada por funções senoidais de uma certa frequência e de frequências múltiplas.

Em outras palavras, trazendo isso para o mundo da eletrônica, um sinal de qualquer forma de onda pode ser decomposto em sinais senoidais de uma determinada frequência e seus múltiplos ou harmônicas, conforme mostra a figura 9.

 

Decomposição de uma forma de onda em sinais senoidais (fundamental + harmônicas)
Decomposição de uma forma de onda em sinais senoidais (fundamental + harmônicas)

 

De acordo com esta figura um sinal retangular pode ser decomposto num sinal senoidal de mesma frequência e sinais senoidais de frequências múltiplas com intensidades que variam de acordo com sua forma. Estes sinais de frequências múltiplas são denominados de “harmônicas”. Para a eletrônica este fato tem uma importância muito grande, principalmente no mundo dos DSPs.

Isso significa que, qualquer que seja a forma de onda de um sinal, uma vez que seja determinada sua forma de onda ele pode ficar totalmente definido pelos coeficientes que determinam a amplitude de cada uma de suas componentes senoidais, ou seja, os coeficientes da componente fundamental e de suas harmônicas.

Assim, por mais complexo que seja um sinal, ele poderá ser tratado como uma sequência simples de alguns números apenas, que representam a amplitude das suas componentes, em lugar de precisarmos de uma sequência muito grande de números que identifiquem ponto a ponto este sinal, conforme vimos no caso da amostragem.

Esta transformação que se faz no sinal é denominada Transformada de Fourier Discreta, ou abreviadamente DFT (Discret Fourier Transform).

Os DSPs se aproveitam deste fato no processamento.

Quando um sinal é amostrado, pelos pontos que determinam a sua forma de onda que formam uma sequência grande de valores, é possível transformá-lo numa série menor de valores que retratam apenas os coeficientes das componentes senoidais que o reproduzem.

Trabalhando com uma quantidade menor de dados os DSPs conseguem uma velocidade muito maior podendo, portanto, trabalhar com sinais de frequências mais elevadas.

A própria Transformada de Fourier Discreta foi aperfeiçoada com o tempo. Os matemáticos descobriram que existem muitos fatores redundantes quando se representa um sinal de determinada forma de onda e que não precisariam ser repetidos, aumentando assim a quantidade de dados a ser transferida para o processador (lembramos que ao se trabalhar com sinais de frequências elevadas, qualquer ganho de velocidade é muito importante).

Esses fatores nada mais são do que valores de coeficientes que podem se repetir de maneira conhecida e, por isso, não precisam ser expressos. Desenvolveu-se então o que se chama de Transformada Rápida de Fourier ou FFT (Fast Fourier Transform), que permite ganhar velocidade no processamento de um sinal graças à eliminação de coeficientes redundantes além de outros artifícios que os leitores interessados em aprofundar-se podem posteriormente estudar.

O importante, é que graças à transformada de Fourier é possível trabalhar de forma muito simples com sinais de qualquer forma de onda, representando-os não ponto a ponto, mas sim por coeficientes de um sinal fundamental senoidal e de suas harmônicas.

 

DSP BIOS

Um dos problemas básicos para a utilização do DSP em aplicações que envolvam sinais de frequências elevadas é a sua capacidade de fazer processamentos muito rápidos. Quando se programa em C, muitas declarações que devem ser enviadas ao processador ocupam muitos kbytes de memória, os quais devem ser lidos a cada operação.

Conforme sabemos, um ponto primordial no uso de DSP é justamente o que envolve a sua capacidade de fazer operações rapidamente.

Nos DSPs da Texas Instruments, da série TMS32, este problema e resolvido graças a um novo conceito de BIOS (Basic Input and Output System) que possibilita o trabalho com os sinais em tempo real. O que se faz é incluir no BIOS blocos de funções que trabalhem apenas com os dados de certas declarações de um programa em C e que poderiam demorar para serem transferidas para o processador.

Uma delas é o “print” que normalmente ocupa uma grande quantidade de bits. Se esta declaração for incluída no kernel do DSP de modo que ela precise apenas dos dados para operar, teremos uma redução da quantidade de dados que o processador do DSP precisa transferir para operar e, com isso, a possibilidade de operar numa velocidade maior.

O DSP/BIOS é portanto um kernel que contém certas funções em C, que permitem acelerar todas as operações em tempo real.

 

 


Vencedor
Os que vencem, seja lá de que modo, nunca disso se envergonham. (Coloro Che vincono, in qualche modo vincano, mal non ne riportano vergogno.)
Maquiavel (1469 - 1527) - As Histórias Florentinas - Ver mais frases

Instituto Newton C Braga - 2014 - Entre em contato - Como Anunciar - Políticas do Site
Apoio Social
Lions Clube de Guarulhos Sul SOS Mater Amabilis
Advertise in Brazil
If your business is Electronics, components or devices, this site is the correct place to insert your advertisement (see more)