Frecuencias no deseadas en tono de diente de sierra

Dado que 440 representa una nota A, un tono de 55 Hz también representa una A, ya que está a 1/8 de la frecuencia. Sin embargo, cuando genero esta nota en Audacity , siempre obtengo frecuencias no deseadas que aparecen como pequeños picos debajo de la fundamental y todos los armónicos.

Aquí hay un ejemplo de una onda de diente de sierra de 55 Hz generada a una frecuencia de muestreo de 48000 Hz:ingrese la descripción de la imagen aquí

Puedes ver claramente esos pequeños picos a partir de 5 Hertz. ¿Qué hace que aparezcan estas frecuencias no deseadas?

Editar: finalmente me di cuenta de que estas frecuencias "fantasmas" son en realidad el resultado del aliasing porque la onda de diente de sierra no está limitada por la banda ( id est: no tiene su frecuencia máxima limitada). Los armónicos más allá de la frecuencia de Nyquist se "reflejan" en frecuencias cuyos hercios son múltiplos del máximo común divisor entre la frecuencia fundamental y la frecuencia de muestreo. En este caso, el GCD entre 55 y 48000 es 5, lo que explica los alias que aparecen en múltiplos de 5 Hz. Otro ejemplo sería el hecho de que una onda de diente de sierra de 43,75 Hz generada sin banda limitada a 48000 Hz produciría alias en múltiplos de 6,25 Hz.

Para que quede claro, sabes que una onda de diente de sierra no es un tono puro, ¿verdad? Sólo las ondas sinusoidales son tonos puros, por lo que cualquier otra función, aunque sea periódica a 55 Hz, necesariamente tendrá picos armónicos en múltiplos de 55 Hz. Dicho esto, los subarmónicos parecen un artefacto, pero es difícil diagnosticar más allá de la observación de Sean E. Lake de que es probable que se deban a la envolvente sin información adicional sobre qué es exactamente lo que estás haciendo.
¿Sería Signal Processing , o posiblemente Electrical Engineering , un mejor hogar para esta pregunta?
Pero observe todos los picos a 5, 10, 15, etc. Hertz.
Sí, precisamente, a eso se refiere "subarmónicos". Pero la pregunta no está clara sobre cuál es el papel de la onda de diente de sierra, así como sus armónicos. ¿Por qué no volver a ejecutar esto con una onda sinusoidal y eliminar una fuente de ruido y confusión?
Una onda sinusoidal muestra solo 55 Hertz. Ninguna de esas frecuencias parásitas subarmónicas e intraarmónicas (?)...
Estoy usando dientes de sierra. Frecuencia de 55 Hertz, frecuencia de muestreo de 48K, 8 segundos de duración.
¿Puede publicar una imagen donde las etiquetas de los ejes y las etiquetas de marca sean legibles, por favor?
Tengo una nueva imagen con las cuadrículas.
Solo un SWAG pero 55 Hz (y armónicos) mezclados con un 'zumbido' (y armónicos) de red de 60 Hz (50 Hz) podría producir 5 Hz (y armónicos).
Esta situación no tiene nada que ver con el ruido de la red.
Si su 'situación' está completamente dentro del dominio digital, ¿por qué no decirlo? He notado cierta 'pereza' por tu parte a la hora de proporcionar suficiente contexto. ¿Es eso por diseño? ¿Cuál es tu intención?
En realidad, incluso si cree que esto está en el dominio digital, la teoría de @AlfredCentauri puede tener algo que ver. Porque muchos de estos paquetes de software producen algunas de sus señales a partir de sonidos de instrumentos muestreados o mediante la codificación predictiva lineal de sonidos no producidos digitalmente u otros medios que pueden codificar y codifican la contaminación en el modelo digital. Sibelius hace esto, por ejemplo. ¿Cómo se produce el diente de sierra? Debe describir toda la ruta de procesamiento de la señal que conduce a lo que tiene: es casi seguro que tiene algún tipo de intermodulación allí. síntesis pianística..
... los modelos producirán intermodulación mientras intentan modelar digitalmente la intermodulación que surge del instrumento real (particularmente a través de la respuesta no lineal del marco de metal).
¿Quizás tiene que ver con el hecho de que 48000 (frecuencia de muestreo) no es divisible por 55 (la frecuencia de la onda de diente de sierra)?
No, aunque es una buena suposición, la tasa de muestreo no produce los términos de suma y diferencia. Solo los procesos no lineales pueden hacer eso. Para tener una idea del efecto que está postulando, calcule la transformada discreta de Fourier de { mi i , ω k } k = 0 norte y verás que es un pico solitario. Si ω está relacionado armónicamente con la frecuencia de muestreo, el pico comprende un número finito de puntos distintos de cero. Si no, entonces el pico se extiende sobre todas las frecuencias pero sigue siendo solo un pico.
Convirtiendo la "respuesta" de @Robert Logozar en un comentario: "Gracias El Ectric por publicar esta pregunta. Noté los mismos artefactos al crear la señal SAW en Steinberg WaveLab 6. Sin tratar de ofrecer la respuesta correcta ahora, me gustaría invitar las personas interesadas en investigar más a fondo el fenómeno mencionado, tal vez incluso en una especie de artículo científico. (Por supuesto, el buen conocimiento del DSP es bienvenido). Para contactarme, busque mi nombre en Google o busque mi perfil en ResearchGate. RL"

Respuestas (3)

Su frecuencia de muestreo es de 48k a 55 Hz, por lo que cada período es de 872,73 muestras. El tamaño de su FFT es 65536. Se ajusta al período 75.093 de las señales. El algoritmo tarda 75 períodos en trazar el gráfico. Esto deja 0,093 periodos entre transformadas FFT consecutivas. 0,093 períodos a 55 Hz corresponden a una frecuencia de 5,1 Hz que coincide con la frecuencia fantasma que ves dentro del margen de error.

Esta frecuencia o sus armónicos no están presentes en el sonido, pero son un error matemático creado por el tamaño de la transformada FFT (2^16) que no se relaciona por un número entero con el número de muestras en el período de la señal.

Además, por la misma lógica, el fantasma de 5,1 Hz crea un artefacto secundario a 0,04 Hz que también ves. Específicamente, 5,1 Hz son 9350,6 muestras por período a 48k. El tamaño 65536 FFT se ajusta a 7,0087 períodos. Se muestran 7 períodos a aproximadamente 5 Hz y el error de período de 0,0087 a 5 Hz crea un fantasma de 0,04 Hz que se ve a la izquierda. Alrededor de -80dB, los valores son pequeños y se ven afectados por el redondeo y otros errores, por la precisión del reloj de la computadora y otros factores, por lo que los valores reales que ve pueden variar ligeramente.

El cálculo muestra que los artefactos deberían disminuir si reduce la frecuencia generada de 55 Hz a aproximadamente 54,93 Hz. Alternativamente, puede aumentar la frecuencia de muestreo a 48.06k. Sin embargo, no puede cambiar el tamaño de FFT solo ligeramente, porque debe ser una potencia de 2.

Sin embargo, cambiar a 54.93 solo aumenta el "espanto" de las frecuencias. Creo que es porque cada período no es un número entero de muestras (y por lo tanto el redondeo) lo que da como resultado estas frecuencias fantasma. Siempre que la frecuencia de muestreo sea un múltiplo entero de la frecuencia del tono, no hay "fantasmas". Pero cada vez que la frecuencia de muestreo no es un múltiplo entero de la frecuencia, estos fantasmas reaparecen.
Así que estaba bastante cerca. Esencialmente la misma idea, solo que con la frecuencia de muestreo en lugar del tamaño de FFT divisible por la frecuencia. Me alegro de que lo hayas resuelto :)
Entonces, ¿todo se reduce a "aparecerán frecuencias fantasma siempre que (frecuencia)/(tasa de muestreo) no sea un número entero"? Pero ese "triángulo" en la parte inferior izquierda del espectrograma aparece todo el tiempo.
@ElEctric Creo que hemos establecido con certeza que los artefactos fantasma son creados por el procesamiento de señal deficiente en el software. Un buen software FFT interpolaría primero la señal a un formato de coma flotante de 32 bits, de modo que todos los artefactos se muevan por debajo del nivel de resolución. Este obviamente solo usa las muestras sin interpolación. Realmente no hay nada que pueda hacer con una mala pieza de software, pero reemplácela por una mejor. Afortunadamente, hoy en día no hay escasez de herramientas de software. Puede obtener un programa FFT diferente o simplemente usar una estación de trabajo diferente en lugar de Audacity.
No es un procesamiento de señal deficiente. Lo que llegué a la conclusión es que si la duración de cada período no es un número entero de muestras, aparecerán frecuencias fantasma en cada múltiplo entero del GCF de la frecuencia del tono y la frecuencia de muestreo en tamaños de FFT grandes. Las únicas excepciones son las formas de onda "cuadradas" (cualquier cosa seguida de sí misma invertida y luego todo repetido, como una onda cuadrada o triangular), donde los fantasmas aparecen solo en armónicos impares del GCF y una onda sinusoidal (pura tono), donde no hay fantasmas independientemente de la divisibilidad.
Re: "No puede cambiar el tamaño de FFT solo ligeramente, porque debe ser una potencia de 2". Por lo tanto, no use FFT. FFT es un algoritmo para calcular una transformada de Fourier discreta, y requiere una potencia de dos de muestras, pero no es el único algoritmo. Hay al menos otro , no tan rápido como FFT, pero lo suficientemente rápido como para ser práctico, que funciona para cualquier número arbitrario de muestras.

No puedo estar seguro de que esto esté generando tus picos, pero cualquier tono que comience y se detenga no será 100% puro; un tono puro no tiene principio ni fin. Considere un tono que comienza en 0 en t = 0 , vibra por el tiempo τ y luego se apaga. Como ecuación, se ve así:

y ( t ) = pecado ( 2 π F t ) Θ ( τ t ) Θ ( t ) ,
dónde Θ ( X ) es la función de Heaviside (paso unitario) . Si integramos eso contra mi i ω t ( 2 π ) 1 / 2 , obtenemos:
y ~ ( ω ) pecado ( 2 π F t ) Θ ( τ t ) Θ ( t ) mi i ω t 2 π d t = 0 τ ( mi i 2 π F t mi i 2 π F t 2 i ) mi i ω t 2 π d t = 1 2 i 2 π [ mi i 2 π F t + i ω t i ( 2 π F + ω ) mi i 2 π F t + i ω t i ( 2 π F + ω ) ] t = 0 τ = 1 2 2 π [ mi i [ 2 π F + ω ] τ ( 2 π F + ω ) mi i [ 2 π F + ω ] τ ( 2 π F + ω ) 1 ( 2 π F + ω ) + 1 ( 2 π F + ω ) ]
Si F τ = norte es un número entero, entonces podemos simplificar lo anterior a:
y ~ ( ω ) = 2 π F ω 2 ( 2 π F ) 2 ( mi i ω τ 1 ) .

Tomando el cuadrado absoluto para obtener algo proporcional a los rendimientos de potencia:

PAG y ~ y ~ = ( 2 π F ) 2 π ( ω 2 ( 2 π F ) 2 ) 2 ( 1 porque ( τ ω ) ) .

Para ver si este es el contribuyente dominante a sus armónicos no deseados, intente producir un tono que dure el doble y uno que dure la mitad, y vea cómo eso afecta sus ubicaciones. También debe esperar armónicos no deseados del muestreo y la digitalización, aunque no sé cómo describir dónde aparecerán.

Editar: no me di cuenta de que estabas hablando de una onda de diente de sierra. Como señaló @EmilioPisanty, los dientes de sierra no son ondas sinusoidales. El diente de sierra es responsable de los armónicos dominantes en el lado derecho del gráfico. Elimínelos (para obtener una onda sinusoidal pura), y obtendrá algo que es plausiblemente de una forma lorentziana cuadrada . Además, los armónicos no deseados no comienzan alrededor 5 Hz , observe el borde de un lóbulo morado al final del gráfico. Apuesto a que el primer lóbulo está cerca 0 Hz , exactamente como cabría esperar si no tuviera un número entero de longitudes de onda en su forma de onda. 0 Hz representa una compensación neta constante de la señal, y ese tipo de desequilibrio es lo que sucede cuando no pasa el mismo tiempo por encima y por debajo del equilibrio.

Editar: Impulsado por el comentario de @WetSavannaAnimalakaRodVance, decidí codificar mi propio generador de tonos. La onda de diente de sierra que generé usando Golang, escribiendo en texto e importando a Audancity produce el mismo espectro. Al igual que el espectro generado por Audacity, el 5 Hz el pico desaparece cuando el parámetro "Tamaño" se reduce a 16384 o menos. Lo que está pasando aquí, creo, es que hay ventanas adicionales impuestas por cómo se genera el espectro :

Plot Spectrum toma el audio en bloques de muestras de 'Tamaño', hace la FFT y promedia todos los bloques juntos.

Sin embargo, la ventana de generación del espectro parece afectar principalmente a una especie de ruido de fondo, por lo que esto solo disfraza el pico. No sé los detalles de lo que está pasando, pero hay una pista al comparar la onda cuadrada con "onda cuadrada, sin alias". A juzgar por la versión ampliada, donde el timbre es evidente, la onda "sin aliasing" se genera utilizando una suma de ondas sinusoidales, a diferencia del algoritmo matemático simple con cortes agudos.

El punto es que este es probablemente un caso de alias : las ondas cuadradas y de diente de sierra contienen información de frecuencia que es más alta que la frecuencia de muestreo que puede representar fielmente, produciendo el equivalente de audio de un patrón Moire (es decir, un tono de baja frecuencia/frecuencia de pulso).

Me parece que la frecuencia de muestreo de OP a 48 kHz es demasiado alta para que aparezcan artefactos de muestreo en ese rango, y esta es la misma señal de alimentación de la computadora digital, por lo que no puede haber artefactos ADC. Pero, dicho esto, ¿tal vez hay ruido de la precisión finita que entra, como un efecto ADC 'efectivo'? Si es así, OP probablemente pueda diagnosticar eso usando una tasa de bits más alta.
Tenga en cuenta que todos los picos ocurren en múltiplos de 5. ¿Podría deberse al hecho de que 48000 no es divisible por 55?
@ElEctric ¿Cuánto tiempo se usó la muestra para generar el gráfico?
@Sean E. Lake: 8 segundos.
@ElEctric probaste 4 segundos y 16 para ver cómo eso afectaba las cosas?
La misma cosa. El espectrograma no se modificó.
Usando ω y F en la misma ecuación tiene un aspecto realmente extraño. Recomendaría elegir una frecuencia angular o normal y luego distinguir la frecuencia de origen y la frecuencia de transformada de Fourier con algo como ω fuente o usando Ω y ω .
@ElEctric Intente jugar con la frecuencia de muestreo ("tasa de proyecto" en la esquina inferior izquierda) y el tamaño de la ventana ("Tamaño" en la herramienta de trazado de espectro). Verás que estos están relacionados con aquellos, de alguna manera. Probablemente una frecuencia de pulsación entre la señal, la frecuencia de muestreo y el tamaño de la ventana de análisis.
No hay latidos audibles aquí.
@ElEctric Te das cuenta que los tonos que te preocupan son más que 55 dB desde la cima, ¿verdad? Eso es más de 300.000 veces más silencioso que el pico. Lo que quiero decir con "frecuencia de latido" es una diferencia entre las frecuencias inherentes a estos procesos. Vea lo que sucede cuando establece la frecuencia de muestreo en 352 , 800 Hz , Por ejemplo. Si fuera usted, exportaría el archivo de sonido y luego lo FFT en Octave o Matlab para obtener una imagen más precisa.
Pero ese es el punto de no establecer una frecuencia de muestreo tan alta. Es para mostrar cómo se magnifica el efecto en proporciones bajas (frecuencia de muestreo)/(frecuencia).
No creo que esto funcione como la explicación completa (aunque definitivamente es una línea de razonamiento plausible para intentar una explicación y sus sugerencias experimentales son buenas): está describiendo una fuga espectral debido a la ventana; por lo general, esto parece una ampliación de los picos y lo que vemos aquí es más como una modulación AM de los armónicos fundamentales y superiores de diente de sierra. Mi conjetura aquí es que puede haber intermodulación con algo más: posiblemente la frecuencia de línea de 50 Hz o 60 Hz. Obtendría términos de suma y diferencia en los intervalos de 5 Hz como se muestra: luego su análisis explica por qué estos...
... los picos de suma y diferencia son amplios.
@WetSavannaAnimalakaRodVance No es una posibilidad. Esta es una señal producida digitalmente, luego analizada digitalmente en el mismo software que la generó.
¿Está absolutamente seguro de eso (es decir, conoce Audacity específicamente)? Porque muchos de estos paquetes de software producen algunas de sus señales a partir de sonidos de instrumentos muestreados o mediante la codificación predictiva lineal de sonidos no producidos digitalmente u otros medios que pueden codificar y codifican la contaminación en el modelo digital. Sibelius hace esto, por ejemplo. Si miras el eje vertical, estos artefactos son muy débiles.
Un tono de diente de sierra no comienza y se detiene. Sin embargo, @Safesphere clavó la respuesta a esta. Cuando calcula una DFT de 65536 muestras, está analizando una función periódica que produce un número infinito de repeticiones de esas 65536 muestras exactas. Pero en este caso, esa no es la función que el OP quería analizar, porque la función que el OP quería analizar no encaja exactamente en tantas muestras. La función que realmente analizó el OP fue casi un diente de sierra de 55 Hz, pero con una pequeña falla una vez cada 1.365 segundos.
PS, el propósito de aplicar una función de ventana antes de calcular una DFT es tratar de reducir la visibilidad de esos artefactos que se crean cuando la señal no es periódica o contiene frecuencias que no son múltiplos exactos de s a metro pag yo mi R a t mi / w i norte d o w S i z mi .

la forma de onda de diente de sierra es rica en contenido armónico y esto aparecería en el espectro. tenga en cuenta también que las formas de onda generadas por computadora a veces son espectralmente impuras debido a errores algorítmicos y artefactos de conversión D-to-A.

Tenga en cuenta que OP no se queja del contenido armónico (a 110 Hz, 165 Hz, etc.), sino del contenido subarmónico que no forma parte de la señal de onda de diente de sierra esperada. Del mismo modo, este parece ser el software Audacity que alimenta una señal digital directamente a su propio analizador, por lo que ni los artefactos DAC ni ADC son directamente aplicables.