Envíe múltiples señales analógicas a la entrada de audio de la PC

0

Tengo 4 señales que debo enviar a la PC a través del conector de audio. ¿Hay alguna manera de hacerlo con pérdidas mínimas de datos? No puedo usar la multiplexación por división de frecuencia, por lo que necesito una forma de enviar las 4 señales en serie para grabarlo con el micrófono y extraer cada señal por separado.

¿Es eso factible? Si es así, ¿cómo?

    
pregunta Isra

5 respuestas

3

Estamos un poco fuera de lugar, pero creo que tenemos un problema XY situación aquí.

Siguiendo los comentarios, no necesita obtener 4 señales analógicas en la entrada de audio de una PC.
Lo que debe hacer es obtener 4 señales analógicas en una PC / teléfono de la manera más económica posible.

Ese es un problema muy diferente.

Por el precio de un multiplexor analógico de 4 entradas y la electrónica para cambiar entre las entradas a la velocidad adecuada, es probable que obtenga un pequeño microcontrolador con 4 entradas analógicas. Esto le permitiría muestrear las 4 señales constantemente a una velocidad suficiente y luego transferir esos datos a la PC / teléfono a través de USB. Tiene la ventaja adicional de que, a diferencia de la toma de micrófono, la toma USB también podría suministrar mucha energía para ejecutar los componentes electrónicos externos.

    
respondido por el Andrew
1

En general, utilice un multiplexor de conmutador analógico para seleccionar el canal (multiplexación por división de tiempo). Debe tener en cuenta que la entrada de la tarjeta de sonido estará acoplada en AC, por lo que la medición de valores instantáneos no funciona. Si puede convertir el nivel de salida del multiplexor a un valor de CA de alta frecuencia (modulación de amplitud), puede medir la amplitud de CA en la tarjeta de sonido y obtener el valor instantáneo de cada canal.

    
respondido por el RoyC
1

Múltiples señales en un canal significa multiplexación.

Hay varios tipos de multiplexación que las personas han inventado durante el último siglo, ooh. En general, es bastante fácil rellenar varias señales en un solo canal, mientras más difícil sea recuperar las señales separadas más adelante.

Si tiene una tarjeta de sonido para PC y 4 canales de ancho de banda de frecuencia cardíaca, entonces hay bolsas de exceso de capacidad, lo que significa que puede ser bastante perezoso sobre cómo descodificar las señales (en comunicaciones, el ancho de banda es costoso, por lo que trabajamos duro en la codificación y decodificación para meter tanta información en un canal determinado como sea posible).

El múltiplex por división de tiempo es conceptualmente fácil, el bit delicado está sincronizando el cuadro para que podamos cambiar cada segmento al canal correcto. También debemos asegurarnos de que terminamos con una señal que pasa por el canal, por lo que si se trata de una tarjeta de audio de PC, no introduzca DC.

Si puede usar ambos canales estéreo, una señal de sincronización en un canal es una forma muy sencilla de sincronizar el decodificador. Para evitar CC, me inclino a cambiar cada canal en polarización de + ve, luego de -ve, por lo que la tensión neta de cada canal es cero.

Si debe usar solo un canal, o si desea ampliar la capacidad más adelante, se puede usar un método de sincronización 'en banda', con un nivel, forma o duración específica de un pulso para indicar el inicio de la cuadro multiplexado.

El múltiplex por división de frecuencia también es muy posible. Use un VCO para cada canal, con la señal que modula la frecuencia. Utilice los VCO de 4046, son bastante lineales y bastante dóciles. Centre uno en (digamos) 1kHz, otro a 4kHz, y 2k y 8k en el otro canal. Las ondas cuadradas tienen armónicos parejos muy bajos, por lo que el filtrado es relativamente simple, no queremos que los armónicos de un oscilador bajo corrompan la señal de uno superior. La separación y demodulación de las señales no necesita sincronización de tiempo, pero sí requiere un conocimiento elemental de DSP. Debería estar dentro de la capacidad de cualquier PC razonable para demodular múltiples canales en tiempo real.

    
respondido por el Neil_UK
1

Solo una idea, si desea que sea lo más barato posible y aún así use el conector de entrada de sonido de una PC / teléfono móvil: ¿por qué no simplemente envía datos digitales a través del conector? ?

Dada la muy baja frecuencia de muestreo requerida para su aplicación, fácilmente podría tomar la MCU más barata que tiene un ADC con 4 entradas analógicas, y enviar regularmente los cuatro valores muestreados como un flujo de bits en serie, a una velocidad apropiada para la entrada de sonido (tal vez algo como 1kHz).

Todo lo que necesitas para el protocolo es algún tipo de bit de inicio (o secuencia de inicio), y modular el flujo usando un esquema muy simple como RZ unipolar para sortear el límite de bloqueo de CC. Puedes hacerlo más robusto con 4b / 5b y la codificación de Manchester, pero dudo que esto sea realmente necesario.

Esto es fácil de generar (solo necesita un chip y apenas pasivos), y muy fácil de analizar en el lado de la PC / teléfono del software (mucho más fácil que la demodulación de FM, o incluso el múltiplex de división de tiempo que requiere algún tipo de sincronización).

Y, ya que está preocupado por la pérdida de datos: tiene un control completo sobre la precisión de sus muestras, ya que el ADC está del lado de su propia MCU. Simplemente elige uno que tenga la precisión que necesitas. Pero ya no depende de la precisión de la entrada de sonido, y hay un mínimo de circuitos analógicos.

    
respondido por el dim
1

He leído lo que pones y, a mi modo de ver, la multiplexación por división de frecuencia es la mejor.

  

la frecuencia de muestreo de la tarjeta de sonido fue 1000Hz, la señal de mi mensaje de msg era 3Hz   (sinusoidal) y mi portador era de 500 Hz. - Isra

Entonces esta es la razón por la que tienes problemas. Si realiza un muestreo a 1000 Hz y su operador es de 500 Hz, tiene un problema de alias potencial (si no es real). Imagina que estás probando un portador dos veces por ciclo; usted podría obtener esto: -

Opuedeobtenerestos:-

¿Cómosabráquéformadeondaoriginalestámuestreandosimuestraunamuestradebang-onthenyquistrate?Hágaseunfavorymuestreealmenos3veceslafrecuencia.

Esporestoquelamultiplexaciónpordivisióndefrecuencianofuncionaparausted.

  

sí,tantoelmensajecomoeloperadorson0.5vpp

Hazlavidamásfácilparatiyagregaundcoffsetparaqueobtengasunamodulaciónqueseamásfácildedescodificar:-

Debes apuntar a una modulación del 50% para facilitar las cosas. También agregaré que para cada señal transmitida, debe intercalar 0 voltios y un voltaje de referencia, pero asegúrese de que toda la señal de banda base permanezca en la banda limitada a unas pocas decenas de Hz para evitar la superposición con otros canales.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas