Filtro de paso de banda para aislar la nota musical "A2"

6

Me gustaría diseñar un filtro de paso de banda para aislar la nota musical A2 (110Hz) de sus notas vecinas con una precisión de medio paso. Esto significa que G2# = 103.83Hz y A2# = 116.54Hz deberían estar en la banda de parada.

En el caso ideal , 110Hz estaría a 0 aumentos. G2 # y A2 # serían silenciosos (¿ganancia negativa infinita?), Y habría una caída suave desde el A2 a cada nota vecina.

¿Cómo puedo seleccionar mi tipo de ventana, determinar cuántos coeficientes son necesarios y calcular esos coeficientes?

Tomé algunos cursos de EE en la universidad, pero estoy lejos de ser ingeniero eléctrico, así que solicite una aclaración cuando sea necesario.

Referencias:

pregunta user664939

5 respuestas

9

Tal como lo entiendo, usted desea detectar la amplitud del componente de 110 Hz con un ancho de banda inferior a la 12ª raíz de 2 en cada lado. Las notas adyacentes que no deben ser detectadas son 103.8 Hz y 116.5 Hz, que son aproximadamente un 6% de descuento de la frecuencia central.

Primero, ese es un filtro muy ajustado. Esto no va a suceder con la electrónica analógica, al menos no en la banda base.

Puede hacerlo digitalmente muestreando la señal de entrada compuesta y multiplicándola por el sin y el cos de 110 Hz. Paso bajo filtre cada uno de estos productos para que 6 Hz se atenúen al nivel que desea atenuar las notas adyacentes. Luego cuadra cada uno de los resultados y sumalos. Ese número único será el cuadrado de la amplitud reciente de cualquier componente de 110 Hz en la señal de entrada. Tenga en cuenta que dado que este filtro tiene un ancho de banda muy estrecho, responderá lentamente. Tardará unos 100 ms en estabilizarse desde un paso en la amplitud de 110 Hz entrante.

Si solo quiere detectar que el componente de 100 Hz está por encima de algún umbral, entonces puede usar el valor de amplitud al cuadrado directamente. Si necesita la amplitud real, tendrá que tomar la raíz cuadrada del resultado.

He hecho algo similar para detectar frecuencias DTMF individuales en una señal DTMF. Las frecuencias, el ancho de banda y, por lo tanto, las constantes de tiempo son diferentes, pero el algoritmo es idéntico. Aquí hay un resultado que muestra el valor de amplitud al cuadrado que describí anteriormente para tres frecuencias DTMF sucesivas con el algoritmo configurado para detectar el medio:

Aquí está el fragmento de código que corrió sobre cada muestra de entrada para producir la magnitud cuadrada (MAGSQ) y la magnitud real (MAG):

  for sampn := 0 to nsamp do begin     {once for each input sample}
    t := sampn * sampdt;               {make time of this sample}
    samp := getsamp (t);               {get input sample}
    r := t * freq;                     {make reference frequency phase}
    ii := trunc(r);
    r := r - ii;
    r := r * pi2;
    prods := samp * sin(r);            {mix by ref frequency sine and cosine}
    prodc := samp * cos(r);
    filter (filts, prods);             {low pass filter mixer results}
    filter (filtc, prodc);
    magsq := sqr(filts.val) + sqr(filtc.val); {compute square of magnitude}
    magsq := magsq * 4.0;              {normalize so input 1.0 results in 1.0}
    mag := sqrt(magsq);                {compute linear magnitude}

La subrutina FILTER realiza un filtro de paso bajo de dos polos de la manera habitual. Cada polo sigue el algoritmo estándar:

FILT < - FILT + FF (NUEVO - FILT)

En este caso, FF es 1/128. Dado que es una potencia entera de dos (-7 en este caso), podría realizarse en un microcontrolador con un desplazamiento hacia la derecha de 7 bits.

    
respondido por el Olin Lathrop
2

Como señaló Olin: el ancho de banda es muy estrecho para el análogo. Muy.

Un PLL puede enfrentar el desafío.

Suena mucho un trabajo para un amplificador de bloqueo. Lo que posiblemente sea similar a una forma de hardware de la DFT sugerida.

Ver el final de la excelente nota de la aplicación Jim Williams ...

Bloquea los amplificadores:

Descripción general útil de Princeton

Todo el bloqueo de FPGA digital en el amplificador proyecto de Princeton. Bueno. Verilog.

Implementación de Labview - bien. Un montón de material de apoyo y enlaces. Excelente rendimiento.

Notas de la universidad relacionadas con un curso : material útil.

Aquí hay una nota de aplicación de 26 años del gran difunto Jim Williams que PUEDE ser lo que quieres. Aplicaciones para una instrumentación de capacitores conmutados Bloque de construcción .

Vea la figura 4 y el texto en las páginas AN3-3 y An3-4. Si parece que tiene un valor potencial, probablemente querrá ver muchos de los otros ejemplos que se dan.

Si esto se aplica depende parcialmente de si tiene acceso a la fuente A2 que hizo la A2 que se mezcla con otra señal. Si lo haces, entonces esto funciona de maravilla, tienes un "Homodyne". Si no, puede usar un A2 generado localmente para el controlador del picador (alimentación del pin 16 al LTC1043) pero no tiene coherencia de fase. Los resultados pueden seguir siendo útiles. Hoja de datos de LTC1043 - en stock por $ US5.70 en 1 en Digikey. Esto es DIP18. También disponible en SOIC18.

Dicen:

AmplificadordebloqueoElenfoquedeloperadordeCAutilizadoenlaFigura3puedeextenderseparaformarunamplificadorde"enclavamiento". Un amplificador de enclavamiento funciona por detectando sincrónicamente la salida modulada de la portadora de La fuente de la señal. Debido a que la información de la señal deseada está contenido dentro del transportista, el sistema constituye Un amplificador de banda extremadamente estrecha. No relacionado con la portadora los componentes son rechazados y el amplificador pasa solo Señales que son coherentes con el portador. En la práctica, Los ampli fi cadores de bloqueo pueden extraer una señal de 120 dB por debajo de la nivel de ruido

La Figura 4 muestra un ampli fi cador de bloqueo que usa una sola Sección LTC1043. En esta aplicación, la fuente de la señal. Es un puente termistor que detecta extremadamente pequeño. Cambios de temperatura en una microcalorimetría bioquímica. cámara de reacción.

La portadora de 500Hz se aplica a la entrada de T1 (Traza A, Figura 5). La salida flotante del T1 impulsa el puente del termistor, que presenta una salida de un solo extremo a A1. A1 opera a una ganancia de CA de 1000. Una fuente de ruido de banda ancha de 60Hz también se inyecta deliberadamente en la entrada de A1 (Rastreo B). los los cruces por cero de la portadora son detectados por C1. Salida de C1 Relojes el LTC1043 (Trace C). La salida de A1 (Trace D) muestra La señal deseada de 500Hz enterrada dentro del ruido de 60Hz fuente. La conmutación de sincronización cruzada cero del LTC1043 en la entrada positiva de A2 (Trace E) hace que la ganancia de A2 se alterne entre más y menos uno. Como resultado, la salida de A1 es Demodulado de forma síncrona por A2. Salida de A2 (Trace F) Consta de señal portadora demodulada y no coherente. componentes La amplitud y polaridad deseada de la portadora la información es discernible en la salida de A2 y se extrae por fi ltro promediado en A3. Para recortar este circuito, ajuste la potenciómetro de fase para que C1 cambie cuando el portador cruza a través de cero

LT, AN3, julio de 1985:

enlace

    
respondido por el Russell McMahon
2

Hay algo llamado 'algoritmo de Goertzl', que a menudo se emplea en los DSP para detectar frecuencias individuales dentro de una señal de dominio de tiempo, por ejemplo, para eliminar los tonos DTMF. Esencialmente es una transformada discreta de Fourier optimizada, pero es muy fácil de programar. Google proporcionará numerosos ejemplos si estás interesado.

    
respondido por el JustJeff
2

Nota: Estoy publicando esto más como un FYI, ya que los componentes necesarios tendrían que ser fabricados a la medida y ser ridículamente caros.

Es realmente un experimento mental.

Este es bastante fácilmente posible en forma analógica (ya que en el diseño eléctrico es simple. El diseño mecánico no tanto), asumiendo que puede adquirir los componentes correctos.

Lo que quieres es un filtro de cristal de baja frecuencia . / p>

El verdadero desafío será adquirir cristales de frecuencia suficientemente baja.

Sé que es posible hacer osciladores de cristal de cuarzo por debajo de 1000 Hz, pero fuera de los receptores militares ELF / VLF (por ejemplo, para comunicaciones submarinas), no es un mercado para ellos, por lo que básicamente no están disponibles.

¡Si quieres aprender a moler tus propios cristales, sin duda sería un proyecto interesante!

Otra idea interesante sería intentar crear tu propio filtro SAW . Creo que sería posible hacerlo con un par de actuadores piezoeléctricos. Necesitaría una masa resonante de algún tipo (diablos, tal vez usar un diapasón real), y probablemente tendría múltiples modos de resonancia, por lo que necesitaría un filtro eléctrico además del filtro mecánico, pero ciertamente sería más fácil hacerlo. luego moler sus propios cristales de cuarzo personalizados.

Sin embargo, no sé qué tipo de roll-off podrías lograr.

    
respondido por el Connor Wolf
0

Si solo desea medir la nota, busque el uso de la transformada de Fourier discreta evaluada solo en la frecuencia de interés (también existen algunos otros algoritmos, pero este es fácil de describir)

Esencialmente, durante un período de tiempo multiplica las muestras de entrada por el coseno y el seno de una variable que se incrementa a la frecuencia deseada, y acumula los resultados por separado como los dos componentes de un número complejo. De los totales, puede tomar la magnitud (raíz cuadrada de la suma de cuadrados) y la fase.

Para reducir la detección falsa de otras frecuencias, es posible que desee utilizar una función de ventana como un coseno elevado (coseno + 1, desde -pi / 2 a pi / 2) que se atenuará y desvanecerá suavemente la señal de entrada. Para reducir la contaminación del análisis con artefactos de transiciones abruptas de inicio y detención.

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas