Podemos projetar facilmente filtros de interpolação que obedecem a certas restrições no domínio da frequência usando o algoritmo Parks-McClellan . No entanto, não está claro imediatamente como impor restrições no domínio do tempo; em particular, estou interessado em gerar filtros Nyquist. Portanto, se estou superamostrando por um fator de N
, quero que o filtro tenha cruzamentos de zero em kN
, para um número inteiro diferente de zero k
(isso garante que as amostras de entrada para meu interpolador apareçam na sequência de saída).
Eu vi Harris 1 falar sobre uma técnica para projetar filtros de meia banda, ou seja, o caso especial em que N=2
. Existe uma solução geral para isso? (Eu sei que podemos projetar filtros facilmente com o método window, mas isso não nos dá o mesmo controle.)
[1] Processamento de sinais multirados para sistemas de comunicação , pp. 208-209
fonte
N=2
ver minha resposta para: Design do filtro FIR: Window vs Parks-McClellan e Least-Squares .Respostas:
Um método de design, embora limitado a potências de dois, seria começar com um filtro de meia banda, inserir zeros um no outro (criar uma réplica espectral) e depois envolvê-lo com um segundo filtro de meia banda com uma banda de transição mais ampla. Repita o processo até atingir a potência necessária de 2.
Aqui está um exemplo que cria um filtro passa-baixo com Fc = fs / 8 e zero cruzamentos a cada 4 amostras:
fonte
Um método para obter as passagens de zero desejadas é fazer um design híbrido.
Comece com um filtro de meia banda Parks-McLellan / Remez com o mesmo peso da banda passante e da banda parada. Por ser um filtro de meia banda , ele terá zeros em amostras alternativas. Você pode interpolar o domínio do tempo com sin (x) / x com zero-stuffing no domínio da frequência.
Exemplo: criando um filtro passa baixo fs / 12 com cruzamentos zero a cada 6 amostras.
O filtro resultante é próximo, mas não tão bom quanto, do protótipo em termos de ondulação de banda de parada / banda de passagem. A interpolação sin (x) / x introduz algum toque de baixo nível. Pode ser necessário projetar um pouco o filtro do protótipo para obter o nível de atenuação necessário no filtro interpolado.
fonte