You are on page 1of 3

Figuras de Lissajous y su tratamiento en Matlab para

recuperar la diferencia de fase entre dos señales.


HUIXTLACA QUINTANA MAURICIO,1 CHICO SÁNCHEZ ARACELI,2 RUIZ ROMERO
RICARDO3 BLANCAS RAMÓN GREGORIO,4 IPATLAN GALINDO JUAN PABLO5
Benemérita Universidad Autónoma de Puebla, Procesamiento Digital de Señales II, primavera 2018 Puebla México
1 H. Q. Mauricio: pulsar_21@hotmail.com

Las figuras de Lissajous son patrones formados al graficar (Lo siguiente solo aplica para para señales con frecuencias 𝑓𝑦 =
señales periódicas una respecto a otra, dichos patrones 𝑓𝑥 )
reflejan la naturaleza de las señales de las que provienen
como: fase, amplitud y frecuencia, presentando patrones
característicos. Se han conseguido algoritmos para
recuperar los parámetros de amplitud fase o frecuencia
conociendo información de alguna de las 2 señales.
Mediante técnicas de procesamiento de imágenes
utilizando Matlab, determinaremos la relación de las
magnitudes del patrón y encontraremos la diferencia de
fase entre las señales, para un arreglo en específico que es
cuando las magnitudes y frecuencia de las señales
originales son iguales, pero la diferencia de fase entre las
señales cambia.
Fig. 1 Patrón de Lissajous para 𝑓𝑦 = 𝑓𝑥 𝑉𝑦 = 𝑉𝑥 con diferencia de
fase

Objetivo
Podemos obtener la fase y la razón de la magnitud de dos señales
senoidales de la misma frecuencia usando su patrón de Lissajous
Recuperar la fase entre dos señales de igual magnitud y frecuencia
como se observa en la Fig. 1.
empleando el patrón y algoritmo de Lissajous correspondiente
La razón de las magnitudes es:
Desarrollo

𝑉𝑥 𝑀 La primera parte de la práctica consistió en conseguir las figuras de


= (1) Lissajous en el osciloscopio utilizando generadores de señales o
𝑉𝑦 𝐴
empleando un arreglo RC con el fin de conseguir una diferencia de
fase a partir de la misma señal Fig.2. Una vez obtenidos los patrones
La diferencia de fase es: utilizando Matlab, y usando las formulas (1), (2) debemos
recuperar la fase entre las señales a partir de imágenes.

𝐵
𝜃 = sin−1 [ ] (2)
𝐴

Las señales son 𝑉𝑥 = sin(𝜔𝑡) y 𝑉𝑦 = sin(𝜔𝑡 + 𝜃)


Figura 2 Obtención de los patrones de Lissajous en el laboratorio. Figura 5 Patrones de Lissajous con diferentes fases.
Con los patrones obtenidos continuamos con el programa que
Un problema en el laboratorio fue el de no poder sincronizar los extraiga las magnitudes de los patrones (A) (M), y a partir de estos
generadores de señales para determinar la diferencia de fases a datos, conseguir el centro de la figura y los puntos que cruzan el eje
voluntad, por lo que se propuso utilizar la tarjeta Electronics vertical (B) (Fig. 1).
Explorer de Digilent (1) Fig. 3.
Descripción del programa.

Comenzamos con la lectura de la imagen, a continuación, para


trabajar solo con una matriz, la convertimos a escala de grises.

a=imread('5g.jpg');
a=rgb2gray(a);

Una forma práctica para localizar los límites (superior, inferior,


izquierda, derecha) lo logramos usando la función find ya que de
esta forma la búsqueda se realiza de arriba hacia abajo y de
izquierda a derecha, al definir una referencia de los valores que se
Fig. 3 Laboratorio USB con Osciloscopio Generadores y fuentes. encuentran en el óvalo a estudiar, al realizarse la búsqueda nos
Usando la interfaz de la Fig. 3 obtuvimos los patrones de Lissajous arroja una lista de todos los datos que cumplan con dicho valor sin
con señales senoidales con frecuencias 𝑓𝑦 = 𝑓𝑥 y con amplitudes embargo bastará con elegir el primer resultado y su posición.
𝑉𝑦 = 𝑉𝑥 obteniendo un patrón para cada variación de fase desde [q,w]=find(a < 0.2);
1° hasta 90° Fig. 4. izq=[q(1),w(1)]
size(a);

Como no podemos hacer que la función find cambie el sentido que


sigue para hacer la búsqueda, pensamos en girar la matriz de la
imagen y obtener el siguiente punto, sin embargo, la posición del
nuevo punto, no correspondería con la posición de la matriz
original. Paro eso se tomó la magnitud original de la matriz y en base
a la magnitud en el eje X y en el eje Y pudimos encontrar la posición
del nuevo punto, mientras que para un giro de 90 grados los ejes x
se convierten en y y viceversa para un giro de 180° x es la magnitud
menos la nueva posición de x lo mismo para y.
a1=rot90(a);
[q2,w2]=find(a1 < 0.2);
sup=[w2(1),((size(a,2)-q2(1)))]
Fig. 4 Señales senoidales con una diferencia de fase de 45° y su
patrón XY. a2=rot90(a1);
[q3,w3]=find(a2 < 0.2);
Para los patrones obtenidos se empleó una frecuencia de 1kHz y der=[(size(a,1)-q3(1)+1),(size(a,2)-w3(1)+1)]
amplitud de 5V, se consiguieron 90 imágenes para tener más
información cuando recuperemos la fase en Matlab, consiguiendo a3=rot90(a2);
lo siguiente Fig. 5. [q4,w4]=find(a3 < 0.2);
inf=[(size(a,1)-w4(1)+1),q4(1)]
Hasta el momento hemos conseguido los puntos (izq, sup, der, inf) imagen los bordes pueden ser confusos y elegir un punto lejano del
que forman los límites de las figuras. esperado.

Habiendo obtenido los valores A, M obtenemos el centro de la


figura. Referencias
centro = [((inf(1)-sup(1))./2)+sup(1),((der(2)-izq(2))./2)+izq(2)];
Center=[round(centro(1)),round(centro(2))] https://newton.ex.ac.uk/teaching/CDHW/Electronics2/Lissajo
imshow(a) us.pdf

Nótese que redondeamos una variable, esto se debe a que el centro http://www.rsriv.ece.ufl.edu/LAB1/Old%20Lab%20Manuals
no es un entero si el número de pixeles no es par. %20(until%20F10)/CH_Lab7.LISSAJOUS.pdf

Para encontrar los cruces por el eje vertical definimos un vector https://store.digilentinc.com/electronics-explorer-all-in-one-
columna justo en el cruce por cero, y buscamos los puntos del óvalo, usb-oscilloscope-multimeter-workstation/
definiendo como mínimo al primer valor de arriba hacia abajo y
máximo como el inferior.

rayay=a(:,(Center(2)));
puntosy=find(rayay < 0.3)
y1=min(puntosy)
y2=max(puntosy)

Finalmente, con los puntos A y B, obtenemos la fase y convertimos


a grados el resultado final

B=y2-y1;
A=(inf(1)-sup(1));

'La fase entre las señales senoidales es ...'

q=asin(B./A);
q=rad2deg(q)-0.7;
Grados=round(q)

Finalmente obtenemos la figura y en la ventana de comandos


obtenemos la fase del óvalo.

Conclusiones.

Pudimos trabajar con imágenes, tratarlas como una matriz y


realizar operaciones simples con ellas, logrando obtener resultados
que nos sorprendieron al ser tan cercanos como lo decía la teoría.
Notando que hay varias formas de obtener el mismo resultado
eligiendo soluciones diferentes.

De los resultados pudimos notar que entre mayor es la resolución


de las imágenes y mejor definidos son los contornos los resultados
son cada vez más precisos, ya que al tener baja resolución una

You might also like