Red de conocimiento informático - Conocimiento informático - ¿Cómo diseñar un circuito generador de señal de audio?

¿Cómo diseñar un circuito generador de señal de audio?

MATLAB tiene potentes funciones de procesamiento de audio y potentes funciones de procesamiento de datos, que pueden generar fácilmente matrices de datos de varias formas de onda. Al mismo tiempo, las matrices de datos se pueden pasar fácilmente a dispositivos de sonido a través de las funciones de procesamiento de audio. Y emitido por la tarjeta de sonido a una frecuencia de muestreo y bits de transmisión específicos. Este artículo toma la versión 6.5 de MATLAB y la tarjeta de sonido Waveterminal 192L como ejemplos para presentar el método de implementación de un generador de señal de onda T.

En el proceso de comunicación y prueba de DSP, la fuente de señal es una herramienta indispensable. Muchos dispositivos utilizan fuentes de señal para simular y detectar objetivos reales para verificar el funcionamiento y la confiabilidad del dispositivo. Por lo general, los fabricantes que desarrollan un solo producto solo necesitan una fuente de señal fija, y también se pueden encontrar en el mercado productos con una rentabilidad adecuada. Pero para algunos desarrolladores, una única fuente de señal está lejos de cumplir con los requisitos. Es posible que necesiten fuentes de señal de varias frecuencias, varias envolventes y precisión para verificar la confiabilidad del diseño. A menudo resulta difícil para los diseñadores encontrar productos que satisfagan exactamente sus necesidades y, a menudo, son extremadamente caros. Además, la mayoría de las fuentes pueden durar uno o dos días, lo que genera un desperdicio significativo. Por lo tanto, muchos fabricantes han optado por desarrollar sus propias fuentes de señal que cumplan con los requisitos y sean rentables.

El diseño de fuentes de señales digitales también se puede completar utilizando hardware. La idea general de su implementación es: primero analizar la forma de onda de la fuente de señal, muestrear un ciclo de datos de forma de onda y almacenarlo. en ROM y luego usarlo para El dispositivo lógico programable lee repetidamente, convierte A/D, filtra y amplifica los datos muestreados. Si desea monitorear la calidad de la señal, realice la conversión A/D en la salida y retroalimentela; el dispositivo lógico programable para análisis, visualización y corrección. Muchos ingenieros elegirán esta idea de diseño. La forma de onda resultante tiene las ventajas de alta confiabilidad, fácil implementación y alta precisión. Sin embargo, todo el ciclo de diseño, desde la selección de ideas, el dibujo de esquemas, el diseño de placas de circuito, la fabricación de placas, la programación, la depuración y los cambios, puede tardar hasta 2 o 3 meses, y es más conveniente y eficaz utilizar MATLAB y tarjetas de sonido para implementarlo. .

Ideas de diseño y métodos de implementación de software

La tarjeta de sonido es un dispositivo que convierte datos de entrada de audio en salida estéreo. La señal de entrada también establece la frecuencia de muestreo y el número de bits de muestreo. tarjeta de sonido, las frecuencias de muestreo de las tarjetas de sonido normales suelen tener valores opcionales de 8.000 Hz, 11.000 Hz, 16.000 Hz, 22.000 Hz y 44.100 Hz, mientras que la frecuencia de muestreo A/D de las tarjetas de sonido profesionales de alto rendimiento puede alcanzar hasta. a 96.000 Hz, la frecuencia de conversión D/A puede alcanzar hasta 192.000 Hz. La frecuencia de muestreo de la tarjeta de sonido se puede cambiar y configurar mediante un software profesional. El número de dígitos de salida de la tarjeta de sonido es un valor fijo, que incluye 8 bits, 16 bits y 24 bits. Sin embargo, este parámetro marca la precisión de conversión de la tarjeta de sonido al realizar la conversión D/A. el valor ideal, se requiere una alta frecuencia de muestreo para asegurarlo.

Dado que la salida es una señal de onda en forma de T con un período determinado y el nivel cero se emite fuera de la onda en forma de T, el diseño de la interfaz (ver Figura 1) debe incluir: frecuencia central, en forma de T segmento de subida de onda, segmento de meseta, intervalo de caída, período de señal de onda en forma de T, selección de frecuencia de muestreo o selección de bits de señal de entrada/salida, así como envío de señal, demostración, borrado, pausa de envío, continuación y salida del sistema. De hecho, existen muchos programas que pueden reproducir archivos de audio, por lo que se ha agregado un botón para generar archivos de audio. Una vez introducidos por completo los parámetros de la señal, la forma de onda se puede ver a través del botón de demostración de la señal. Al modificar datos, primero puede usar el botón de borrar señal para borrar los datos, o modificarlos directamente. También puede controlar la pausa o la continuación de la transmisión de la señal.

a. Método de generación de datos de audio

En la interfaz de la aplicación, *** establezca la frecuencia central, la sección ascendente de la onda en forma de T, la sección de meseta, el intervalo de caída y la onda en forma de T. Las siete fuentes de parámetros de período de señal de onda, frecuencia de muestreo y bit de transmisión se convierten en vectores de datos de audio, frecuencia de muestreo D/A y ancho del vector de datos que la tarjeta de sonido puede aceptar a través de la potente función de cálculo de MATLAB.

Vs: vector de datos de señal de un ciclo

Vup: vector de datos de señal de segmento ascendente,

Vstb: vector de datos de señal de segmento estacionario,

Vdown: vector de datos de señal de segmento descendente

Vs=[Vup, Vstb, Vdown]

Vup=sin(w×Pup),

Vstb; = sin(w×Pstb),

Vabajo=sin(w×Pabajo),

w=2×3.1416×f.

Pup: punto de muestreo de señal de sección ascendente,

Pstb: punto de muestreo de señal de sección estacionaria,

Pdown: punto de muestreo de señal de sección descendente.

w: frecuencia angular de la señal de salida,

f: frecuencia de la señal de salida, obtenida de la interfaz de la aplicación.

Pup=[0:punto:tup-punto]

Pstb=[tup:punto:tup tstb-punto]

Pdown=[tup tstb: punto: tup tstb tdown-point]

Pt=[Pup, Pstb, Pdown]

point=1/fspl, que es el recíproco de la frecuencia de muestreo Los corchetes y. Los datos internos están representados por un vector de datos generado desde el momento de inicio hasta el momento de finalización con el punto como intervalo y Pt es el punto de tiempo de muestreo.

b. Demostrar y borrar la señal de onda T

Estas dos funciones se completan con los botones de demostración de señal y borrado de señal respectivamente. El método de demostración de señal es la señal de un ciclo. El vector de datos en el punto de tiempo de muestreo utiliza la función de trazado para mostrar la señal en el eje de coordenadas en forma de un gráfico bidimensional. Los ejes de coordenadas están configurados para ajuste automático y la interfaz gráfica está configurada para modo de menú del sistema, lo que facilita la edición de señales, el escalado y otras gestiones. El borrado de la señal solo borra los cinco cuadros de texto de la frecuencia central, la sección ascendente de la onda en forma de T, la sección de meseta, el intervalo de caída y el período de la señal de la onda en forma de T en la subfunción de devolución de llamada, y establece una configuración predeterminada para el eje de coordenadas, por lo que La señal mostrada desaparecerá en los ejes.

c.Enviar, pausar y continuar controlando la señal de onda T

La señal se envía utilizando la función "sonido" de MATLAB. Los parámetros de entrada de esta función son los datos de audio. vector y la frecuencia de muestreo y los dígitos de conversión, el método de generación de datos es el descrito anteriormente. Dado que la señal se envía continuamente, se debe usar un bucle para leer y enviar repetidamente el vector de señal de audio generado. Cabe señalar que se debe agregar una declaración de pausa (T) después del sonido de la función. La unidad de T es segundos. , que es el período de una señal. Esta declaración se agrega porque MATLAB ejecuta continuamente declaraciones de segmento de bucle, independientemente de si la tarjeta de sonido ha completado la conversión D/A de una señal de ciclo. La pausa del envío y la continuación del envío están controladas por una variable global para controlar el envío de la señal. Cuando la variable global es 1, el envío continúa; de lo contrario, el envío está prohibido. Sin embargo, la desventaja de aplicar este método es que la señal no puede continuar. se enviará en el punto de tiempo de pausa. Es para leer repetidamente el vector de señal de audio a partir de un nuevo ciclo.

d. Generar archivos de forma de onda y salir del sistema.

Esta función se completa con el botón de archivo de salida. Utiliza la función wavwrite de MATLAB para convertir la señal de audio en un archivo .wav. El archivo también contiene las opciones de frecuencia de muestreo y ancho de datos. El propósito de agregar este elemento es permitir que más software de procesamiento de audio profesional analice la señal. Utilice el comando "salir" para salir del sistema ejecutando la operación de salida de la aplicación y MATLAB. Una desventaja de utilizar MATLAB es que no puede convertir todos los archivos M en aplicaciones que puedan ejecutarse de forma independiente sin MATLAB.

Análisis de forma de onda de salida de la tarjeta de sonido

Los siguientes parámetros predeterminados de la interfaz se utilizan para emitir la señal, es decir, el período de la señal es 29,5 kHz, el período ascendente es 15 ms, el período de meseta es 70 ms y el período de caída es 15 ms, el período es 1 s, también se puede calcular que no hay salida de señal durante 900 ms en cada período. La forma de onda de muestreo de la señal se muestra en la Figura 2. Después del análisis del instrumento, el error de tiempo puede ser inferior a 0,1 ms.

El análisis del espectro de Fourier de la señal periódica se muestra en la Figura 3. La energía de la señal se concentra principalmente en el rango de banda estrecha de 29,5 kHz, que cumple con los requisitos de diseño.

Análisis de la relación señal-ruido de la señal: al analizar el segmento de valor de salida de 0 voltios, se puede juzgar la relación señal-ruido y el tipo de señal de ruido, para descubrir cómo eliminar el ruido. Al amplificar parcialmente la forma de onda del ruido, se puede ver que el ruido es una onda en diente de sierra con una frecuencia superior a 1 M. La forma de onda se muestra en la Figura 4.

Análisis del ruido de salida de la tarjeta de sonido

El valor pico a pico de la señal de salida de la tarjeta de sonido Waveterminal 192L es de 6V, mientras que el valor pico a pico del ruido la señal es de 40 mV, por lo que la relación señal-ruido es 20 log (6000/40) = 43,5 dB, cuando el ancho de los datos es de 8 bits, la precisión D/A es de 1 bit, cuando el ancho de los datos es de 16 bits, la D/A es de 1 bit; La precisión de /A es de 9 bits; cuando el ancho de los datos es de 24 bits, la precisión de D/A es de 17 bits. La relación señal-ruido de la tarjeta de sonido Waveterminal 192L es de 104 bits. Por lo tanto, la señal de ruido proviene principalmente del propio ordenador, de la radiación del ordenador y del ruido ambiental. El ruido de la computadora proviene principalmente de la fuente de alimentación del host. La señal de alimentación de la tarjeta de sonido se toma de la placa base de la computadora, por lo que el ruido de la fuente de alimentación del host se introducirá en la tarjeta de sonido. Además, los equipos que reciben ondas en forma de T, como los equipos que se inspeccionan y los osciloscopios, suelen colocarse junto al host. La radiación de alta frecuencia del host pasará a través de los huecos del chasis y generará ruido. El ruido ambiental es la parte que más fácilmente se pasa por alto, porque es un componente de ruido con una frecuencia de sólo 50 Hz, que tendrá un gran impacto en la señal de salida de baja frecuencia.

Soluciones para reducir el ruido

a. Reducir el componente de ruido eliminando las fuentes de ruido.

A través del análisis anterior se puede observar que la fuente de ruido proviene principalmente. del propio ordenador, Radiación del ordenador y ruido ambiental. La elección de una fuente de alimentación principal con una alta relación señal-ruido desempeñará un papel importante en la eliminación de las fuentes de ruido. Además, cuando el equipo de prueba reutiliza la fuente de señal, debe intentar mantener una distancia de 1 metro del host para reducir el impacto de la radiación electromagnética en el equipo. Con respecto al ruido ambiental, cuando la frecuencia de la señal es muy diferente de 50 Hz, se puede ignorar el impacto del ruido ambiental en el equipo. Sin embargo, cuando la frecuencia de la señal es cercana a 50 Hz, se deben tomar medidas de protección adecuadas para el equipo que se está probando. .

b. Utilice filtrado para eliminar el ruido emitido por la tarjeta de sonido.

Se ha determinado experimentalmente que el ruido emitido por la tarjeta de sonido es superior a 1MHz. Onda en forma de 29,5 kHz, el filtrado puede Para filtrar el ruido, también se debe tener en cuenta la influencia del ruido ambiental, por lo que el uso de un filtro de paso de banda dará mejores resultados. Por supuesto, si se deben tomar medidas para reducir el ruido también se debe decidir de acuerdo con los requisitos de la prueba. Para fuentes de señal con requisitos particularmente estrictos, es difícil lograrlo con MATLAB y tarjetas de sonido.

Resumen de este artículo

El uso de MATLAB y tarjetas de sonido para implementar fuentes de señales permite a los diseñadores implementar rápidamente una variedad de soluciones, y la recopilación, el análisis y el procesamiento de fuentes de señales han aportado grandes beneficios. beneficios de la conveniencia. MATLAB tiene una gran cantidad de funciones de procesamiento de datos que pueden proporcionar fuentes de datos en cualquier forma. También tiene muchas funciones de procesamiento de audio para respaldar el funcionamiento de las tarjetas de sonido. La poderosa función de visualización gráfica de MATLAB puede crear una interfaz de operación amigable. La desventaja de utilizar este método para realizar la fuente de señal es que está limitada por la frecuencia de muestreo y se ve muy afectada por el ruido. Por lo tanto, en aplicaciones prácticas, se necesitan instrumentos de filtrado especiales para procesar la señal de salida. Por lo tanto, utilizar esta solución para implementar fuentes de señal es más adecuado para técnicos que no tienen requisitos muy altos de calidad de señal de salida y necesitan obtener una o más fuentes de señal en poco tiempo.

Referencias:

1 Shi Xiaohong, Zhou Jia, interfaz gráfica GUI maestra, prensa de la Universidad de Pekín, 2003.

2 Xue Dingyu, Chen Yangquan, System. Tecnología de simulación y aplicación basada en MATLAB/simulink, Tsinghua press, 2002.

3 Fan Yingle, Yang Shengtian, Li Tie, aplicación simulink en detalle de MATLAB, people's post-electronics press, 2001.

p>

4 James R.Armstrong F.Gail Gray, Representación y síntesis de diseño VHDL (Segunda edición), China Machine Press, 2002.

5 Hou Boting, Gu Xin, Programa VHDL y digital Diseño de electrónica lógica, Instituto de Ciencias Electrónicas de XiAn, 1997.