Diseñe un filtro que permita que las frecuencias por debajo de 5 kHz pasen libremente, pero todas las frecuencias por encima de 5.2 kHz deben ser indetectables

12

Mi mayor desafío con esta pregunta es su tasa de reducción ridículamente elevada.

Supongo que la señal es indetectable si su ganancia es de -20 dB. Esto significa que, dentro de la banda de transición de 200 Hz, la intensidad de la señal debe disminuir en 20 dB.

Si mis cálculos son correctos, este filtro requiere una tasa de reducción de 1200 dB / dec. Eso requiere 60 polos, lo que obviamente no es factible.

Me gustaría usar un filtro activo analógico con mínima ondulación en la banda de paso. Un gran cambio de fase no es demasiado importante.

Una posible solución es usar un filtro de muesca a 5.2 kHz. Sin embargo, las frecuencias por encima del ancho de banda del filtro de muesca todavía no están suficientemente filtradas.

Por favor, señale cualquier falla en mi lógica o proponga posibles soluciones. Gracias.

    
pregunta Tamir Shklaz

6 respuestas

21

Usted ha asumido una reducción de 20dB / dec por orden de filtro para su filtro. Esto no es cierto para todos los tipos de filtro.

Deje que \ $ f_0 = 5 \ mathrm {kHz} \ $ y \ $ f _ {\ mathrm {stop}} = 5.2 \ mathrm {kHz} \ $. Luego $$ \ frac {f _ {\ mathrm {parada}}} {f_0} = 1.04. $$

Eche un vistazo a este filtro elíptico de cuarto orden tomado del artículo de Wikipedia .

Aunque no cumple con sus requisitos, puede ver que es factible. Un filtro elíptico de orden superior puede lograr lo que buscas.

Debe tener en cuenta que los filtros elípticos pueden alterar la fase de la señal. Como no mencionó nada sobre sus restricciones de fase, asumí que un filtro elíptico es adecuado.

    
respondido por el user110971
21

Este tipo de reducción drástica requiere un filtro digital. Ni siquiera pienses en lo analógico. Es necesario convertir la entrada con una función sinc. El ancho de la función sinc (el número de puntos del kernel) define la atenuación de la banda de parada.

No he hecho los cálculos, pero algunos cálculos muy rápidos (podrían estar deshabilitados, su trabajo es correcto) dicen que probablemente necesite unos 100 puntos si toma muestras a 20 kHz. 200 puntos a 20 kHz significa una tasa de MAC de 4 MHz. Eso es factible, de hecho, muy por debajo de lo que los DSP modernos pueden hacer con bastante facilidad. Eso significa que tu problema es bastante manejable. Algo como un dsPIC de la serie E puede hacer esto, y eso es bastante bajo si solo buscas la capacidad de DSP.

    
respondido por el Olin Lathrop
4

Si permite un retraso sustancial o procesa una señal grabada, simplemente puede hacer FFT, eliminar componentes no deseados e invertir la transformación. Debe truncar el pie derecho con la función de ventana adecuada para mantener el timbre aceptable.

    
respondido por el user287001
4

Elegiría un chip de códec de audio (ADC + DAC), enrutaría la salida digital ADC a la entrada DAC y configuraría la frecuencia de muestreo a 10 kHz.

Estos chips ya incluyen el motor de filtro digital que necesita. Una comprobación rápida de la hoja de datos parece confirmar que obtendrá el rendimiento del filtro que necesita.

    
respondido por el peufeu
4

Ya tiene muchas respuestas agradables con buenas soluciones tradicionales, filtros elípticos, (tiempo corto) FFT, etc., así que pensé que puedo agregar algo del mundo de la transformación de la banda / codificación de subbanda.

Codificación de sub-banda significa subdividir el espectro de frecuencia en "bandejas", cada una de estas bandejas tiene su propio filtro asociado. Las bandas más cerradas, los filtros más amplios en el dominio del tiempo (naturalmente), pero en áreas donde no necesitamos bandas muy ajustadas, podemos salir con muy corto & Filtros baratos para calcular.

Las wavelets son funciones que son el resultado de un tipo específico de filtros de sub-banda que son generados por el filtrado iterado seguido de submuestreo.

La idea sería encontrar las subbandas de interés que nos permitan exprimir más los cálculos, pero aún así obtener una buena granularidad en la banda de interés.

Ejemplo de descomposición de un paquete de Daubechies 12 en tres niveles (Wikipedia):

Luego podemos resumirlos de forma selectiva para obtener la respuesta que deseamos. Y los que no queremos agregar, ¡ni siquiera tenemos que calcular! Necesitaremos otros más delgados cerca de la banda de 5-5.2 kHz para poder tener un comportamiento lo suficientemente pronunciado. Pero, por otro lado, lejos de la banda de 5-5.2 kHz, podemos salir con solo algunas subdivisiones.

    
respondido por el mathreadler
3

si puede GARANTIZAR una entrada sinusoidal, entonces puede ser suficiente un monoestable de un disparo (74121). O el 122/123 reactivable.

Use un comparador antes del 74121/122/123

Algunas MCU incluyen comparadores analógicos como sus periféricos; una vez convertido a onda cuadrada, puede usar temporizadores, etc. para detectar por encima / por debajo de 5,000Hz, si la MCU tiene un reloj estabilizado XTAL. No es necesario un monoestable sensible a la temperatura.

    
respondido por el analogsystemsrf

Lea otras preguntas en las etiquetas