Pregunta

Me gustaría crear una señal digital (cuadrado) en mi tarjeta de sonido. Funciona muy bien si me generan altas frecuencias. Pero, ya que no puedo salida de CC en una tarjeta de sonido, para las frecuencias más bajas de los bits digitales resultantes serán todos se desvanecen lentamente a 0.

Esto es lo que la hace tarjetas de sonido de paso alto a mi onda cuadrada: http://www.electronics-tutorials.ws/filter/fil39.gif

¿Cuál es la función matemática de una señal, que, cuando se pasa a través de un paso alto se convertirá en la plaza?

Idealmente, la solución se demuestra en gnuplot.

¿Fue útil?

Solución

Los recortes de la tarjeta de sonido fuera de las frecuencias bajas en la forma de onda, por lo que necesita para impulsar las de una cierta cantidad en lo que se pasa a la misma.

Una onda cuadrada contiene muchas frecuencias (ver la sección sobre la serie de Fourier aquí ). Sospecho el método más fácil de generar una onda cuadrada corregida es para sumar una serie de Fourier, aumentando las amplitudes de las componentes de baja frecuencia para compensar el filtro de paso alto en la tarjeta de sonido.

Con el fin de calcular cuánto para impulsar cada componente de baja frecuencia, en primer lugar deberá medir la respuesta del filtro de paso alto en la tarjeta de sonido, mediante la salida de ondas sinusoidales de diferentes frecuencias, pero de amplitud constante, y la medición para cada frecuencia de la relación r(f) de la amplitud de la salida a la amplitud de la entrada. Entonces, una aproximación a una salida de onda cuadrada puede ser generada por la multiplicación de la amplitud de cada frecuencia f componente en la serie de Fourier de onda cuadrada por 1/r(f) (el 'filtro inverso').

Es posible que el filtro de paso alto en la tarjeta de sonido también ajusta la fase de la señal. En este caso, uno puede ser mejor modelado de la de paso alto como una RC filtro , (que es probablemente la forma en la tarjeta de sonido está haciendo el filtrado), e invertir tanto la amplitud y fase de respuesta de eso.

Otros consejos

Algunas de las respuestas anteriores han señalado correctamente que es el filtro de paso alto (AC condensador de acoplamiento en la salida de la tarjeta de sonido) es lo que se evita que las ondas de baja frecuencia cuadrados de "permanecer en" por lo que se desintegran rápidamente.

No hay manera de vencer por completo este filtro de software o no estaría allí, ahora ¿verdad? Si se puede vivir con ondas cuadradas de amplitud inferior a las frecuencias más bajas, puede aproximarse a ellos mediante el envío de algo así como un onda triangular. Desde una perspectiva de análisis transitorio, la teoría de funcionamiento aquí es que a medida que el condensador de acoplamiento está descargando (bloqueo DC) que están aumentando su tensión de polarización para contrarrestar esa descarga manteniendo así la meseta de la onda cuadrada por un tiempo. Por supuesto que con el tiempo se queda sin espacio para la cabeza PCM (no se puede mantener indefinidamente el aumento de la tensión), por lo que una tarjeta de 24 bits es mejor en este aspecto que un 16-bit uno, ya que le dará más resolución. Otra forma, más abstracto que pensar de esto es que el filtro RC funciona como un diferenciador , por lo con el fin de conseguir los picos planos de la onda cuadrada que necesita para darle las pendientes planas de la onda triangular en la entrada. Pero este es un comportamiento idealizado.

Como prueba rápida del concepto, esto es lo que una señal triangular 60Hz ± 1V convierte al pasar a través de un tapón de acoplamiento 1uF en una carga 1Kohm; se aproxima a una onda cuadrada ± 200 mV introducir descripción de la imagen aquí

Tenga en cuenta que la impedancia / resistencia de la carga importa un poco aquí; si se baja a, digamos, 100 ohm la disminución de la amplitud de salida de forma espectacular. Así es como las tapas de acoplamiento en bloque DC en los altavoces / auricular debido a que estos dispositivos tienen impedancia mucho más baja que 1Kohm.

Si puedo encontrar un poco más de tiempo el día de hoy, voy a añadir una mejor simulación, con un estímulo en forma de un mejor lugar de la onda triangular simple, pero no puedo conseguir que desde el software de media simulador de circuitos basado en la web ...

Bueno, si tienes suerte puedes conseguir uno de esos $ 0.99 tarjetas de sonido USB cuando el fabricante tiene esquinas cortadas tanto que no se instalaron acoplamiento tapas. https://www.youtube.com/watch?v=4GNRzwfP7RE

Unfourtunately, no se puede obtener una buena aproximación de una onda cuadrada. hardware de sonido es intencionalmente velocidad de respuesta limitada y no sería capaz de producir un borde descendente o ascendente más allá de su intervalo de frecuencias deseado.

Se puede aproximar una onda cuadrada mal deformado por la alternancia de una alta y por código de bajo PCM (+ max, -max) cada N muestras.

No se puede producir realmente una verdadera onda cuadrada, ya que tiene un ancho de banda infinito. Puede producir una aproximación razonable de una onda cuadrada, sin embargo, a frecuencias entre por ejemplo 10 Hz y 1 kHz (por debajo de 10 Hz que pueden tener problemas con la parte analógica de la tarjeta de sonido, etc., y por encima de alrededor de 1 kHz a la aproximación serán cada vez más inexacta , ya que sólo puede reproducirse un número relativamente pequeño de armónicos).

Tp generar la forma de onda de los valores de la muestra será simplemente alternan entre +/- algún valor, por ejemplo, a gran escala, lo que sería -32767 y 32767 para un flujo de PCM de 16 bits. La frecuencia será determinado por el período de estas muestras. P.ej. para una frecuencia de muestreo de 44,1 kHz, si usted tiene decir 100 muestras de -32767 y después 100 muestras de 32.767, es decir, periodo = 200 muestras, a continuación, la frecuencia fundamental de su onda cuadrada serán 44,1 kHz / 200 = 220 Hz.

He encontrado una aplicación que construyo en él.

http: //www.blogger. com / blogger.g blogid = 999906212197085612 # editor / target = post;? postID = 7722571737880350755

Puede generar el formato que desee e incluso el patrón que necesita.

El código utiliza SlimDX .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top