tipos paso filtros filtro casero butterworth alto c++ c filter signal-processing pcm

c++ - filtros - ¿Puede alguien aquí tener una muestra de filtro de paso alto para datos de audio PCM?



filtro paso alto (1)

Debe conocer la frecuencia de muestreo y también tener una idea razonable de las especificaciones de su filtro antes de poder diseñar un filtro adecuado. Solo especificar un corte de 15 kHz no es suficiente, por ejemplo, puede querer algo como esto:

Sample rate: 44.1 kHz Stop-band: < 12 kHz Stop-band rejection: > 80 dB Pass-band: > 15 kHz Passband ripple: +/- 1 dB

A continuación, puede alimentar estos parámetros en un paquete de diseño de filtro y esto le dará todos los coeficientes de filtro, etc.

Tenga en cuenta que la complejidad del filtro (es decir, orden de filtro = número de etapas o "grifos") dependerá en gran medida de la especificación del filtro, por lo que idealmente debe usar un paquete de diseño de filtro que le permita jugar fácilmente con la especificación para que puede intercambiar sus requisitos de diseño con el ancho de banda de cálculo requerido.

También deberá decidir si el retraso de fase y / o grupo es importante para usted: utilice una FIR de fase lineal para un retardo de grupo constante (más caro) o un IIR recursivo si la fase / retraso no son críticos (mucho más económicos de implementar).

Tenga en cuenta que hay paquetes de diseño de filtro en línea gratuitos disponibles, por ejemplo, http://www-users.cs.york.ac.uk/~fisher/mkfilter/ se ve bastante bien (incluso puede generar una implementación de filtro de código C para usted), aunque puede requerir al menos conocimientos de procesamiento de señales a nivel de principiante cuando se trata de seleccionar tipos de filtro, etc.

Para ayudar a comprender los parámetros básicos del diseño del filtro, aquí hay un diagrama útil de http://dspguru.com . Tenga en cuenta que esto es para un filtro de paso bajo, pero los mismos parámetros se aplican en el caso de paso alto.

Buen día. Soy pobre de DSP. Tengo dificultades para entender el algoritmo. Tengo una aplicación de CA, una función de grabadora que grabará ondas de sonido, pero este sonido es una mezcla de todos los sonidos. Específicamente, cuando recibo los datos, voy a filtrar estos datos para guardar solo los datos de audio filtrados con alta frecuencia, la frecuencia de corte de ejemplo es 15khz. Para este filtro, se proporcionan las muestras de datos con tamaño y la frecuencia de corte

C / C ++ está bien

En el momento en que recibí esas muestras de datos, aplique filtro de paso alto y luego guarde el resultado en wav.

-correa