Projete um filtro que permita que frequências abaixo de 5 kHz passem livremente, mas todas as frequências acima de 5,2 kHz devem ser indetectáveis


12

Meu maior desafio com essa pergunta é sua taxa de retirada ridiculamente íngreme.

Estou assumindo que o sinal é indetectável se seu ganho for de -20 dB. Isso significa que, dentro da faixa de transição de 200 Hz, a intensidade do sinal precisa cair em 20 dB.

Se meus cálculos estiverem corretos, esse filtro exigirá uma taxa de roll-off de 1200 dB / dec. Isso requer 60 pólos, o que obviamente não é viável.

Eu gostaria de usar um filtro ativo analógico com ondulação mínima na banda de passagem. Uma grande mudança de fase não é muito importante.

Uma solução potencial é usar um filtro de entalhe em 5,2 kHz. No entanto, as frequências acima da largura de banda do filtro de entalhe ainda não são suficientemente filtradas.

Aponte quaisquer falhas na minha lógica e ou proponha soluções em potencial. Obrigado.


16
Chamando 20dB indetectável é um trecho bastante
PlasmaHH

1
@WhatRoughBeast ??? Percebo que ele dividiu 4500 por 20 para obter 225 pólos; o que estou desafiando é como ele conseguiu o 4500 em primeiro lugar.
Dave Tweed

7
Que tipo de resposta você está esperando Tamir? Analógico passivo / ativo? IIR / FIR digital? Wave filtro digital? FFT + Remover itens indesejados + IFFT?
Harry Svensson

4
Quanta ondulação de banda passante é aceitável?
Bruce Abbott

1
"com ondulação mínima na faixa de passagem" - 'minimal' não é uma especificação.
22418 Bruce Abbott

Respostas:


21

Você assumiu um roll-off de 20dB / dec por pedido de filtro para o seu filtro. Isso não é verdade para todos os tipos de filtro.

Deixe- e f s t o p = 5,2 k H z . Em seguida, f s t o pf0 0=5kHzfstop=5.2.kHz

fstopf0 0=1.04

Veja este filtro elíptico de quarta ordem retirado do artigo da Wikipedia . elíptico

Embora ele não atenda totalmente aos seus requisitos, você pode ver que é viável. Um filtro elíptico de ordem superior pode alcançar o que você procura.

Você deve ter em mente que os filtros elípticos podem fazer coisas perturbadoras na fase do sinal. Como você não mencionou nada sobre as restrições de fase, assumi que um filtro elíptico é adequado.


Isso não é uma má ideia. O LPF elíptico de 6ª ordem possui uma inclinação de transição suficientemente acentuada se a banda passante 3dB ondular e máx. São permitidos vazamentos de -20dB a 5200Hz ou mais. O resultado foi obtido com uma calculadora de filtro, inseri apenas ordens e limites diferentes até que uma resposta de frequência adequada fosse exibida. Sexta ordem significa apenas três blocos de segunda ordem em cascata. Não faço ideia, será realizável na prática com tolerâncias habituais de componentes como um filtro opamp analógico. Isso precisa de mais simulações.
user287001

Olá e obrigado por uma boa resposta. Apenas uma curiosidade, quando olho para a Wikipedia, os pólos parecem repousar em uma elipse. É daí que o nome vem ou é uma coincidência?
mathreadler

1
@ matthreadler Eu acredito que o nome vem da função racional elíptica que aparece na função de transferência do filtro elíptico. Os pólos dos filtros elípticos são uma função da função cosseno elíptica de Jacobi. Portanto, eles se encontram em uma elipse.
111818

21

Esse tipo de redução acentuada requer um filtro digital. Nem pense em analógico. Você precisa envolver a entrada com uma função sinc. A largura da função sinc (o número de pontos do kernel) define a atenuação da banda de parada.

Eu não fiz as contas, mas alguns cálculos muito rápidos (podem ser desfeitos, seu trabalho deve ser feito corretamente) dizem que você provavelmente precisará de alguns 100 pontos se estiver amostrando a 20 kHz. 200 pontos a 20 kHz significa uma taxa MAC de 4 MHz. Isso é factível, na verdade bem abaixo do que os DSPs modernos podem fazer com bastante facilidade. Isso significa que seu problema é bastante tratável. Algo como um dsPIC da série E pode fazer isso, e isso é bastante barato se você estiver procurando apenas pelo recurso DSP.


3
este é realmente um filtro FIR. Uma simulação rápida mostrou que 128 filtros de torneira com janelas retangulares são suficientes. Os coeficientes são obtidos da resposta sincera ao impulso do LPF 5100Hz ideal. O primeiro sidelobe é de apenas -20dB a aprox. 5250Hz (visto de uma calculadora de filtro)
user287001

2
@user: OK, então isso significa que é realmente um pouco mais fácil do que minha estimativa aproximada acima. Eu provavelmente tornaria o kernel um pouco mais amplo, apenas para ter alguma margem, especialmente porque isso ainda está dentro da capacidade de um DSP modesto.
Olin Lathrop

Existem alguns realmente bons recursos para a função de janela de filtro e que a utilização: Eu, pessoalmente, como dspguide.com
Peter Smith

4

Se você permitir um atraso substancial ou processar um sinal gravado, poderá simplesmente executar a FFT, remover componentes indesejados e inverter a transformação. Você deve truncar o fft com a função de janela apropriada para manter o toque aceitável.


8
Eu acho que para uma banda de transição tão estreita, você precisa dizer muito mais sobre como selecionar a função da janela para tornar essa resposta útil para resolver o problema.
O fóton

4

Eu escolhia um chip de codec de áudio (ADC + DAC), encaminhava a saída digital do ADC para a entrada DAC e definia a taxa de amostragem para 10kHz.

Esses chips já incluem o mecanismo de filtro digital necessário. Uma verificação rápida da folha de dados parece confirmar que você obterá o desempenho de filtro necessário.


Você tem certeza sobre isso?
precisa saber é o seguinte

Não 100% de certeza, mas eu não vejo qualquer razão que não iria funcionar com um codec sigma delta, alguns podem provar até 8kHz ...
peufeu

Mas quero dizer, por que você acredita que rejeitará as frequências indesejadas, em vez de apelidá-las?
user253751

O ADC de áudio usual é um delta sigma com enorme fator de superamostragem seguido por filtro digital nítido. A maioria deles vai de Fs = 8k a 96-192k. O aliasing é evitado por uma passagem baixa simples de 1ª ordem antes do ADC, e a superamostragem cuida disso. Eles devem funcionar bem em torno de Fs = 10kHz com a freqüência de clock correta.
peufeu 12/0318

4

Você já tem muitas respostas legais com boas soluções tradicionais, filtros elípticos, FFT (curto espaço de tempo), etc.

A codificação de sub-banda significa subdividir o espectro de frequência em "compartimentos", cada um desses compartimentos possui seu próprio filtro associado. As bandas mais apertadas, os filtros mais amplos no domínio do tempo (naturalmente) - mas em áreas onde não precisamos de bandas muito estreitas, podemos escapar com filtros muito curtos e baratos para calcular.

Wavelets são funções que são o resultado de um tipo específico de filtros de sub-banda que são gerados por filtragem iterada seguida por subamostragem.

A idéia seria encontrar as sub-bandas de interesse que nos permitiriam apertar mais os cálculos, mas ainda assim obter uma boa granularidade na banda de interesse.

Exemplo de decomposição de pacotes de derivação Daubechies 12 em três níveis (Wikipedia):

Digite a descrição da imagem aqui

Podemos então resumir seletivamente estes para obter a resposta que queremos. E os que não queremos adicionar - nem precisamos calcular! Vamos precisar de outros mais finos perto da faixa de 5-5,2 kHz para conseguir um comportamento suficientemente acentuado. Mas, por outro lado, longe da banda de 5-5,2 kHz, podemos escapar com apenas algumas subdivisões.


Isso é mais um anúncio do que uma resposta.
Harry Svensson

@HarrySvensson Posso tentar ser mais específico, mas não tenho tanto tempo livre atualmente como costumava melhorar as respostas.
mathreadler

3

se você GARANTIR uma entrada sinusoidal, uma monoestável de uma só vez (74121) pode ser suficiente. Ou o 122/123 reativável.

Use um comparador antes da 74121/122/123

Alguns MCUs incluem comparadores analógicos como seus periféricos; uma vez convertido em onda quadrada, você pode usar temporizadores etc. para detectar acima / abaixo de 5.000Hz, se o MCU tiver um relógio estabilizado por XTAL. Não é necessário um monoestável sensível à temperatura.


3
Interessante, mas o que faz você pensar que a entrada pode ser sinusoidal? Parece bastante utópico fazer essa suposição sem nenhuma razão específica.
leftaroundabout

1
Eu acho que satisfazendo as 4 primeiras palavras de sua resposta "se você puder GARANTIR", então esta é uma solução nova.
Techydude 12/0318

Eu usei essa abordagem (o 74123 recuperável) para detectar o travamento das rodas em um sistema de freio antiderrapante; quando o 74123 atingiu o tempo limite, o cilindro hidráulico foi acionado do 2N3055 para acionar os freios. Temos apenas 2 pulsos por segundo, devido ao tempo hidráulico constante.
Analogsystemsrf 17/03/19
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.