SHARENG Divulgación

Inicio » 2014 » mayo

Monthly Archives: mayo 2014

Simulación de un PLL digital con SIMULINK

En Octubre de 2013 realizábamos un análisis de un PLL digital con un filtro de segundo orden. Llegábamos a las expresiones matemáticas y representábamos en MatLab la forma de la fase estimada. En esta entrada vamos a utilizar la herramienta SIMULINK integrada en MatLab, que nos permite realizar análisis de sistemas mediante bloques definidos dentro del propio simulador.

Representación de un ADPLL en bloques

Si recordamos la entrada de octubre, el diagrama de bloques del PLL digital era

Diagrama de bloques del PLL digital

Diagrama de bloques del PLL digital

donde teníamos un comparador de fase, del que se obtenía la estimación de fase, el filtro de lazo y un VCO. Recordemos también que el filtro de lazo H(z) genérico, para un PLL de segundo orden, era

Función de transferencia del filtro de lazo digital

Función de transferencia del filtro de lazo digital

Tratándose de un filtro PI (proporcional-integrador), ya que la primera constante, α, es simplemente un factor multiplicador mientras que el segundo término es la transformada z de un integrador.

Para simular la respuesta de este diagrama de bloques, vamos a generar una serie de bloques que nos permitan realizar la simulación de la PLL.

Generación de la fase de entrada

Para generar la fase de entrada, lo que vamos a hacer es generar una onda que responda a un periodo concreto T, en el que tendremos n muestras que se hacen con un periodo de muestreo TS. Por tanto, el argumento ΦREF con el que vamos a comparar el argumento del VCO es

Generación del argumento de referencia

Generación del argumento de referencia

Esta señal se convierte en un fasor complejo del tipo

Representación fasorial del argumento de referencia

Representación fasorial del argumento de referencia

y separando las señales en su parte real e imaginaria, tendremos dos señales a comparar:

Argumento de referencia en parte real e imaginaria

Argumento de referencia en parte real e imaginaria

La fase θ(n) será la fase de referencia, la que queremos sintetizar con el ADPLL, mientras el el término discreto nos permite ver la evolución temporal de la fase.

Para realizar esta generación se recurre al siguiente diagrama de bloques en SIMULINK.

Diagrama de bloques SIMULINK del generador de argumento complejo

Diagrama de bloques SIMULINK del generador de argumento complejo

donde tenemos un bloque Clock que genera la base de tiempos discreta. Esa base de tiempos se multiplica por un valor K que corresponde a la pulsación 2π/T y se suma con la fase de referencia, que corresponde con la fase de referencia θ. La salida la multiplicamos por el valor complejo j y hacemos la exponencial de ese producto. Aplicando el bloque Complex to Real-Imag, podemos extraer dos líneas, una con el coseno del argumento y otra con el seno. De este modo podemos generar la fase de entrada.

Generación del VCO

El VCO será un dispositivo que posea la fase estimada de la forma

Argumento del VCO

Argumento del VCO

Para realizar esta operación, tendremos que usar el siguiente diagrama de bloques.

Diagrama de bloques SIMULINK del VCO

Diagrama de bloques SIMULINK del VCO

En este caso, la estimación de fase del VCO se pondrá en función de la ganancia del VCO, Kv·T. A esta estimación de fase se le suma ωT, siendo ω la pulsación 2π/Ts, con Ts el periodo de muestreo de la señal.

El resultado pasa después por un integrador y le aplicamos una función coseno y otra función seno. El bloque ()*, que cambia de signo la línea de seno, convirtiendo la señal en una compleja conjugada, extrae a la salida las ecuaciones descritas para el NCO.

Representación del comparador de fase

El comparador de fase debe proporcionar a la salida la diferencia de fase, que es:

Error de fase

Error de fase

A partir de las ecuaciones generadas para la fase de referencia y para la estimación de fase, tenemos que hacer un multiplicador de números complejos como el que se muestra en el diagrama de bloques

Multiplicador de números complejos

Multiplicador de números complejos

Con el bloque Real-Imag to Complex se convierte AR, AI, BR, BI en sendos números complejos A y B

Transformación de las entradas a número complejo

Transformación de las entradas a número complejo

el resultado es un complejo CP cuyo valor es

Valor complejo de la diferencia de fases

Valor complejo de la diferencia de fases

y podemos ver que la diferencia de fase está en el argumento de la exponencial compleja. Aplicando ahora un bloque que convierte este número en Real-Imag, obtenemos

Diferencia de fase en forma real e imaginaria

Diferencia de fase en forma real e imaginaria

Aplicándole un bloque que convierta Real-Imag en Mag-Angle, como éste

Transformación Real-Imag a Mag-Ang

Transformación Real-Imag a Mag-Ang

obtendremos el error de fase

Error de fase

Error de fase

que es la señal resultado del comparador de fase.

Filtro de lazo

El filtro de lazo utilizado en un ADPLL suele ser un filtro proporcional-integral

Diagrama de bloques de un filtro de lazo digital

Diagrama de bloques de un filtro de lazo digital

La transformada z de este filtro la hemos visto en la introducción. En SIMULINK vamos a poner la dependencia de α, β en función de dos variables externas. El filtro de lazo en SIMULINK es

Diagrama de bloques SIMULINK de un filtro de lazo digital

Diagrama de bloques SIMULINK de un filtro de lazo digital

Donde Kp es α (factor proporcional) y Ki es β (factor integrador). Por un lado, realizamos directamente el producto de Δθ por Kp y lo llevamos a un sumador, mientras que por otro lado hacemos el producto de Δθ por Kp, lo integramos y llevamos al sumador, y con la suma obtenemos el tune (T(n)) del VCO.

La respuesta de este filtro a una señal escalón u(n) es una señal de la forma

Respuesta del filtro de lazo a una señal escalón

Respuesta del filtro de lazo a una señal escalón

que se corresponde con la expresión

Expresión de la respuesta del filtro de lazo a señal escalón

Expresión de la respuesta del filtro de lazo a señal escalón

Estudio completo del transitorio

En SIMULINK se pueden dibujar los bloques y crear un bloque nuevo, de tal modo que tengamos simplificados los mismos. El diagrama de bloques que vamos a simular en SIMULINK es

Diagrama de bloques SIMULINK del ADPLL

Diagrama de bloques SIMULINK del ADPLL

donde PhaseRef será la fase de entrada o referencia. Tomaremos como medidas Phase_error (donde se podrá comprobar la evolución del error de fase) y Loop, donde se podrá comparar la evolución de las señales de VCO y de referencia.

Para los valores Kp y Ki (α y β), tenemos que recordar que se debía cumplir que

Segunda condición de enganche del PLL

Condición de enganche del PLL

Eligiendo α=0.03 y β=0.002, obtenemos que el error de fase, para una fase de entrada de π/3, es

Respuesta el PLL a un cambio de fase en la entrada

Respuesta el PLL a un cambio de fase en la entrada

Como podemos comprobar, cuando se inicia, el error de fase toma un valor muy alto, que se va trasladando como una forma senoidal amortiguada, hasta que se convierte en cero. En ese momento la fase está enganchada. Como se puede comprobar, es la respuesta a un escalón en un filtro de segundo orden con factor de amortiguamiento.

Si ahora representamos Loop, obtendremos

Seguimiento de la fase con respecto a la fase de referencia

Seguimiento de la fase con respecto a la fase de referencia

Donde podremos ver que al principio las fases son muy diferentes, pero que ambas ondas tienden a converger a la misma fase, por lo que hemos igualado la fase a la fase de referencia, lo que significa el enganche de fase.

Si ahora usásemos sólo un filtro proporcional α (β=0), y simulásemos, obtendríamos

Respuesta a un escalón de un ADPLL de primer orden

Respuesta a un escalón de un ADPLL de primer orden

Que es la respuesta a un escalón de un filtro paso bajo de primer orden.

Conclusiones

En esta entrada hemos podido ver el comportamiento de un ADPLL en régimen transitorio mediante el uso de SIMULINK, que nos proporciona una herramienta de simulación potente para poder analizar sistemas en diagrama de bloques. Hemos podido comprobar que lo analizado en la entrada de octubre de 2013 es correcto y hemos podido comprobar su comportamiento transitorio.

Referencias

  1. C. Joubert, J. F. Bercher, G. Baudoin, T. Divel, S. Ramet, P. Level; “Time Behavioral Model for Phase-Domain ADPLL based frequency synthesizer”; Radio and Wireless Symposium, 2006 IEEE, January 2006
  2. S. Mendel, C. Vogel;”A z-domain model and analysis of phase-domain all-digital phase-locked loops”; Proceedings of the IEEE Norchip Conference 2007, November 2007
  3. R. B. Staszewski, P. T. Balsara; “Phase-Domain All-Digital Phase-Locked Loop”; IEEE Transactions on Circuits and Systems II: Express Briefs; vol. 52, no. 3, March 2005