# [Proyecto] Encoder Estereo y RDS para FM de buenas prestaciones + Propuesta.



## palurdo (Sep 9, 2014)

Hola a todos, la propuesta que más adelante haré es para aquellos del foro que estén interesados en participar en el diseño y prototipado de uno (o varios) sistemas de codificación estéreo y RDS para emisoras de FM. EL objetivo es primero diseñar la parte del encoder estéreo y una vez tengamos un diseño que cumpla con las pretensiones, incorporarle un sistema RDS. Estoy seguro que parte de los bloques del encoder estereo pueden usarse también para el encoder RDS por lo que ahorramos recursos a la hora de implementar ambos enconders al mismo tiempo.

De antemano aviso que el post es un bastante largo, pero seguro que algunos lo vais a encontrar interesante… Habrá premio para los que lean hasta el final, jejejeje.

Llevo dándole vueltas a este asunto desde hace tiempo ya que los sistemas que he visto implementados siempre tienen algún punto débil:

O bien son caros (DACs de muy alta velocidad y CPUs), o no son de calidad para emisión en broadcast (como los que usan los IC monoliticos tipo BH1417, BA1404, etc), o muy inestables y difíciles de ajustar (MC1496), o no funcionan bien en todos los receptores FM (fallo de precisión en la subportadora de 38kHz).

De los que más me han gustado ha sido el de Pira.cz (http://pira.cz/eng/stk2en.htm), pero hay cosas que no me gustan de él. Lo que menos me gusta es la desviación de la portadora de 38kHz de unas cuantas decenas de hercios por no usar un cristal que sea múltiplo exacto de dicha frecuencia, que puede que para la mayoría de receptores funcione aceptablemente bien, pero para algunos falle la decodificación, en especial en los receptores baratos tipo SDR (algunos sólo sincronizan la fase de la piloto pero no ajustan la frecuencia sino que sintetizan directamente mediante FFT la portadora de 38.000kHz), que cada día son más comunes de encontrar en teléfonos móviles, aparatos de mp3/mp4, etc. Además pienso que el de Pira desperdicia recursos aunque obtiene buenas prestaciones. Pienso que es posible hacer algo de la misma calidad con elementos más sencillos (por ejemplo un MCU más económico)

De los basados en la multiplexación directa usando una cuadrada de 38kHz y dos switches tipo 4066 casi no hablo ya que padecen de todos los males, mucho fondo de ruido a causa de la cantidad de armónicos en la conmutación que no pueden terminar de filtrarse al estar muy cercanos a la banda pasante y una separación de canales muy pobre, alrededor de unos 15-20dB debido a la falta de compensación de niveles y falta de ajuste de la fase de la piloto, una vez senoidificada, con respecto a la subportadora.

Así que el primer objetivo es hacer un codificador económico, lo más preciso posible (como mucho 10Hz/20Hz de desviación con respecto a la portadora de 38kHz, y si es menor pues mucho mejor, ya que por encima de los 20Hz de desviación en algunos receptores se produce un efecto cacofónico familiar a aquellos que tienen receptores SSB). Deseable que tenga buen margen SNR, de 60dB si es posible, y una separación de canales acorde al SNR. Si tienes un margen SNR de 60dB no vale la pena conseguir una separación de canales mayor a 60dB ya que todo lo que quede por debajo de ese nivel quedará enmascarado por el ruido de fondo.

Esto obliga a utilizar un cristal de cuarzo que sea múltiplo entero de la portadora de 38kHz, de lo contrario estaríamos obligados de usar un PLL/Prescaler/Divisor de ratio de frecuencias, etc, y eso encarece mucho el proyecto. Además antiguamente era difícil conseguir cristales exactos pero hoy día con Internet y por el hecho de que los sistemas baratos también los usan, no es tan difícil conseguirlos.

De hecho este es un proyecto de diseño que tenía aparcado hace tiempo y que ha revivido gracias a que por casualidad hace unas semanas me encontré con una oferta de cristales 4.864MHz muy interesante y los acabé comprando. Con ellos he empezado a hacer mis primeras pruebas.

Estos cristales por lo que tengo entendido son muy difíciles de conseguir pero dan la ventaja de proporcionar un múltiplo de 38kHz que es exactamente una potencia de 2, es decir 128*38kHz = 4.864MHz. Lo que significa que dividiendo por 2^7 la frecuencia del cristal obtenemos la frecuencia de la portadora, y dividiendo por 2^8 tenemos la frecuencia piloto. 

También he conseguido cristales de 4.332MHz. Esta frecuencia no es un múltiplo que solo contenga potencias de dos, pero tiene algo muy interesante… Contiene una potencia de 3 de 19kHz, lo que permite conseguir la portadora de 57kHz para el RDS además de la de 38kHz y la piloto de 19kHz.

Resumiendo, con el cristal de 4.864MHz se facilita el diseño de un codificador estéreo aunque se complica ligeramente la construcción del RDS (al no ser el cristal múltiplo de 3). Sin embargo con el de 4.332MHz se complica ligeramente el codificador estereo pero la portadora para RDS se obtiene fácilmente.

Además estoy a la espera de que me lleguen cristales de 38kHz y de 7.600MHz. Estos cristales aunque con ciertos inconvenientes, también son múltiplos enteros de 38kHz (1*38=38 y 200*38=7600) y usando algunas ideas pueden implementar codificadores de mayor calidad que para los que se usan tanto (estos cristales son bastante comunes de encontrar cuando se busca un poco por Internet, ya que son los que se usan para los codificadores monolíticos BA1404 (38kHz) y BH1417 (7.6MHz)).

Resumiendo. Lo diseños deberían estar orientados en utilizar uno de estos cuatro cristales (si encontráis otro posible cristal de una frecuencia múltiplo de 38kHz y que sea accesible de conseguir decidlo porque yo no lo he encontrado):

7.600MHz (Muy accesible y barato, estéreo no trivial, RDS no trivial).
4.864MHz (Raro, estéreo trivial, RDS no trivial).
4.332MHz (Menos raro, estéreo no trivial,  RDS trivial).
38kHz (Relativamente accesible, no es caro, estéreo no trivial, RDS no trivial)

Bueno, yo he comenzado haciendo pruebas con el de 4.864MHz aunque he generado también una portadora estable de 38.000KHz usando el de 4.332MHz. Cuando me lleguen los otros cristales haré pruebas con ellos.

Comenzamos con la teoria:

Para aquellos que todavía no tengan claro cómo construir matemáticamente una señal MPX para FM a partir de dos canales de audio, no me voy a extender mucho ya que en estos enlaces lo explica mejor de lo que puedo explicarlo yo…

http://es.wikipedia.org/wiki/FM_estéreo
http://transmitters.tripod.com/stereo.htm

Pero voy a resumir toda la teoría anterior en la típica fórmula para obtener la señal multiplex:

MPX= (Vi+Vd) + (Vi-Vd) * S(38kHz) + 0,1 * P(19kHz)

Donde S es la subportadora senoidal de 38kHz y P la señal piloto de 19kHz. Vi es la señal de audio de canal izquierdo y Vd es la señal de audio del canal derecho.

La señal piloto no interviene en el proceso de codificación sino que se añade al 10% con el fin de servir para sincronizar la subportadora estereo. Así que para simplificar pondremos la señal MPX como :

MPX= (Vi+Vd) + (Vi-Vd) * S = A+B * S

En el receptor, se demodula B=(Vi-Vd) y se filtra A=(Vi+Vd) de esa forma se obtienen dos canales por separado, uno suma (A) y otro resta (B). De hecho el canal Vi se recupera sumando ambas señales (se cancela Vd), obteniendo 2*Vi, y el canal Vd se recupera restando ambas señales (se cancela Vi), obteniendo 2*Vd.

De cómo de balanceados se encuentren los niveles de A=(Vi+Vd) con respecto a B=(Vi-Vd), tanto en amplitud como en fase, dependerá la separación de canales. Esto significa que si por ejemplo el Vi de A no es el mismo exactamente que el Vi de B, en el receptor no se podrá cancelar Vi por completo al restar B de A y por lo tanto en el canal Vd aparecerá una parte del canal Vi, y viceversa, haciendo que la separación entre canales se resienta.

Por lo tanto, para un buen codificador estéreo necesitamos tres cosas:

-Hacer que los niveles Vi y Vd de la señal A sean los mismos que los niveles Vi y Vd de la señal B.
-Hacer que la señal piloto de 19kHz esté exactamente en fase con la de 38kHz.
-Que las condiciones anteriores no varíen con las condiciones de funcionamiento, temperatura, humedad, etc.

Mediante un codificador casi analógico, usando operacionales para generar las señales suma A (Vi+Vd) y resta B (Vi-Vd), y luego utilizar un modulador balanceado para conseguir una multiplicación en cuatro cuadrantes (es decir tanto voltajes negativos como positivos) como el MC1496 para generar la señal B*S, se consigue una separación muy elevada. Lamentablemente las condiciones de estabilidad duran poco ya que al variar los valores de los componentes con el régimen de funcionamiento enseguida sufre la separación de canales, lo que obliga a reajustar de nuevo las condiciones de funcionamiento. 

La señal MPX de la fórmula anterior la podemos componer de forma equivalente de esta otra manera:

MPX = Vi * (1 + S) + Vd * (1 – S)
El paso de una fórmula a la otra es muy sencillo matemáticamente ya que sólo hay que operar con un poco de álgebra y recordar propiedades de la suma y la multiplicación.

Parece que ahora la forma de genera la señal se ha complicado al aparecer dos multiplicaciones en lugar de una, pero lo que hay entre los paréntesis, gracias a que suman el 1, y la señal S es una senoidal (la señal S varía entre 1 y -1), nunca valdrá menos de 0, de hecho valdrá entre 0 y 2. Esto hace que los multiplicadores sean de dos cuadrantes en lugar de cuatro, lo que es más fácil de conseguir. Hay un momento en que MPX vale 2*Vi+0*Vd= 2*Vi y otro momento, 180 grados de desfase, o lo que es lo mismo para 38kHz, unos 13,16 us después, MPX será 0*Vi+2*Vd= 2*Vd. 

Consideramos que la señal MPX está compuesta por dos subseñales, MPXd y MPXi, que serían:

MPXi = Vi * (1+S)
MPXd = Vd * (1-S)

Y entonces MPX=MPXi+MPXd+0,1*Piloto.

Esta otra forma de expresar la señal MPX sugiere que tanto el canal Vi como Vd se van alternando paulatinamente en el tiempo. Sin embargo en un determinado momento intermedio no se tiene sólo Vi o Vd sino una combinación de ellos.

Por ello se han utilizado técnicas semidigitales para crear las multiplicaciones de (1+S) y (1-S) para los Vi y Vd con el fin de lograr una aproximación de MPX. Digo aproximación porque estas técnicas tratan de conseguir una S que se parezca a una senoidal en mayor o menor medida, pero siempre habrá algo de diferencia entre la señal digital creada por el codificador y la señal senoidal pura S. 

El enfoque para un modulador económico es el uso de una señal C en lugar de la S que en lugar de ser Senoidal se aproxima por una Cuadrada que oscila entre +1 y -1. De hecho la señal (1+C) es una señal que vale 2 entre 0º-180º grados y 0 entre 180º-360º. La señal (1-C) será una señal desfasada 180º con respecto a la anterior, por lo que vale 0 entre 0º-180º y 2 entre 180º-360º.

Ya que las señales MPXd y MPXi se generan de la misma forma, con la portadora de 38kHz desfasada 180º, podemos considerar sólo los aspectos de la generación de la señal MPXi (portadora del canal izquierdo) que serán recícprocos en la generación de la portadora del canal derecho, o MPXd.

La multiplicación Vi *(1+C) se consigue fácilmente haciendo que entre 0º-180º ese valor sea 2*Vi, y entre 180º y 360º ese valor sea 0. Con el canal Vd de manera recíproca, entre 0º-180º será 0 y entre 180º-360º será 2*Vd.

Sin embargo, cuando obtenemos MPXi = Vi * (1+C), ya que C es una onda cuadrada de amplitud 1, esta se compone por una serie de fourier de infinitos armónicos impares de senoidales S, que quedan de la siguiente forma:

MPXi = Vi * (1+ 4/PI*(S+1/3*S(3)+1/5*S(5)…)

Esto es algo que no se parece especialmente mucho a la forma original MPXi = Vi*(1+S).

Donde S(3), S(5),... son los armónicos impares de la fundamental que componen la portadora cuadrada.

Si no se eliminan por completo estos armónicos, en el receptor ocurre un fenómeno de aliasing haciendo que aparezcan tonos fantasmas y artefactos en la señal audible que no deberían estar ahí, por lo que el SNR se resiente muchísimo y la calidad del audio se degrada bastante. 

Para ello, es necesario un filtro que no distorsione la fase de la banda pasante y sea tan abrupto para eliminar a partir del tercer armónico, o es decir, que deje pasar hasta los 53kHz sin modificar la fase, pero anule al máximo las frecuencias de 95kHz en adelante. Esto es muy difícil de realizar por lo que los codificadores estereo que usen una cuadrada para generar las señales MPXd y MPXi tienen que elegir entre un SNR pobre o una separación pobre, dependiendo si filtran con un filtro muy abrupto que distorsione la fase o con un filtro menos abrupto que distorsione menos la fase pero deje pasar una parte de los armónicos.

Para complicar el asunto más, imaginemos que mediante un filtro ideal que corta a los 53kHz, eliminamos los armónicos S(3), S(5),… En ese caso obtenemos una señal

MPXi = Vi * (1 + S *4/PI)

Lo que hay entre paréntesis debería oscilar senoidalmente entre 0 y 2, sin embargo como S vale como máximo 4/PI y como mínimo -4/PI, lo que hay entre paréntesis acaba valiendo un valor máximo de 2.273 y un valor mínimo de -0.273…

Es decir, que el momento en el que la señal Vi debería valer 0, vale -0.273. Esto implica que la señal compuesta, MPX el instante en el que debería estar sólo presente Vd, es decir, 0*Vi+2*Vd en realidad hay esto: -0.273*Vi+2.273*Vd. Lo que significa que un 12% del canal Vi interfiere en el canal Vd y por lo tanto la separación máxima que podemos conseguir eliminando todos los armónicos es de -20Log(0.12)= 18,41dB. Una separación muy pobre.

Para mejorar esta separación, da igual cuanto valga MPXi en su valor máximo (ya que podemos variar su valor con un control de ganancia, tenemos que hacer que en su valor mínimo sea 0. Para ello a la señal completa se añade esto:

MPX(final)=MPX(filtrada) + (4/PI-1)*(Vi+Vd) =>

MPXi = Vi * (4/PI + S * 4/PI )= Vi * (1+S) *4/PI

Ahora aunque está el factor 4/PI, lo importante es que la señal que varía, es decir, lo que hay entre el paréntesis, va entre 0 y 2 por lo que MPXi valdrá entre 0 y Vi*2*4/PI.

Esto se traduce en que si implementamos un multiplexor que alterne las señales Vd y Vi, a la salida de ese multiplexor se debe de sumar un 27’3% de la señal suma (Vd+Vi) y de esa forma aumentamos considerablemente la separación de canales. Tristemente casi ninguna implementación de este tipo que utiliza switches tipo 4066 añade esta compensación.

Aquí se muestra gráficamente lo que se ha explicado:



En la figura 1, se ve la señal Cuadrada que es la que se usa para multiplicar Vi, y la señal teórica S que tendría que variar entre 0 y 2. En la figura 2 se tiene la señal cuadrada original, y la señal senoidal REAL que resulta tras filtrar el tercer y sucesivos armónicos. Notar el pico negativo de dicha senoidal. En la figura 3 se nota la onda cuadrada compensada sumándo un nivel de 0,273 *Vi, y la onda senoidal resultante que en ningún caso acaba estando por debajo de cero.

Pero aunque podamos compensar los niveles de señal, tenemos el problema de encontrar un filtro que elimine completamente el tercer y sucesivos armónicos y deje intacta la fase de la banda pasante. Por ello lo que sustituya a la senoidal S en la ecuación, no puede ser una simple cuadrada sino tiene que ser algo más. 

En mis diseños usaré varias ideas para sintetizar la señal S con un mínimo de calidad que permita utilizar un filtro no tan abrupto pero que respete la fase, y al mismo tiempo la compensación, si es que es necesaria, sea menor que en el caso de la onda cuadrada.

Lo más lógico es que no necesitemos eliminar el armónico S(3) porque en la onda que utilicemos ese armónico no exista. Podemos usar un sistema para cancelar el tercer armónico de la señal que usemos para imitar S. Pongamos que tenemos la onda cuadrada C que hemos usado antes. Ahora la hacemos pasar por un retardo que a su salida muestre la misma señal C pero con un desfase de 60º. El tercer armónico tendrá un desfase de 60*3=180º, es decir tendremos –S(3). Si ahora sumamos esta onda con la onda original, el tercer armónico de la onda resultante sera S(3)+(-S(3))=0. Esa misma onda la dividimos por 2 para recuperar los niveles originales.  De esa manera tenemos una onda M (cuadrada modificada o senoidal modificada) que recordará a la cuadrada original, pero que carece del tercer harmónico. Además el proceso se puede repetir desplazando nuevamente primero por 36º y depués por 25,71º para anular el armónico 5 y 7. El armónico 9 se anuló al anular el tercer armónico ya que el armónico 9 es múltiplo de 3. Una cuadrada que se ha retardado 3 veces y se ha promediado otras tantas veces acaba siendo una onda que contiene sólo 9 niveles (suficiente para ser generado con un DAC de 4 bits) y su primer armónico es el número 11 (es decir, en 418kHz, ya muy alejado de la banda que nos interesa y por lo tanto fácilmente filtrable sin alterar la fase de la banda pasante).

Aunque la señal sólo tiene 9 niveles, una vez filtrados por completo los armónicos restantes, no tenemos una señal de resolución 4 bits. Tenemos una señal senoidal pura (que habrá que compensar ya que siempre que quedan armónicos hay que compensar algo pero muchísimo menos que con la cuadrada original).

En la imagen siguiente se muestra el proceso de ir quitando armónicos promediando esa misma cuadrada con ella misma desfasada, y repitiendo varias veces para distintas fases…



De hecho este sistema de eliminación de armónicos por interferencias se le conoce como filtro peine (ya que no sólo elimina un armónico si no que todos sus múltiplos, haciendo ver que la respuesta del filtro se parecer a un peine) y funciona con cualquier forma de onda de entrada.

A modo de ejemplo se incluyen ondas modificadas eliminando armónicos donde en lugar de una cuadrada tenemos una triangular, y una parabólica.





Pero tomemos otra vez la onda modificada a partir de la cuadrada (que es más fácil de multiplicar que la triangular o la parabólica ya que la cuadrada sólo tiene dos estados). 

Ahora supongamos que implementamos una cuadrada de 38kHz y la desfasamos 60º. Esas dos señales las usamos para multiplicar Vi de forma que generamos la siguiente expresión:

MPXi=Vi * (1+M)

Donde M ahora es 2*sqrt(3)/PI* (S+1/5*S(5)+1/7*S(7)…). Ahora vemos que ya no existe S(3) y los armónicos comienzan en S(5) que es el de 38*5=190kHz. Ahora ya es mucho más fácil filtrar esos armónicos ya que podemos usar un filtro que no sea tan abrupto y conserve mejor la fase. Si ahora filtramos, tenemos que nos queda el factor 2*sqrt(3)/PI =1,103:

MPXi=Vi * (1 + S * 1,103), es decir, que sin compensar hemos disminuido el crosstalk de un 12% a un 4,9% lo que da una separación de 26,3dB. No es un gran logro, pero son 8dB más que con la onda cuadrada. Además sólo hay que compensar con un 10.3% de la señal suma en lugar del 27,3% del caso de la onda cuadrada.

En la imagen siguiente se ven las figuras de antes pero ahora aplicadas a una onda modificada para eliminar el tercer armónico



Lo ideal sería poder implementar varios filtros con varios desfases para poder anular hasta el armónico 7, como se ha mostrado en las imágenes de más arriba, pero de forma analógica cuantos más desfasadores más fácil que alguno se vaya de fase por lo que acabamos teniendo otra vez niveles de armónicos que no filtra el filtro de salida. Sin embargo podemos utilizar un sobremuestreo digital para generar la señal senoidal exacta sin armónicos hasta el número 11. Esto requiere que la frecuencia de conteo sea un múltiplo de dichos armónicos para que al dividir por esas cantidades la frecuencia sea exacta, es decir, la frecuencia original tiene que ser múltiplo de 3, de 5 y de 7, lo que hace que deba valer x105. Lamentablemente no podemos conseguir el cristal necesario para poder alcanzar un sobremuestreo de x105, ya que el valor del cristal debería ser de 3.990Mhz. Alguien podría pensar que se podría usar un cristal de 4MHz y santas pascuas, ya que casi casi se llega a tener a 4MHz pero al dividir por 105, la frecuencia resultante sería de 38,095kHz, lejos de nuestra pretensión de conseguir los 38,000kHz exactos.

Sin embargo si sólo queremos eliminar “digitalmente” el armónico tercero ya que disponemos de un filtro decente para eliminar el quinto y sucesivos, lo podemos hacer relativamente fácil utilizando un cristal de 4.332kHz (ya que es múltiplo de 3), disponible fácilmente y de paso ya obtener la señal de 57kHz para alimentar un enconder RDS.

Aquí os propongo dos sistemas para lograr codificar mediante una onda modificada para elimnar el tercer armónico. El primero genera una cuadrada a 38kHz mediante un cristal de esa frecuencia, y una red de desfase genera una señal desfasada 60º (el desfasador puede ser una red RC que retrase la cuadrada durante 4,4 us y un trigger schmitt que vuelva a conformar la señal en cuadrada. Entonces usamos ambas señales para combinarlas en un sumador obteniendo la multiplicación directa de ambos canales por las señales (1+M) y (1-M). Los restantes bloques no necesitan mucha explicación. Está la red de compensación para anular el crosstalk, y el sistema para generar la señal piloto de 19khz mediante un biestable tipo T y un conformador de onda senoidal (puede ser un filtro en 19kHz con una Q bastante elevada), además de otro retardo para poder ajustar la fase senoidal para minimizar de nuevo el crosstalk.



El segundo sistema hace lo mismo que el primero pero las señales desfasadas son generadas por un contador secuencial de 6 estados. Este sistema tiene la ventaja de que por diseño el desfase de 60º no puede variar por las condiciones de funcionamiento, frio, calor, humedad, etc. Por lo demás es igual que el primero, aunque este usa un cristal de 4.332MHz y permite generar además la portadora RDS de 57kHz.



Otro método para multiplexar con una senoidal:

Además de la cancelación de armónicos, es posible sintetizar las señales (1+S) y (1-S) mediante otros métodos. El más utilizado en codificadores con sobremuestreo es el uso de DACs multiplicadores de dos cuadrantes o bien un DAC multiplexado a distintos niveles. El DAC típico es aquel que hace uso de una matriz de resistencias para proporcionar a su salida el nivel analógico proporcional a la señal digital de entrada. Los más conocidos de este tipo son las redes R-2R en escalera, y las resistencias ponderadas (cuando se pretende generar señales periódicas conocidas).

Otro tipo de DACs menos conocidos pero más comunes ya que funcionan casi enteramente en el terreno digital, son los DACs con modulación por densidad de pulso o PDM. No confundir con PWM o modulación por ancho de pulso, que se trata de otra forma de implementar un DAC pero no tan digital… A la modulación PDM también se la conoce por su construcción, como modulación Delta-Sigma (o Sigma-Delta). Un modulador Delta-Sigma lo que hace es rastrear una señal analógica generando pulsos más “juntos” cuanto más alto sea el nivel de la señal analógica. Para una descripción más detallada visitad el enlace de la wikipedia sobre esta modulación:

http://es.wikipedia.org/wiki/Modulación_Sigma-Delta

Una característica de este sistema es que para alcanzar una buena resolución es suficiente con pocos bits siempre que podamos hacer funcionar el modulador mucho más rápido que la frecuencia que queremos sintetizar. De hecho es bastante común ver moduladores Sigma-Delta utilizando solamente un bit.

La característica de este modulador se basa en que los armónicos en lugar de ir desplazándose por igual a lo largo del espectro, se concentran en la parte alta de él, por lo que un sencillo filtro pasa bajo con la frecuencia de corte alejada de la zona donde la densidad de armónicos es mayor, reconstruye fielmente la señal original.

Nosotros no necesitamos la parte ADC, es decir, el rastreador que genera los bits. Podemos generar una tabla de bits que contengan la secuencia Delta-Sigma de una senoidal a una determinada frecuencia, y esa tabla guardarla en una memoria rápida, ya sea una EPROM, una RAM, o un microcontrolador. Sin embargo la parte DAC del modulador, puede ser tan sencilla como un filtro RC con la frecuencia de corte dos décadas por debajo de la frecuencia de muestreo (consiguiendo 40dB de atenuación de los armónicos molestos). Es decir, un simple switch conmutando rápidamente pongamos a 128 veces la frecuencia que se quiere sintetizar, y luego al filtrar obtenemos el canal de audio correspondiente multiplicado con la senoidal (1+S) con una resolución bastante aceptable.

La siguiente imagen  muestra las ondas cuando la frecuencia del chorro de bits es de 128 veces la frecuencia de la subportadora, es decir 128*38=4.684MHz. Además fácilmente podemos generar varias ondas a la vez ya que disponemos de varios bits en la memoria por cada posición temporal de la secuencia. Por ejemplo podemos utilizar 1 o dos bits tanto para generar las ondas de 38kHz como la piloto de 19kHz. 



Los siguientes esquemas se basan en este principio. El primero usa una memoria tipo EPROM y un cristal que alimenta el reloj del contador que direcciona dicha memoria. Para generar la señal de 19kHz es necesario repetir 2 veces la de 38kHz, por lo que con un cristal de 4.864MHz hace falta 256Bytes, con uno de 7.6MHz, 400Bytes, y con el de 4.332MHz, 228Bytes. Excepto en el caso del cristal de 4.864MHz, para los otros cristales la posición siguiente a la última de la tabla hace que el contador se resetee y vuelva al principio de la memoria.





Aunque en estos esquemas no aparece, al eliminar una buena parte de los armónicos, el nivel de la onda fundamental se reduce notablemente, pero no así el nivel de continua. Esto significa que es necesario compensar aunque en este caso en lugar de sumar a MPX la señal (Vi+Vd) hay que restar un tanto por ciento de ella, equivalente al nivel excedente de dicha señal en la señal compuesta final.

Pruebas en protoboard

Para tratar de generar tanto los pulsos a 38kHz y 19kHz como las ondas senoidales correspondientes a esas frecuencias, he probado de momento utilizando la tabla de ondas Delta-Sigma que he generado para construir la gráfica que hemos visto anteriormente. He usado dos bits para codificar la señal de 38kHz PDM de 2 bits, un bit más para codificar la misma señal con resolución de 1 bit, y 3 bits más para generar las de 19kHz de dos bits y la de 1 bit. En total he usado 6 bits de los 8 disponibles en una memoria paralela EEPROM modelo X2804 de Xicor (es lo que tenía por el cajón desastre). Como no son muchos bytes la he programado manualmente.

He usado un cristal de 4.864MHz con una puerta 74HC04 para generar el tren de ondas que alimenta al contador. 

Precisamente el problema de mi montaje y el que me ha limitado bastante los resultados ha sido utilizar una versión de baja velocidad del 4040, como es el MC14040 que funciona bien hasta los 2MHz para 5V (le he dado un tren de pulsos de más del doble de rápido). El contador contaba, pero Q1, es decir A0 en la memoria, nunca bajaba de 2,5V por lo que siempre quedaba en 1. El resultado es que con este contador sólo he podido direccional las direcciones impares de la memoria a esa velocidad por lo que el sobremuestreo se reduce de x128 a x64. Además la falta de velocidad hace que las direcciones se arrastren en la serie (van retrasadas con respecto al tren de pulso) lo que hace que la onda resultante no sea perfectamente senoidal sino que se arrastra ligeramente hacia atrás. 

Espero corregir estos problemas cuando consiga un 74HC4040 que es 10 veces más rápido que el MC14040. 

De momento estas son las imágenes que he ido obteniendo de las pruebas. Aquí muestro una imagen de la parte generadora Delta-Sigma montada en protoboard:



Aquí una foto de la onda cuadrada generada por el cristal:



En la siguiente foto, la salida Q8 del contador (19,000 kHz es decir 4864/256)



En la siguiente foto, la salida Q7 (38,000 kHz es decir 4864/128)



En la siguiente foto, se tiene la señal PDM de 19,000KHz de un bit con respecto al reloj de 19KHz.



En la siguiente foto, se tiene la señal PDM de 38,000KHz de un bit con respecto al reloj de 38KHz.


En la siguiente foto, coloqué un pasabaja RC con una resistencia de 10k y un condensador de 470pF a la salida de cada una de las señales PDM, de 19 y 38kHz. La señal de 19kHz se reconstruye bastante bien a pesar de ser solo de 1 bit, aunque la asimetría se debe al arrastre de bits que he comentado antes por culpa del contador. Sin embargo aunque también debería convertirse bien, la señal PDM de 38kHz aparece formada como si fuera una triangular. 



Ya en la última foto, el arrastre de bits para la señal PDM de 19kHz y dos bits de resolución no la puse ya que aunque mejoraba la simetría, una zona presentaba una fuerte distorsión. Sin embargo la de 38kHz si que mejoraba al usar 2 bits (básicamente colocar 2 resistencias de 10k en las dos salidas y unidas en el mismo condensador de 470pF que hace de integrador y sumador de ambas señales). Ahora ya en la de 38kHz se ve sintetizada claramente senoidal.



De momento estas son las pruebas que he hecho. Quiero conseguir más integrados lógicos, como más contadores, flip-flops, más puertas rápidas, etc. Así podré implementar varias versiones de los diseños que he mostrado y ver cual de todos es más estable, genera menos ruido, más separación, es amigable con el RDS, etc.

De ahí el título de este POST. Soy una persona de recursos limitados, y además me gustaría que este proyecto fuera colaborativo y quedara como diseño del foro (luego ya cada uno que hiciera lo que quisiera con él).

Propuesta:

Por ello me gustaría saber si hay gente dispuesta a probar las ideas que he explicado aquí, en definitiva contribuir a concretar algunos de los diseños que he propuesto, ya sea materializando los bloques funcionales o añadiendo más (filtros de pre-énfasis, etc). Y una vez tengamos unos cuantos moduladores estéreo, diseñar el modulador RDS que mejor se adapte al modulador estéreo (usando la frecuencia de reloj maestra por ejemplo).

No es un proyecto que tenga que hacerse rápido, es decir, que me da igual si cuesta un año o más en realizarse, pero si sale algo decente podríamos tener un diseño que se hiciera popular y así dar algo de publicidad al foro.

Como sale más barato comprar cantidad de componentes cuando compras por ebay y otros sitios online, tengo más cristales de los que voy a utilizar. 

Dispondría para compartir los siguientes cristales que son difíciles de conseguir, en principio para compartir 1 cristal por persona:

10 cristales de 4.864MHz.
10 cristales de 4.332MHz.

Y en cuanto me lleguen por correo compartiré además los siguientes:

10 cristales de 7.600MHz.
10 cristales de 38kHz.

No cobraría nada por el  cristal, lo único que pido sería los gastos de envío que para España sería de 1 euro aproximadamente, y se haría mediante correo ordinario. Para fuera de España en especial para Latinoamérica el envío se multiplica varias veces por lo que en un principio lo ideal sería que participaran foreros españoles, aunque alguien que consiga los cristales por su cuenta o esté dispuesto a pagar los gastos de envio internacionales, bienvenido sea.

Además si alguien necesita más de un cristal, tendría que justificarme por qué quiere más de uno. Tiene que ser también alguien del foro, es decir, alguien que participe activamente. Aunque no tenga muchos mensajes, tiene que tener al menos mensajes que sean relevantes o algún que otro aporte.

Los interesados en un cristal que comenten que quieren participar en el diseño en este mismo hilo. 

El diseño debería de comenzarse a concretar o implementar, o por lo menos alguna de sus partes, antes de 6 meses desde la fecha en que envíe el cristal. No importa que después se tarde en terminar el proyecto, lo importante es que al menos empiece.

Bueno, pues espero vuestras ideas y aportes al proyecto, y como no, vuestras solicitudes.

Ahh, si alguien quiere implementar el proyecto utilizando una tabla generada en una memoria RAM de alta velocidad, dispongo de 10 chips de RAM estática HM6116 reciclados de una máquina recreativa. Podría enviar uno de ellos junto al cristal (siempre que el sobre en total no supere los 20 gramos).

Un saludo, y gracias por llegar a leer hasta el final.


----------



## fdesergio (Sep 9, 2014)

Muy interesante, estare pendiente de los avances, gracias por compartir estas ideas y tu trabajo.


----------



## Daniel Lopes (Sep 10, 2014)

! Hola a todos, saludos cordeales , carissimo Don palurdo congratulaciones por tu enpreita principalmente  por la aula de "estereo multiplex" mui rico todo lo contenido !.
Seguramente tecnicas digitales NO es mi playa principalmente desahollo de software ( PICs).
Dejo aca dos proyectos que garimpei en la Internet y me parece sener mui interesante , la amostragen de los canales de audio es hecha con una escalera de resistores y la generación del tono piloto de 19Khz tanbien. Los dos CIs CD4051 pueden sener reenplazados por un unico CD4067 para diminuir lo numero de CIs enpleados.
!Fuerte abrazo desde Brasil!
Att.
Daniel Lopes.


----------



## Daniel Lopes (Sep 16, 2014)

Hola a todos , adjunto aca un tutorial hecho por la Phillips en la decada de 70' sobre estereofonia ,!mui interesante!.
Att.

Daniel Lopes.


----------



## palurdo (Sep 16, 2014)

Muchas gracias!!!!, es increíble ver un demodulador estéreo hecho solo con 3 transistores. Muchas de las cosas que escribí en mi post también aparecen en el libro con un desarrollo mas riguroso. En principio esta semana me llegan los cristales de 38kHz y los de 7.600MHz todavía tardaran en llegar aunque son los que mas cantidad he comprado por lo baratos que iban. La propuesta sigue en pie!! Nadie se apunta?? Yo de momento voy investigando en mis ratos libres. Tengo ya el hc4040 así que volveré a probar con La EPROM en cuanto tenga in rato.

Saludos!!


----------



## Gatxan (Sep 17, 2014)

Me parece excelente propuesta! Todo lo relacionado con la radio me apasiona, y es interesante poder disponer de un proyecto de alta calidad de "código abierto" con el que todos podamos participar.
Simplemente uns apuntes por mi parte:
-El método de eliminar armónicos del multiplexado con técnicas de filtrado digital acaba siendo lo mismo que hacer una multiplexación de progresión senoidal (como con el 4067 y la escala de resistencias). Dentro de esta categoría conozco el esquema del codificador NRG PRO 4 que es oversampling muy simple y muy bien pensado, lo monté y el resultado es excelente. Por otra parte, es posible estudiar hasta dónde se puede llegar a base de componentes comunes (puertas lógicas y biestables) en la parte de codificador de estéreo del procesador de audio del Inovonics David III, (modelo 718) cuyo esquema esté libre por internet, y tiene cosas curiosas como el "center sampling" que evita integrar los ruidos de conmutación, además tiene mpx clipper y compensación de fase del filtro de salida de MPX y un interesante driver de salida para éste.
-También se puede emplear un microcontrolador al estilo del Pira, (que por cierto usa los 18F porque estos tienen multiplicador interno de reloj x4 (PLL), asi le pemite generar el RDS en modo oversampling), y queda todo más simplificado al ejecutar todas las operaciones internamente y dejar en el exterior sólo los conmutadores analógicos.

-En cuanto al RDS, corre por ahí un prototipo de programa en ensamblador... (lo colgué en el hilo de codificador de RDS en este mismo foro) pero nunca he visto nada decente en abierto (código fuente incluido), por lo que creo que sería lo que más tiempo lleva para desenvolupar. 

Recordando proyectos que hice tiempo atrás, antes de que fuera fácil encontrar cuarzos de 4.864, 7.600, 4.332MHZ, hice una base de tiempos empleando un resonador de 455kHz ajustado a 456kHz, pero el oscilador lo diseñé especialmente para que fuera lo máximo de estable posible, lo conecté a un PLL con CD4046 para generar 912kHz, con lo que desde ahí me fue muy fácil dividir y sacar los 152, 76, 38 y 19kHz para el estéreo oversampling, y los 57kHz y los 1,1875kHz para el RDS (en esa época hace 9 años, fue el ERDS).

Me gustaría documentar todo lo que he explicado un poco más, pero es que estoy fuera de casa por un tiempo y no dispongo de una conexión buena para subir archivos.

Saludos!


----------



## palurdo (Sep 18, 2014)

Hombre *Gatxan*!! Te estaba esperando que aparecieras por este tema, jejejej. El tema del encoder es una asignatura pendiente que tengo desde hace tiempo. Recuerdo cuando estaba en la universidad y por el internet de entonces circulaba un encoder usando el MC1496 y no podía encontrar el cristal de 38kHz y me hice algo parecido a lo tuyo, lo que no recuerdo era el cristal que usaba pero mediante contadores y puertas obtuve las dos señales de 19 y 38khz. Cuando vi el pilotito rojo de mi cadena de música encenderse para indicar que mi emisora emitía en estereo me puse a saltar de alegría jajajaja.

Sobre la eliminación de armónicos y la multiplicación progresiva mediante escalera de resistencias está claro que están muy relacionados y en teoría es lo mismo aunque yo veo sutiles diferencias. Por ejemplo, en un multiplicador progresivo los intervalos temporales son uniformes, pero lo que cambian son los niveles en función de cual resistencia está activa. En un desfasador/sumador múltiple, los niveles son uniformes (como en un DAC) pero lo que varía es que los intervalos de muestreo no tienen todos la misma duración. Las formas de onda a la salida son muy parecidas pero no son iguales, y por tanto los armónicos que contienen son distintos. Habría que ver cual de los dos métodos permite mejor separación de la fundamental con los armónicos. Por otra parte en la práctica uno y el otro sistema adolecen de problemas que perjudican la precisión, pero son problemas de origen distintos. La escalera de resistencias exige una simetría muy buena entre identicos valores resistivos y unos valores algo esotéricos (resistencias del 1% con algunas resistencias de valores no estandares)

Por otra parte cualquier desplazamiento de fase en los desfasadores perjudica la cancelacion de armónicos pero no hacen falta resistencias esotéricas ni de un valor exacto (sólo hace falta emparejarlas para que su ratio sea lo más parecido posible para ambos canales).

Creo que merece la pena estudiar el sistema cancelador de armónicos ya que el de multiplicación progresiva se ha desarrollado muchísimas veces y hacer un multiplicador en escalera a base de 4051/52/53/67 sería hacer más de lo mismo que ya hay.

Pero este proyecto es abierto así que si alguien quiere aportar ideas o su propio diseño usando multiplicadores progresivos, es bienvenido. 

Te agradezco tu información y tómate el tiempo que quieras, cuando puedas te agradecería que subieras los archivos para que todos podamos disfrutarlos. Y por supuesto seria un honor que alguien tan implicado como tu participe en el proyecto en cualquiera de las propuestas de diseño que surjan.

La idea es hacer algo económico y accesible. Para la versión con MPU, había pensado en lugar de usar un 18F con PLL interno, usar un 16F628 con un cristal de 7.600MHz y un multiplicador sintonizado x3 para forzarlo un poquito a 22,8MHz (se puede overclockear sin problemas hasta 24MHz). De esa forma es como si alimentaramos con un cristal de 5,7MHz y un PLL x4. Así conseguíamos por oversampling hasta el RDS (x100).

Había estado buscando micros más económicos de las series 12F y 16F con PLL interno para que sean más económicos (como el PIC12F1612), pero el único sitio donde encuentro stock es en microchip. 

Un saludo.

PD: ¿Te interesa algún cristal o ya tienes? A ti te envio varios cristales totalmente gratis, jejeje


----------



## Andrxx (Sep 18, 2014)

A riesgo de no desvirtuar el tema, quiero añadir que el oscilador de 456 con resonador de 455 kHz es de muy buena calidad, lo monte en protoboard y funcionó perfectamente pero al hacerlo en uniprint, me daba fallos, al arrancar daba una señal muy sucia en el osciloscpio y al tocar el condensador variable de ajuste que llevaba, ya si arrancaba a oscilar bien... lo solucioné añadiendo un condensador cerámico de 5 pF en paralelo al de 47 pF que CREO que llevaba, asi a bote pronto no recuerdo más.

Sobre RDS, anda por Internet el MONRDS de J.Goessens de muy buena calidad, yo he fabricado 2 de forma casera y anda de escándalo, aunque tuve el problema de que no pude guardar en la EEPROM la configuración que le pasaba via RS232 al PIC.


----------



## Gatxan (Sep 18, 2014)

Buenas Palurdo (perdona, me da cosa llamarte así con este nick  ), veo que ambos llevamos tiempo en estos temas, jejeje.
Completamente  de acuerdo en que no es lo mismo el filtrado digital de armónicos que  la selección progresiva de valores de tensión. Posiblemente ya hayas  visto esta web: 
http://www.ham-radio.com/k6sti/ibocharm.htm
Aquí  explica los mismos métodos de filtraje digital pero aplicados a la  eliminación de interferencias de canales adyacentes que perjudican la  recepción estéreo al generar batido con los armónicos del decodificador  estéreo del receptor (que suele ser de conmutación a 38kHz)...

La  verdad es que tengo ganas de ponerme a experimentar los diagramas  de bloques que has puesto (pero es que estoy lejos de casa por motivos  laborales...). El primer esquema con el desfasador de 60º es muy fácil  de incorporar al típico encoder con 4066 y conmutación a 38kHz, y es un  buen punto de partida para ver qué mejoras obtenemos. 
Tengo todos los cuarzos necesarios, poca cantidad  pero sufcicientes para experimentar. Gracias por el ofrecimiento 

En  cuanto al tema del microcontrolador a usar (si finalmente empleamos  alguno), creo que es más favorable desarrollar algo entorno a los más  comunes de la serie PIC 16F ó 18F, y aunque si no se puede hacer un  oversampling 100x, si es 50x también está muy bien. 
Para el RDS  estaria bien que fuera con puerto USB, el ligero inconveniente es que el  microcontrolador (por ejemplo un 18F2550) no va a poder usar como su  propio reloj el cuarzo de 4.332, por lo de la sincronización de señales  del protocolo USB, y será conveniente aplicar el reloj del RDS  externamente.

Saludos!


----------



## palurdo (Sep 20, 2014)

Andrxx dijo:


> A riesgo de no desvirtuar el tema...



Que va!!! Muy al contrario, he leido tus interesantes aportaciones a la codificación estereo FM y al RDS del otro hilo. Estaría encantado que participaras también en éste.



Andrxx dijo:


> Sobre RDS, anda por Internet el MONRDS de J.Goessens de muy buena calidad, yo he fabricado 2 de forma casera y anda de escándalo, aunque tuve el problema de que no pude guardar en la EEPROM la configuración que le pasaba via RS232 al PIC.



Si, lo había visto, pero me parece que tiene el problema de que es dificil sincronizar con un codificador estereo por lo que es útil para emisoras mono. Por otro lado cuando programemos el RDS estaría disponible el código fuente para todo el mundo. No obstante es un buen diseño en el cual fijarse sus puntos buenos.

Por cierto, ya que también estás en el mismo tema, ¿Te gustaría contribuir al diseño? ya sea diseñando los bloques del coder o bien como Betatester, jejej, cuando ya empecemos a sacar circuitos en concreto... Si quieres cristales dímelo y te envío unos cuantos.



Gatxan dijo:


> Buenas Palurdo (perdona, me da cosa llamarte así con este nick  ), veo que ambos llevamos tiempo en estos temas, jejeje.



Jejeje, hay veces que me meto en nosecuantos proyectos a la vez y no doy abasto. También me he inscrito en el littleboxchallenge porque tengo ciertas ideas que quiero aplicar en un diseño. Sobre el nick, tu tranquilo. Es un nick _antitrolls_. Los trolls me ven, piensan que soy uno de ellos, y me dejan en paz. Además también es un nick irónico puesto que quien me conoce sabe que de palurdo nada de nada jajajaja.

Pues fíjate tu que no había visto el enlace que has puesto, que por cierto es muy interesante. Me imaginé que las técnicas de cancelación de armónicos ya se habían pensado para esta aplicación (raro es sacar ideas hoy día que alguien no haya pensado antes en ellas). Si funcionan bien para los decos de estéreo, no hay razón para pensar que no van a funcionar igual de bien para los coders.



Gatxan dijo:


> La  verdad es que tengo ganas de ponerme a experimentar los diagramas  de bloques que has puesto (pero es que estoy lejos de casa por motivos  laborales...). El primer esquema con el desfasador de 60º es muy fácil  de incorporar al típico encoder con 4066 y conmutación a 38kHz, y es un  buen punto de partida para ver qué mejoras obtenemos.



Yo estoy liado con el sintetizador sigma-delta a base de ROM pero no descarto sustituir la eprom por un 16f628 como te dije ya que en cuestión de precio no hay color... y el micro puede servir para muchas cosas más. También estoy pensando en hacer el desfasador digital a base de dos 4017 y un 4520 que mediante un truco puedo hacer dos divisores de frecuencia, uno por 19 y el otro por 4.

Una pregunta, según la teoría, la portadora RDS debe de estar en cuadratura con el tercer armónico de la piloto de 19? o con estar acopladas en frecuencia es suficiente?? En realidad usando un divisor x4 puedo ajustar la frecuencia tomando la salida del último biestable o la que se encuentra en cuadratura haciendo pasar las salidas de los dos biestables por una puerta xor (que implementaría con un bjt para no meter otro chip completo de lógica). Bueno, estoy hablando de un esquema que tengo en la cabeza, pero básicamente era saber como de necesaria es la cuadratura de la portadora RDS con respecto a la piloto.

Sobre la comunicación yo había pensado mediante RS232 adaptada con un convertidor a USB. Estos convertidores son muy baratos, el último lo compré por 57ctm en aliexpress y funciona de lujo, y la ventaja de esto es que si queremos podemos meter un módulo bluetooth que vale 4€ y ni siquiera hay que cablear el ordenador con el encoder RDS o incluso mandar los datos a través del teléfono móvil , además que el generador de baudios de los pics se adapta a cualquier cristal que le coloques, con mejor o peor precisión.

Cuando tenga novedades os cuento. 

Un saludo!!!


----------



## Daniel Lopes (Sep 21, 2014)

Hola a todos , adjunto lo diagrama esquemactico del encoder DB electronica (Italiana) 
En realidad tengo ganas de mesclar lo multiplex oversanple DB Electronica con lo generador de tono piloto del encoder NRG Pro 4 ( eso por seneren mui semejantes enpleando lo CI CD4067).
!Fuerte abrazo desde Brasil !
Att.
Daniel Lopes.


----------



## Andrxx (Sep 22, 2014)

Sobre el RDS, yo he probado el prototipo de J.Goessens en emisores profesionales, y sin problema, en la mayoria de emisores profesionales, el RDS va separado del estéreo y se modula en el mismo emisor, suelen tener (además de la entrada MPX) la entrada SCA por la que se inyecta la señal del RDS. En los emisores antiguos que no tienen esa entrada, yo he visto mezclar el RDS en la misma mesa de mezclas de estudio y funcionar perfectamente...


----------



## Daniel Lopes (Sep 22, 2014)

Andrxx dijo:


> Sobre el RDS, yo he probado el prototipo de J.Goessens en emisores profesionales, y sin problema, en la mayoria de emisores profesionales, el RDS va separado del estéreo y se modula en el mismo emisor, suelen tener (además de la entrada MPX) la entrada SCA por la que se inyecta la señal del RDS. En los emisores antiguos que no tienen esa entrada, yo he visto mezclar el RDS en la misma mesa de mezclas de estudio y funcionar perfectamente...


Bueno hasta onde yo se lo RDS nesecita estar enfasado con lo tono piloto del encoder estereo para tudo puder andar correctamente. Asi es nesesario una amostra del tono piloto del encoder estereo (19Khz)y direccionarlo a lo encoder RDS para ese enfasamento ( la subportadora de 57Khz del RDS es enfasada a los 19Khz del encoder estereo por un PLL  interno)
Att.

Daniel Lopes.


----------



## Gatxan (Sep 22, 2014)

Pues sí, la teoria indica que debe estar el RDS en fase con el tono piloto (otros comentan que en cuadratura), pero es una recomendación que se hace en las notas técnicas oficiales de los estándares de radiodifusión, el "problema" que puede generar que el MPX y el RDS estén "libres" el uno del otro es que se produzcan batidos audibles de sus componentes armónicos. La realidad es que he comprobado ambos casos (en fase piloto y RDS, y por otra parte completamente independientes el MPX del RDS), y ha funcionado en todos los receptores. También tengo el analizador de modulación PIRA 75 y muchas emisoras de mi ciudad no tienen Mpx y Rds en fase, por lo que usan equipos independientes y mezclan sus señales antes del enlace / emisor.
Por mi parte, creo que es de buen gusto técnico tratar de que ambas señales estén en fase, por eso mi interés en que la base de tiempos genere señales para el RDS y el codificador de estéreo a la vez.


----------



## Daniel Lopes (Sep 22, 2014)

Gatxan dijo:


> Pues sí, la teoria indica que debe estar el RDS en fase con el tono piloto (otros comentan que en cuadratura), pero es una recomendación que se hace en las notas técnicas oficiales de los estándares de radiodifusión, el "problema" que puede generar que el MPX y el RDS estén "libres" el uno del otro es que se produzcan batidos audibles de sus componentes armónicos. La realidad es que he comprobado ambos casos (en fase piloto y RDS, y por otra parte completamente independientes el MPX del RDS), y ha funcionado en todos los receptores. También tengo el analizador de modulación PIRA 75 y muchas emisoras de mi ciudad no tienen Mpx y Rds en fase, por lo que usan equipos independientes y mezclan sus señales antes del enlace / emisor.
> Por mi parte, creo que es de buen gusto técnico tratar de que ambas señales estén en fase, por eso mi interés en que la base de tiempos genere señales para el RDS y el codificador de estéreo a la vez.


Yo creo que que lo enfasamento es nesesario de modo facilitar la tarea del decodificador RDS en andar correctamente (escribir lo mas correcto possible en la pantalla). En realidad yo NO tengo esperiencia solida o especifica en ese asunto solamente especulo , jajajajajaja. 
Att.

Daniel lopes.


----------



## luen20 (Jun 21, 2015)

hola palurdo te felicito por tu buen trabajo de investigacion que as hecho sobre los decodificadores estereos, crees que de alguna manera se podria mejorar el encoder stereo pira?


----------



## Carlo Barreto (Jul 1, 2021)

Buenas, tengo un Encoder MonRDS, solo titila el led rojo y el verde permanece apagado. Espero sus comentarios. Saludos


----------



## DJ T3 (Jul 2, 2021)

Y.... Tienes mas informacion?

1) Antes, andaba?

2) Cargaste el ".hex" de alguna web (cuál), o hiciste el programa tu?

3) Si hiciste el programa tu, puedes subir el archivo para comprobar errores? (Si subes el texto directo, lee acá: https://www.forosdeelectronica.com/...o-subir-archivos-xenforo.157730/#post-1295349 )

4) Fotos de ambas caras del PCB, iluminadas y enfocadas.

5) Veo un DB9, comprobaste que la comunicacion esta funcionando?

6) Qué programas usas? (Tanto para controlar como para programar)

7) Qué PIC/Atmel/Microcontrolador estás usando? Y cuál es el original del circuito empleado?

8) Haz comprobado que todo el PCB y corcuitos estén bien, tanto que no haya cortes en las pistas, como corresponder los voltajes?


----------



## Carlo Barreto (Jul 2, 2021)

Hola, gracias por tu ayuda, esa tarjeta la adquirí y viene con un cd, en el cual están los drivers y el programa. no tiene guía de instalación ni manual para la correcta conexión.
Mañana envío las fotos de ambas caras, Instalé los drives la conecto al pc y todo bien, enciende el led Rojo, el programa viene precargado con unos demos de títulos PS RT y nombre de la radio etc.


----------



## DOSMETROS (Jul 2, 2021)

Carlos Garcia B dijo:


> esa tarjeta la adquirí


 
Nueva o usada ?


----------



## ricbevi (Jul 2, 2021)

Hola..."Meto la cuchara"... El led verde dice DATA por lo que a mi entender solo se activara si hay trafico de datos entre la *PC/software* *conectada/o* y el PIC.

Generalmente se coloca para ver si hay conexión establecida entre ambos, supongo que ya te das cuenta por *donde buscar*.

Saludos.


----------



## Carlo Barreto (Jul 2, 2021)

Nueva. Y no encuentro información para instalarla.



DJ T3 dijo:


> Y.... Tienes mas informacion?
> 
> 1) Antes, andaba?
> 
> ...


----------



## radium98 (Jul 2, 2021)

Hola , se edita el software , veo que se edita y se quita el nombre ( MON ) y la resolución puede variar , de todas formas gracias por las fotos , y que pasa con el cable de serie o el usb y que sistema operativo de windows , lo has ejecutado como administrador , hasta ahora no sabia cual es el problema que tienes , cual es la version del software que tienes ?


----------



## Carlo Barreto (Jul 2, 2021)

radium98 dijo:


> Hola , se edita el software , veo que se edita y se quita el nombre ( MON ) y la resolución puede variar , de todas formas gracias por las fotos , y que pasa con el cable de serie o el usb y que sistema operativo de windows , lo has ejecutado como administrador , hasta ahora no sabia cual es el problema que tienes , cual es la version del software que tienes ?


w10, si reconoce el programa y los drivers, el tema es que necesito saber como conectar esta placa con el transmisor que es un chino de 7w. Gracias


----------



## Daniel Lopes (Jul 2, 2021)

Carlo Barreto dijo:


> w10, si reconoce el programa y los drivers, el tema es que necesito saber como conectar esta placa con el transmisor que es un chino de 7w. Gracias


Ahi es que si queda lo gran problema , transmissores Chinos NO fueran desahollados a andar con sinales RDS.
Solamente sinales de audio derecho y eziquierdo .
!Saludos desde Brasil!


----------



## Carlo Barreto (Jul 2, 2021)

Daniel Lopes dijo:


> Ahi es que si queda lo gran problema , transmissores Chinos NO fueran desahollados a andar con sinales RDS.
> Solamente sinales de audio derecho y eziquierdo .
> !Saludos desde Brasil!


Algo leí al respecto, quedará para otro proyecto. Si alguien de pronto tiene alguna solución. Quedo atento.


----------



## Daniel Lopes (Jul 2, 2021)

Carlo Barreto dijo:


> Algo leí al respecto, quedará para otro proyecto. Si alguien de pronto tiene alguna solución. Quedo atento.


Solución hay , pero nesecita de cirurgias internas al circuito .
Como todo lo circuito es hecho en SMD esa tarea NO es nada recomendada para novicios en ese tema.


----------



## radium98 (Jul 2, 2021)

el transmisor chino tiene su propio estereo, y el rds que muestras tambien tiene un codificador estereo incorporado, te sugiero que pruebes a desactivar el codificador estereo del transmisor quitando el xtal 7,6, y conectando la salida del mpx + rds directamente al varicap y ver si funciona o no, espero que el xtal del pll chino sea independiente del xtal del pll , no tengo un pll chino en mi mano para indagar mas , pero en principio esto deberia funcionar como si tuvieras un transmisor mono , otros chicos expertos aqui te ayudaran mas . ..


----------



## Daniel Lopes (Jul 2, 2021)

radium98 dijo:


> el transmisor chino tiene su propio estereo, y el rds que muestras tambien tiene un codificador estereo incorporado, te sugiero que pruebes a desactivar el codificador estereo del transmisor quitando el xtal 7,6, y conectando la salida del mpx + rds directamente al varicap y ver si funciona o no, espero que el xtal del pll chino sea independiente del xtal del pll , no tengo un pll chino en mi mano para indagar mas , pero en principio esto deberia funcionar como si tuvieras un transmisor mono , otros chicos expertos aqui te ayudaran mas . ..


Noooooo , no  puedes quitar lo Cristal de Cuartzo porque senon lo PLL para de andar.
Lo que tienes que hacer es desligar lo Encoder Estereo original y injectar lo sinal de RDS directamente al diodo Varicap del paso VCO.
Peeeero como ya dice en mi post anterior  eso NO es una tarea facil .


----------



## moises calderon (Jul 2, 2021)

Estimados amigos, lo escrito por el amigo Daniel Lopes, es lo correcto, saludos.


----------



## radium98 (Jul 3, 2021)

como he dicho antes, no tengo un transmisor chino, y supongo que hay dos cristales, uno para el pll y otro para el estéreo








						chinese pll stereo transmitter (alliexpress)
					

Not ready




					mkmbroadcasting.blogspot.com


----------



## jogyweb (Jul 3, 2021)

Carlo Barreto dijo:


> w10, si reconoce el programa y los drivers, el tema es que necesito saber como conectar esta placa con el transmisor que es un chino de 7w. Gracias


Hola, tienes alguna foto del transmisor chino? Como para saber en que lugar de la placa necesitas intervenir. Saludos


----------



## Carlo Barreto (Jul 3, 2021)

jogyweb dijo:


> Hola, tienes alguna foto del transmisor chino? Como para saber en que lugar de la placa necesitas intervenir. Saludos


----------



## jogyweb (Jul 3, 2021)

has intentado conectar directamente solo la señal out rds a la entrada de MIC, suponiendo que el audio ingresa por la entrada AUDIO.
He hecho eso y funciona, tienes que atenuar un poco la entrada de mic, partiendo desde 0 y subirla de poco.
Hice esa prueba hace un tiempo. ahora no encuentro el transmisor chino... tenia uno por ahí pero no lo pillo para demostrarte que funciona.


----------



## Carlo Barreto (Jul 3, 2021)

jogyweb dijo:


> has intentado conectar directamente solo la señal out rds a la entrada de MIC, suponiendo que el audio ingresa por la entrada AUDIO.
> He hecho eso y funciona, tienes que atenuar un poco la entrada de mic, partiendo desde 0 y subirla de poco.
> Hice esa prueba hace un tiempo. ahora no encuentro el transmisor chino... tenia uno por ahí pero no lo pillo para demostrarte que funciona.


Realizaré esa prueba y te comento. Puedo contactarte vía WhatsApp. Gracias y buenas noches.


----------



## jogyweb (Jul 3, 2021)

Enontr[e el transmisorcito... no es identico, pero hace lo mismo. estoy uniendo los cablecitos y te hago el video


----------



## Carlo Barreto (Jul 3, 2021)

jogyweb dijo:


> Enontr[e el transmisorcito... no es identico, pero hace lo mismo. estoy uniendo los cablecitos y te hago el video


Gracias por tu valioso tiempo.


----------



## radium98 (Jul 4, 2021)

@Carlo Barreto , dê uma olhada neste esquema, por favor


----------



## jogyweb (Jul 4, 2021)

Hola amigos del foro, en el video explico como conecté el rds a la segunda entrada de audio (mic) en el transmisor chino.
No es el mejor método, pero para salir del paso, no emite tanto ruido como para que moleste el audio, apenas si es perceptible estando sin entrada de audio el transmisor. 

Espero les sirva. Saludos


----------



## Carlo Barreto (Jul 4, 2021)

jogyweb dijo:


> Hola amigos del foro, en el video explico como conecté el rds a la segunda entrada de audio (mic) en el transmisor chino.
> No es el mejor método, pero para salir del paso, no emite tanto ruido como para que moleste el audio, apenas si es perceptible estando sin entrada de audio el transmisor.
> 
> Espero les sirva. Saludos


Excelente, mil gracias por este gran aporte y solución. Éxitos


----------



## radium98 (Jul 5, 2021)

@Carlo Barreto , ¿Podría cargar el controlador del software RDS usando lo que publica una imagen de archivo rara gracias?


----------



## Carlo Barreto (Jul 5, 2021)

Te refieres a este.


----------



## radium98 (Jul 5, 2021)

esto es lo que estaba pensando , es una modificación POR NOMBRE SOLO del famoso mon rds , que es de unos chicos del foro ruso vrtp


----------



## Daniel Lopes (Jul 5, 2021)

radium98 dijo:


> esto es lo que estaba pensando , es una modificación POR NOMBRE SOLO del famoso mon rds , que es de unos chicos del foro ruso vrtp


Los Rusos son verdaderos Capos en Electronica ,hacen verdaderos milagros mismo con los pocos recursos disponible en las manos .
!Saludos desde Brasil!


----------



## Carlo Barreto (Jul 5, 2021)

radium98 dijo:


> esto es lo que estaba pensando , es una modificación POR NOMBRE SOLO del famoso mon rds , que es de unos chicos del foro ruso v





Daniel Lopes dijo:


> Los Rusos son verdaderos Capos en Electronica ,hacen verdaderos milagros mismo con los pocos recursos disponible en las manos .
> !Saludos desde Brasil!


Anoche lo encontré. Este es el original. Saludos


----------



## radium98 (Jul 6, 2021)

me preguntaba y preguntaba, como lo hicieron, cambiar el nombre, ¿es tan fácil? hay una herramienta para eso


----------



## Daniel Lopes (Jul 6, 2021)

radium98 dijo:


> me preguntaba y preguntaba, como lo hicieron, cambiar el nombre, ¿es tan fácil? hay una herramienta para eso


!Buena pregunta , software para mi es lo mismo que Aramaico (lengua enpleyada en los tienpos de Jesus) , Jajajajajajaja!
!Saludos!


----------



## radium98 (Jul 7, 2021)

para los clonadores y el bebé , el material es libre en la red para todo el mundo , que quieren copiar , clonar y poner su propio nombre de otro trabajo duro , debe dar crédito por lo mínimo , no hacer ganancias ... de todos modos otra vez tienen que editar duro.


----------



## Andrxx (Jul 7, 2021)

Daniel Lopes dijo:


> Los Rusos son verdaderos Capos en Electronica ,hacen verdaderos milagros mismo con los pocos recursos disponible en las manos .
> !Saludos desde Brasil!


Si el código no está ofuscado no debería haber problema, con cualquier editor de texto que lo haga en "binario" debería bastar. De hecho, yo lo hacía con el EDIT de Ms-Dos... recuerdo poner mi nombre en el copyright del bloc de notas de Windows.

El proceso era el siguiente, abrir el archivo .EXE en el edit de MS-DOS y seleccionar en el menú de abrir archivo la opción "Modo binario, ancho de linea 70" y buscar en el archivo el texto a modificar sustituyendo carácter por carácter, eso si, no se podía escribir más texto del que ocupara el original, luego guardar como... y nunca sobreescribir el archivo original por si hubiera algún problema como sobreescribir por error algún cacrácter del archivo ejecutable que provoque que se corrompa.

El EDIT de MS-DOS es una aplicación de 16 bits que no funciona en arquitecturas de 64 sin emuladores. Desconozco si habrá algo mejor.

Cuento una anécdota, hace años hubo una "guerra virtual" entre dos conocidos foros de habla hispana, un conocido banco de España hizo un concurso de diseño de una tarjeta de crédito, pues hubo una competencia entre dos foros de internet por posicionar una tarjeta con un diseño peculiar que contuviera motivos del foro que quería ganar. Pues los del foro de la competencia hicieron un programa aprovechando una vulnerabilidad en la Web que conseguía votar masivamente. Pues los del otro foro interceptaron el programa y gracias a EDIT de MS-DOS al no estar ofuscado el código (estaba en texto plano) entre el compilado del programa .EXE para votar masivamente se logró detectar que estaba el ID o número de la tarjeta del foro de la competencia modificando el programa para que en vez de votar el diseño de la tarjeta del foro de la competencia votara la que propuso el otro foro.

Al final los del concurso se dieron cuenta del tongo y cerraron el servidor. Todo quedó en nada.


----------



## radium98 (Jul 7, 2021)

pe xplorer puede hacer tal cosa en la ventana , es un trialware por 30 dias , y este software rds controller no esta protegido , ahora entiendo porque en #22 el nombre en la ventana del software ha sido borrado mmmmm


----------



## radium98 (Jul 11, 2021)

encontró esto


----------

