Tengo 4 señales que necesito 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 grabarlas con el micrófono y extraer cada señal por separado.
¿Es factible? Si es así, ¿cómo?
Saliendo un poco de la pregunta aquí, pero creo que tenemos una situación de problema XY 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, probablemente podría obtener 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 añadida de que, a diferencia de la toma del micrófono, la toma USB también podría suministrar mucha energía para hacer funcionar la electrónica externa.
En términos generales, use un multiplexor de interruptor 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 a CA, por lo que la medición de valores instantáneos no funcionará. Si puede convertir el nivel de salida del multiplexor en 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 para cada canal.
Múltiples señales en un canal significa multiplexación.
Hay varios tipos de multiplexación que la gente ha inventado durante el último, ooh, siglo más o menos. En general, es bastante fácil meter varias señales en un canal, lo más difícil es recuperar las señales separadas después.
Si tiene una tarjeta de sonido de 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 acerca de cómo decodificar las señales (en comunicaciones, el ancho de banda es costoso, por lo que trabajamos duro en el codificación y decodificación para introducir la mayor cantidad de datos posible en un canal determinado).
La multiplexación por división de tiempo es conceptualmente fácil, la parte complicada es sincronizar el cuadro para que podamos cambiar cada segmento al canal correcto. También debemos asegurarnos de que terminemos con una señal que pase por el canal, por lo que si se trata de una tarjeta de audio de PC, no introduzca CC.
Si puede usar ambos canales estéreo, entonces una marca de sincronización en un canal es una forma muy simple de sincronizar el decodificador. Para evitar la CC, me inclinaría a cambiar cada canal como +ve, luego -ve polaridad, por lo que el voltaje de CC neto de cada canal es cero.
Si debe usar solo un canal, o desea expandir la capacidad más adelante, puede usar un método de sincronización 'en banda', con un nivel específico, forma o duración de un pulso para señalar el inicio de la trama multiplex.
El multiplexado por división de frecuencia también es muy posible. Use un VCO para cada canal, con la señal modulando la frecuencia. Use los VCO de 4046, son bastante lineales y bastante dóciles. Centre uno en (digamos) 1kHz, otro en 4kHz y 2k y 8k en el otro canal. Las ondas cuadradas tienen armónicos pares 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 más alto. La separación y demodulación de las señales no necesita sincronización temporal, pero sí un conocimiento elemental de DSP. Debería estar dentro de la capacidad de cualquier PC razonable para demodular múltiples canales en tiempo real.
Solo una idea, si quiere que sea lo más barato posible y aún así usar 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 frecuencia de muestreo muy baja requerida para su aplicación, podría simplemente 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 adecuada para la entrada de sonido. (tal vez algo así como 1kHz).
Todo lo que necesita tener para el protocolo es algún tipo de bit de inicio (o secuencia de inicio) y modular la transmisión utilizando un esquema muy simple como RZ unipolar para eludir el límite de bloqueo de CC. Puede hacerlo más robusto con codificación 4b/5b y 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 software PC/teléfono (mucho más fácil que la demodulación de FM, o incluso multiplexación por división de tiempo que requiere algún tipo de sincronización).
Y, dado que le preocupa la pérdida de datos: tiene control total sobre la precisión de sus muestras, ya que el ADC está del lado de su propia MCU. Simplemente elija uno que tenga la precisión que necesita. Pero ya no depende de la precisión de la entrada de sonido, y hay un circuito analógico mínimo.
He leído lo que pusiste y, en mi opinión, la multiplexación por división de frecuencia es la mejor manera.
la frecuencia de muestreo de la tarjeta de sonido era de 1000 Hz, mi señal de mensaje era de 3 Hz (seno) y mi portadora era de 500 Hz. – Isra
Entonces es por eso que tienes problemas. Si está muestreando a 1000 Hz y su portadora es de 500 Hz, tiene un problema de alias potencial (si no real). Imagine que está tomando muestras de un portador dos veces por ciclo; puede obtener esto: -
O puede obtener estos: -
¿Cómo sabrá qué forma de onda original está muestreando si muestrea la tasa de nyquist? Hágase un favor y muestree al menos 3 veces la tasa.
Es por eso que la multiplexación por división de frecuencia no funciona para usted.
sí, tanto el mensaje como el operador son 0.5vpp
Facilítese la vida y agregue un desplazamiento de CC para obtener una modulación que sea más fácil de decodificar: -
Debería 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 limitada en la banda a unas pocas decenas de Hz para evitar la superposición con otros canales.
Andy alias
isra
RoyC
Andy alias
RoyC
isra
Andrés
isra
oscuro
isra