# Demodulación de PPM



## Kern

Hola!

  Estoy buscando alguna información sobre la Modulación por Posición de Pulso (PPM), específicamente cómo demodular dichas señales.

  El asunto es que debo implementar un circuito demulador PPM y hasta el momento he encontrado muy poco en internet, ojalá alguien pudiera ayudarme.   

    De antemano muchas gracias, chau.


----------



## Marcelo

Kern, revisa este tutorial en línea a ver si te sirve para la teoría:

http://www.tpub.com/neets/book12/49.htm

y aquí también:

http://www.tpub.com/content/neets/14184/css/14184_134.htm

( http://www.tpub.com/content/neets/14184/    -  página original)

En el PDF de aplicaciones del 555 hay unos circuitos de PPM, no se si los vistes y te son útiles pero, aquí están:

http://información.hobbyengineering.com/specs/LM555.pdf 'pulse position modulation schematic'   (página 9)

http://www.itee.uq.edu.au/~walkerg/datasheets/lm555.pdf 'pulse position modulation schematic'    (página 7)

Espero te sirva.

Saludos,
Marcelo.


----------



## Marcelo

Discúlpame Kern pero creo que accidentalmente eliminé tu respuesta.

Prueba a seleccionar los link copiándolos y pegándolos en la barra de dirección de tu explorador a ver si abren.

Yo los probé y linkean bien.

Saludos y disculpas nuevamente.

Marcelo.


----------



## Kern

Marcelo,

Una vez más muchas gracias por tu respuesta.   


Saludos.
Kern


----------



## Marcelo

Últimamente no se que me pasa que leo Modulador en lugar de Demodulador.

La página original de teoría para el primer link del post anterior es:

http://www.newwaveinstruments.com/r...ital_modulation_tutorial_theory_technique.htm

Tiene otras cosas interesantes que a lo mejor te llaman la atención. (buenos tutoriales sobre modulación de varios tipos)

Si encuentro algo referente al demod, te lo comento.

¿Por qué no usas algo más común como PAM o PWM?.. solo bromeando.

Donde podrías encontrar algo es en los foros de radio control. Los equipos  más viejos usaban PPM para las posiciones de los joysticks, así que imagino que deben tener circuitos mod/demod. A pesar de los PCM actuales creo que todavía los usan. En comunicaciones se usa poco.

Aquí hay varios proyectos de radiocontrol "do it yourself" que a lo mejor tienen esquemáticos de PPM:

http://home.nordnet.fr/~fthobois/anglais/engl-index.htm


Saludos,
Marcelo.


----------



## Kern

> ¿Por qué no usas algo más común como PAM o PWM?.. solo bromeando.



Jaja ^^

Ojalá nos hubiera tocado algo con más información disponible... pero los temas se asignaron por sorteo, y a nosotros nos tocó esto   
Además tendremos que ponernos de acuerdo con otro grupo, ya que a ellos les tocó el modulador y la idea sería que nosotros logremos demodular lo que ellos envíen >.<

En todo caso ahora tengo un punto de partida gracias a los links que me has enviado.

Hasta pronto y gracias!


----------



## Marcelo

Bueno, me alegro.

De todas formas se me ocurre que un demodulador PPM simple se pudiera hacer con un pic de rango bajo (12C508 o 509)

Como se me viene a la mente es introducir la señal modulada en PPM y adecuada por el pint INT0 del PIC.

Luego al recibir un pulso (el cual activa la interrupción), éste dispara tu rutina de captura de interrupción. En esa rutina lees el TMR0, lo guardas en algún lado y borras la bandera de interrupción para esperar la siguiente.

Al llegar el próximo pulso, sucede lo mismo y obtienes el tiempo entre pulsos por el diferencial (T del primero - T del segundo).

Obviamente, esto tiene sus  bemoles que hay que corregir o manejar. Se me ocurren 3, por ahora:

1) Se debe prever de alguna forma el sincronismo, para saber que pulso es el primero y no desfasar la lectura  es decir, que no se calcule el tiempo entre el pulso de cola y el de cabecera en lugar de hacerlo al revés, como corresponde.

2) El TMR0 tiene un límite, así que hay que hacer alguna rutina para calcular el diferencial de tiempo en los casos en que el primero de ellos sea por ejemplo 125 ms y el segundo 40 ms. En este caso el TMR0 habría llegado al final y empezado a contar de nuevo desde 0. El diferencial debería ser DT = 125 *+* 40 = 165 ms. En caso de que los tiempos de ambos pulsos eestén dentro de la misma vuelta del timer, podríamos tener un caso en el cual T1 = 125 ms y T2 = 150 ms por ejemplo, aquí DT = 150 *-* 125 = 25 ms

3) La frecuencia debe ser tal que el diferencial entre pulsos sea menor (o igual?) al recorrido de una vuelta del TMR0 (aunque se podría inventar algo para contar el número de vueltas del timer. Esto poodría hacerse quizás manejando también la interrupción de desborde del timer)
También, la frecuencia no podría ser mayor a la resolución del TMR0 o en otras palabras, en la menor unidad de conteo de tiempo del TRMO no pueden sucederse 2 pulsos o más).

Esto es solo una idea. A ver si se te ocurre algo con esto.
Espero haber explicado bien la idea.

Saludos,
Marcelo.


----------



## Kern

Hola,

Me parece muy interesante la aplicación de PIC que me propones, porque aunque no tengo mucha experiencia con ellos, estoy decidido a aprender a utilizarlos mejor. Todavía para eso tendré que construirme un programador de PIC, para lo cual tengo unos planos que saqué de este mismo foro   

El único problema es que el meterle un PIC a este asunto del PPM lo haría demasiado complicado creo yo, especialmente en la poca disponibilidad de hardware que hay en las tiendas de por acá...  :x 

Hoy con mis colegas estabamos pensando hacerlo con componentes analógicos, por ejemplo... 
Introducir la señal PPM y una señal rampa a un comparador, con lo que se obtendría un disparo en el momento de producirse el pulso. Este pulso debería disparar un circuito que capture el valor instantáneo de la señal rampa. Entonces si utilizamos un conversor análogo digital u otro método para asociar ese nivel instantáneo de voltaje en la señal rampa con la información original... tendríamos un demodulador PPM   

Bueno... ojalá pudieras darme tu opinion sobre esta última idea, si será factible o no.

hasta luego ^^


----------



## Marcelo

Si, suena lógico y podría funcionar, lo que no entiendo es como descodificas.



> Este pulso debería disparar un circuito que capture el valor instantáneo de la señal rampa. Entonces si utilizamos un conversor análogo digital u otro método para asociar ese nivel instantáneo de voltaje en la señal rampa con la información original... tendríamos un demodulador PPM



¿La idea no es saber en el demodulador, la posición de cada pulso comparada con un tren de pulsos equivalente a una señal sin modulación?

Si el indice de modulación es cero, el tren de pulsos es simétrico e igualmente espaciado a una frecuencia específica.
Me parece que esa debería ser de alguna forma, la señal de referencia en el comparador.

Para eso quizás pudieran usar un diente de sierra de igual frecuencia que la del trén de pulsos de la portadora  y aplicar la misma idea que con la rampa.

Entiendo que según su diseño, van a saber cada cuanto tiempo deberían recibir un pulso si no hubiese modulación.

El tren de pulsos en el modulador varía su posición de acuerdo a los cambios de frecuencia y amplitud de la señal de información original o moduladora. 

En el demodulador, deberían poder capturar cuales son las nuevas posiciones comparadas con el tren de pulsos sin modulación y de allí deducir el valor de la señal original,  por ende debe existir una forma de sincronismo entre el modulador y el demodulador.

Fíjate en este applet para que veas como varían los pulsos ante modificación de amplitud y frecuencia para PPM (ayer se me olvidó "linkearlo"):

http://cnyack.homestead.com/files/modulation/modppm.htm

Después me explicas con más detalle cuando tengan más madurada la idea, pues me interesa el proyecto.

Saludos,
Marcelo.


----------



## Kern

> Para eso quizás pudieran usar un diente de sierra de igual frecuencia que la del trén de pulsos de la portadora  y aplicar la misma idea que con la rampa.



Claro  

Yo estaba pensando en una señal diente de sierra, no una rampa!!... siempre se me confunden los nombres jejeje

Bueno... en realidad todavía no he reflexionado mucho sobre cómo implementar ésto y estoy haciendo muchas suposiciones, ya que de la teoría de modulación no sé casi nada... para qué decir de PPM. 

Pero suponiendo que la señal que viene modulada presenta sólo un pulso por periodo, en una posición que depende de la señal moduladora y que el pulso tiene una amplitud mayor al peak de la señal diente de sierra, en el momento en que el pulso llegue al comparador superará el valor de la señal sierra y generará un disparo. Si logramos conocer el valor que tenía la señal sierra en dicho instante (cuando llegó el pulso) podríamos deducir el tiempo en el cual se produce éste... para tomar ese valor se necesita otro circuito, que puede estar activado por el disparo del comparador.

El sincronismo habria que establecerlo como tú decías entre la frecuencia de la señal diente de sierra y la frecuencia de la señal entrante, o sea que sus frecuencias sean iguales y no estén desfasadas, verdad?

Bueno, eso sería una explicación un poquito mejorada de nuestra idea inicial... aunque sé que es muy burda todavía.

Mil gracias por el applet, es muy ilustrativo!

Chao Marcelo!


----------



## Marcelo

> Pero suponiendo que la señal que viene modulada presenta sólo un pulso por periodo, en una posición que depende de la señal moduladora...



A esto es lo que me refería, la base de diseño es un señal pulsante de período X conocide y repetida a una frecuencia específica de diseño. La comparación de lo esperado versus lo recibido te dá la clave de demodulación.



> El sincronismo habria que establecerlo como tú decías entre la frecuencia de la señal diente de sierra y la frecuencia de la señal entrante, o sea que sus frecuencias sean iguales y no estén desfasadas, verdad?



Esto me parece que pudiera ser lo más complicado del diseño. 
¿Quizás enviar al inicio de la transmisión una serie de pulsos sin modulación (keying) durante un tiempo preestablecido y que el receptor se sincronice en fase con ella para luego de una pausa determinada empezar la recepción de la señal modulada?

Suena fácil en teoría pero en la práctica no se me ocurre como hacerlo en forma sencilla.

Supuéstamente, la facilidad de la electrónica en los modem PPM y su reducido tamaño, hace que sea utilizable y preferibles en radio control por ejemplo. 
Cuando te digo radio control no me refiero solo al aeromodelismo sino a robótica en general, así es que no creo que la implementación de estos circuitos sea muy complicada.

Saludos y suerte con el proyecto,
Marcelo.


----------



## Kern

Hola

Bueno, sólo pasé a contar que nuestro proyecto de PPM salió bastante bien. 
Encontramos por ahí un documento que explicaba más o menos la teoría de la modulación PWM y PPM, que están muy relacionadas entre ellas.
A partir de eso implementamos un demodulador sencillo utilizando un flip-flop tipo SR. El flip-flop transformadorrma la señal PPM en PWM y la PWM se puede demodular utilizando un filtro pasabajos. 
Nos saltamos el problema de la sincronización porque tomamos la señal de referencia directamente del modulador jejeje   

Bueno... eso es todo. Y muchas gracias por todo el apoyo.

Si alguien quiere saber algo más de nuestro proyecto, tengo por ahí algunos materiales que pueden servir.

Chao!


----------



## llalexll

Hola man, no se si me podrias pasar el circuito que isste para pasar de un PWM a un PPM, lo que pasa es que tambien a mi me toco hacer un demodulador de PPM y no se como hacerlo, espero tu respuesta.


----------



## davidsamagusa

investigate como modulacion para amplificasiones de clase d es la misma modulacion y hay mucha + informacioon


----------

