Foram discutidos anteriormente os princípios
básicos da decimação no tempo e da decimação
na frequência para o caso especial em que N é uma potência
de 2. Mais geralmente, a computação da DFT de maneira eficiente
está relacionada à representação de N como
um produto de fatores, sendo
(18) |
Como visto no caso de N ser potência de 2 (onde todos os fatores podem ser feitos iguais a 2), tal decomposição leva a um algoritmo computacional altamente eficiente.
Além disso, todos os cálculos envolvidos correspondem essencialmente a DFT’s de 2 pontos. Por esta razão, tais algoritmos são particularmente fáceis de serem implementados, e frequentemente em aplicações é vantajoso trabalhar com sequências cujos tamanhos são potências de 2.
Em muitos casos, isto pode ser feito simplesmente aumentando-se a sequência com amostras nulas. No entanto, em alguns casos pode não ser possível escolher N como potência de 2, sendo então necessário considerar a situação mais geral da equação (18).
Será considerada então a aplicação de um algoritmo de decimação no tempo para o caso no qual N é um produto de fatores não necessariamente iguais a 2.
Defina-se
tal que.
Se N é potência de 2, pode-se escolher p1=2 e q1=N/2.
Usando a decimação no tempo, deve-se decompor a sequência x(n) em duas sequências, cada uma com tamanho N/2, consistindo uma das amostras de índice par e a outra das amostras de índice ímpar. Quando N=p1q1 , pode-se dividir a sequência de entrada em p1 sequências de q1 amostras cada, associando cada p1-ésima amostra a uma subsequência dada.
Por exemplo, se p1=3
e q1=4, tal que N=12, então pode-se decompor
x(n) em três sequências de quatro amostras, com a primeira
subsequência consistindo das amostras x(0), x(3), x(6), x(9); a segunda
consistindo de x(1), x(4), x(7), x(10); e a terceira consistindo de x(2),
x(5), x(8), x(11). Em X(k) pode ser escrito como
ou
(19) |
As somas internas podem ser expressas como
as DFT’s
(20) |
Pois, como é facilmente verificado,
(21) |
Assim, a equação (19) expressa
X(k) em termos de p1 DFT’s de sequências de
q1 amostras. Para determinar o número de multiplicações
e adições complexas requeridas na implementação
de DFT de acordo com a equação (19), considere que as DFT’s
de q1 pontos são implementadas diretamente.
Da equação (19) observa-se que o número de DFT’s de
q1 pontos a serem avaliados é p1.
Então um total de p1q1²
multiplicações e adições complexas são
requeridas. A soma externa na equação (19) é implementada
multiplicando-se as DFT's de q1 pontos pelo fator ,
e somando-se os resultados.
Como o somatório duplo na equação
(19) tem que ser implementado para N valores de k, um total de N(p1-1)
multiplicações e adições complexas são
requeridas para se combinar as DFT’s de q1p1
pontos. Assim, o número total de multiplicações e
adições complexas requeridas para calcular a transformada
de Fourier discreta na forma dada pela equação (19) é
N(p1-1)+ p1q1².
Agora, as DFT’s de q1 pontos podem ser decompostas
de maneira semelhante. Em particular, se representando-se q1
por
então as sequências de q1
pontos na soma interna na equação (19) podem ser quebradas
em p2 subsequências, cada uma tendo p2
amostras, de forma que a soma interna na equação (19)
pode ser substituída por um somatório duplo como feito no
início. Assim, o número de operações requeridas
para se computar as DFT’s de q1 pontos na equação (19) é,
ao invés de q1 ²,
(22) |
Consequentemente, o número total
de multiplicações e adições complexas requerido
é
(23) |
Continuando o processo descrito acima,
então quando a sequência original estiver sido decomposta
ao máximo, o número de multiplicações e adições
complexas requerido será
(24) |
Por exemplo, se
o número de multiplicações e adições complexas requerido é N(p-1)n .
A discussão apresentada acima está
longe de estar completa no sentido de que somente foram indicadas algumas
das vantagens e desvantagens de se usar valores de N com fatores diferentes
de 2. As vantagens básicas são o aumento da velocidade e
da flexibilidade em alguns casos.; a desvantagem básica é
o aumento na complexidade do algoritmo computacional. Embora tenha sido
aqui discutido somente decimação no tempo, uma discussão
semelhante pode ser feita para decimação na frequência.