Sobreamostragem e dizimação: qual filtro usar?


8

Eu tenho um sensor produzindo (mais ou menos) dados ilimitados de banda com um limite de cerca de 45Hz, com um roll-off e AWGN . Eu tenho um ADC que coleta o referido sinal em 800Hz, com um filtro anti-aliasing unipolar em cerca de 200Hz. O problema é que eu só tenho largura de banda de comunicação suficiente para enviar amostras a 100Hz e, portanto, é necessária alguma dizimação.

Atualmente, eu simplesmente tenho um filtro de média móvel de 8 amostras e envio a cada 8 amostras. Isso parece sujo e subótimo. Certamente deve haver uma maneira melhor.

Existe uma coisa "melhor" aceita para fazer neste caso? Por exemplo, devo usar um filtro FIR passa-baixo para comprimir o mais próximo possível de 50Hz da largura de banda do sinal? Ou existe algum tipo de esquema de estimativa ideal que fará melhor?

O objetivo é implementar vários canais (9 canais) em um microcontrolador pequeno (ARM Cortex M4, por exemplo), para que quanto mais barato computacionalmente, melhor!

Respostas:


6

Por exemplo, devo usar um filtro FIR passa-baixo para extrair o mais próximo possível de 50Hz da largura de banda do sinal?

Sim, é exatamente isso que você deve fazer. Essa é uma taxa de dados extremamente baixa, portanto, mesmo com um processador wimpy, eu acho que deveria ser capaz de fazer um filtro muito bom. Especialmente porque você só precisa calcular das saídas do filtro.18


Existe uma classe "melhor" de FIR para esse problema? Ou um sinc-windowed deve ser suficiente?
Damien

11
Sim, um sinc-windowed deve estar bem.
22613 Jim Clay4 de

2
Embora você possa criar o filtro com um literal de janela-sinc, provavelmente seria mais fácil usar o algoritmo remez. Com ele, você pode especificar a largura de banda da banda passante, a frequência de corte e a ordem do filtro, e ele oferecerá o melhor filtro de equiripple possível, dadas essas restrições.
Jim Clay
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.