Capítulo
1 - PROCESSAMENTO DIGITAL DE SINAIS
1.1 PROCESSADORES DIGITAIS DE SINAIS
Processamento
digital de sinais é feito através de operações
matemáticas. Comparativamente, o processamento de textos, de banco
de dados e programas semelhantes meramente reorganiza dados armazenados. Isto
significa que o hardware de computadores projetados para aplicações
gerais não são otimizados para a implementação
de algoritmos de filtragem digital e análise de Fourier. Processadores
digitais de sinais são microprocessadores especificamente projetados
para executar tarefas de processamento digital de sinais. Estes dispositivos
tiveram um tremendo crescimento na última década, e são
utilizados em vários campos, desde a telefonia celular até a
instrumentação científica avançada.
1.2
C VERSUS ASSEMBLY
Os
DSPs são programados através das mesmas linguagens normalmente
utilizadas em outras aplicações científicas e de engenharia,
normalmente assembly ou C. Programas escritos em assembly podem ser executados
mais rapidamente, enquanto programas escritos em C são mais fáceis
de desenvolver e manter. Em aplicações tradicionais, como programas
rodados em computadores pessoais e mainframes, a linguagem C quase sempre
é a primeira escolha. Nestes casos, o uso de assembly é restrito
a seqüências de dados pequenas que devem rodar em velocidades superiores.
Os
programas utilizados em processamento digital de sinais são diferentes
dos softwares tradicionais em dois aspectos importantes. Primeiro, os programas
são normalmente muito menores, diga-se, cem linhas contra dez mil linhas.
Segundo, a velocidade de execução é frequentemente uma
parte crítica da aplicação. Afinal de contas, é
devido à velocidade de processamento que se utilizam DSPs. Estes dois
fatores motivam muitos criadores de software a trocar de C para assembly,
para programar processadores digitais de sinais.
Figura
1 Importância relativa das linguagens de programação
C e assembly
A razão
primária por usar um DSP em vez de um microprocessador tradicional
é a velocidade. O processo para passar amostras de sinais através
do dispositivo e resolver operações matemáticas para
produzir os dados processados deve ser realizado o mais rápido possível
em aplicações em tempo real.
Benchmarks
é um método que expressa a velocidade de um microprocessador
como um número. Por exemplo, são citados frequentemente sistemas
de ponto fixos em MIPS (milhões de instruções por segundo).
Igualmente, dispositivos de ponto flutuante podem ser especificados em MFLOPS
(milhões de operações de ponto flutuante por segundo).
Através
de benchmarks, pretende-se fornecer uma comparação justa para
mostrar qual é o melhor dispositivo. Infelizmente, isto falha frequentemente
na prática, porque microprocessadores diferentes superam outros em
áreas diferentes, e cada um apresenta suas vantagens e limitações
dependendo da aplicação que se tem em mente.
Uma
aproximação melhor é procurar informações
específicas sobre a velocidade de execução dos algoritmos
que se planeja implementar. Por exemplo, se a aplicação consiste
na utilização de um filtro FIR, deve-se procurar o número
exato de ciclos de clock que o dispositivo vai demorar para executar esta
tarefa em particular.
O tempo
de processamento de um algoritmo de DSP em particular pode ser encontrado
se for dividida a taxa de clock pelo número exigido de ciclos de clock
por amostra. A figura abaixo mostra o alcance do tempo de processamento de
quatro algoritmos comuns, executados em um SHARC DSP família
de processadores digitais de sinal fabricada pela Analog Devices - a uma velocidade
de clock de 40 MHz.
Figura
2 Alcance do tempo de processamento
1.4
MERCADO DE PROCESSADORES DIGITAIS DE SINAL
O mercado
de processadores digitais de sinal é muito grande e está crescendo
continuamente. Atualmente, é de aproximadamente 8 a 10 bilhões
de dólares por ano, crescendo a uma taxa de 30 a 40% ao ano. Isto está
ocorrendo devido à incessante exigência por produtos melhores
e mais baratos, como telefones celulares, computadores de multimídia
e reprodução de música de alta fidelidade.
Figura
3 Mercado de DSPs
O mercado de processadores digitais de sinais é dominado atualmente por quatro companhias: Analog Devices, Lucent Technologies, Motorola e Texas Instruments. Aborda-se neste trabalho a família de processadores digitais de sinal TMS320C54x, produzida pela Texas Instruments.