李萨如图(Lissajous figure)详解与 MATLAB 可视化

2025-09-26 09:19:22

李萨如图(Lissajous figure)详解与 MATLAB 可视化示例

摘要:李萨如图是由两个互相垂直方向上的简谐运动合成而成的平面轨迹,既有优美的几何形状,又能直接反映两个正弦信号的频率比与相位差。因此它在物理(示波器相位/频率测量)、信号处理与数学视觉化中都很常用。下面先从数学定义、几何性质与仪器学意义讲起,再给出若干 MATLAB 可视化与相位估计的实用代码示例,便于实验与教学使用。

1. 什么是李萨如图(定义)

给定两个互相垂直的简单正弦振动

{x(t)=Asin⁡(at+δ),y(t)=Bsin⁡(bt),

\begin{cases}

x(t)=A\sin(a t+\delta),\\[4pt]

y(t)=B\sin(b t),

\end{cases}

{x(t)=Asin(at+δ),y(t)=Bsin(bt),​

其中 A,BA,BA,B 为振幅,a,ba,ba,b 为角频率(或简记为频率比),δ\deltaδ 为相位差。随着参数 ttt 变化,(x(t),y(t))(x(t),y(t))(x(t),y(t)) 在平面上描出的轨迹即为李萨如图。

李萨如图是指两个沿着垂直方向的正弦信号合成的轨迹,由于其能同时反映两垂直信号的幅值和相位差,常用于信号处理领域。

2. 几何与代数性质(重要结论)

相等频率(a=ba=ba=b):轨迹为椭圆(包括退化为直线或圆的特例)。特别地,当 A=BA=BA=B 且 δ=π2\delta=\tfrac{\pi}{2}δ=2π​ 时为圆;当 δ=0\delta=0δ=0 时为通过原点的直线 y=(B/A)xy=(B/A)xy=(B/A)x。

可以从三角恒等式消去 ttt 得到常见的椭圆方程(设 s=sin⁡(at)s=\sin(at)s=sin(at)):

x2A2+y2B2−2xycos⁡δAB=sin⁡2δ,

\frac{x^2}{A^2}+\frac{y^2}{B^2}-\frac{2xy\cos\delta}{AB}=\sin^2\delta,

A2x2​+B2y2​−AB2xycosδ​=sin2δ,

它是一般的二次曲线,δ\deltaδ 控制椭圆的倾角与长短轴比。

频率比为有理数(闭合性):若 ab\frac{a}{b}ba​ 为有理数,设在最简形式为 m:nm:nm:n(互素整数),则轨迹是闭合曲线,会重复。

若 aaa 和 bbb 都是整数,记 g=gcd⁡(a,b)g=\gcd(a,b)g=gcd(a,b),则函数对 ttt 的最小重复周期为

T=2πg,

T=\frac{2\pi}{g},

T=g2π​,

曲线在一个周期内完成闭合。

频率比为无理数(致密):若 ab\frac{a}{b}ba​ 为无理数,则轨迹不会闭合,而是在某区域内稠密填充(随采样时间越长越像填满区域)。

3. 仪器学意义(示波器上的应用)

在示波器的 X-Y 模式下,将一通道接 x(t)x(t)x(t)、另一通道接 y(t)y(t)y(t),李萨如图直接给出两信号间的频率比与相位差信息:

若频率相同 (a=ba=ba=b),用 xxx-轴过零点时 yyy 的截距可估相位:当 x=0x=0x=0(即 sin⁡(at)=0\sin(at)=0sin(at)=0)时 y=Bsin⁡δy=B\sin\deltay=Bsinδ,因此

δ=arcsin⁡ ⁣(yat x=0B),

\delta=\arcsin\!\Big(\frac{y_{\text{at }x=0}}{B}\Big),

δ=arcsin(Byat x=0​​),

这是示波器上常见的相位测量法(注意有符号与 π\piπ 的模糊,需要结合方向或多次测量判定象限)。

若频率比为简单整数比 m:nm:nm:n,图形的“瓣数/形状”可直接读出比例,从而判定频率比。

4. MATLAB 可视化代码(完整示例脚本)

下面给出一个自包含的 MATLAB 脚本 Lissajous_demo.m,它演示若干典型参数、整数比闭合与无理比稠密两类情形,并给出一个用于 等频情况估算相位差 的简单方法。

把下面代码复制到一个文件 Lissajous_demo.m,在 MATLAB 中运行即可。

% Lissajous_demo.m

% 李萨如图示例脚本:绘制若干典型参数并演示等频相位估计

clear; close all; clc;

% ------- 示例参数(每行:A B a b delta) delta 单位为弧度

examples = [

1 1 1 1 0; % 同频,同相 -> 直线

1 1 1 1 pi/2; % 同频,90度 -> 圆(若A=B)

1 1 2 1 0; % 频率比 2:1

1 1 3 2 pi/4; % 频率比 3:2 带相位

1 1 5 4 pi/3; % 频率比 5:4

1 1 1 sqrt(2) 0 % 无理比示例(稠密)

];

figure('Position',[100 100 1200 700]);

rows = 2; cols = 3;

for k = 1:size(examples,1)

A = examples(k,1); B = examples(k,2);

a = examples(k,3); b = examples(k,4); delta = examples(k,5);

% 智能选取绘制时间长度 t_end:

if abs(a-round(a))<1e-10 && abs(b-round(b))<1e-10

% 若 a,b 为整数,则最小重复周期 T = 2*pi / gcd(a,b)

g = gcd(round(a), round(b));

T = 2*pi / max(g,1);

t_end = T; % 一个周期即可见闭合图形

N = 4000;

else

% 非整数(可能为无理比),用较长时间观察稠密性

t_end = 40*pi;

N = 20000;

end

% ------- 绘制李萨如图 -------

t = linspace(0,t_end,N);

x = A*sin(a*t + delta);

y = B*sin(b*t);

subplot(rows,cols,k);

plot(x,y,'LineWidth',1.2);

axis equal; grid on;

xlabel('x = A sin(a t + \delta)');

ylabel('y = B sin(b t)');

title(sprintf('A=%.2g B=%.2g, a=%.3g b=%.3g, \\delta=%.3g\\pi', ...

A,B,a,b,delta/pi));

end

sgtitle('李萨如图示例(不同频率比与相位)','FontSize',14);

% ------- 等频(a==b)时的相位估计演示 -------

figure('Name','等频相位估计示例','NumberTitle','off');

A = 1; B = 1; a = 1; b = 1; delta_true = pi/6; % 30度

t = linspace(0,2*pi,5000);

x = A*sin(a*t + delta_true);

y = B*sin(b*t);

plot(x,y,'k'); axis equal; grid on;

xlabel('x'); ylabel('y');

title(sprintf('等频李萨如:\\delta_{true}=%.1f°', delta_true*180/pi));

hold on;

% 找到 x=0 处的第一个交点并内插算出对应 y 值(线性内插)

zc = find(x(1:end-1).*x(2:end) < 0, 1, 'first');

if ~isempty(zc)

kidx = zc;

% 线性内插求零点时刻 t0

t0 = t(kidx) - x(kidx)*(t(kidx+1)-t(kidx)) / (x(kidx+1)-x(kidx));

y0 = interp1(t,y,t0);

plot(0,y0,'ro','MarkerFaceColor','r','MarkerSize',8);

% 估计相位(取 principal branch)

delta_est = asin( y0 / B );

txt = sprintf('\\delta_{est}=%.2f° (由 y_{x=0}/B 估计)', delta_est*180/pi);

legend('轨迹','x=0 点对应 y','Location','best');

text(0.05, -0.1, txt, 'Units','normalized','FontSize',11,'Color','r');

fprintf('真实相位 (rad) = %.6f, 估计相位 (rad) = %.6f\n', delta_true, delta_est);

else

warning('未找到 x=0 的交点(采样/参数问题)');

end

% 保存示例图

% saveas(gcf, 'Lissajous_phase_estimation.png');

5. 李萨如图的应用

1. 频率比测量

李萨如图最经典的用途是在示波器上比较两个信号的频率。

原理:当两个互相垂直的输入信号分别驱动 X 轴与 Y 轴时,如果它们是正弦波,屏幕上会显示闭合的李萨如曲线。曲线形状与两个信号的频率比 a:ba:ba:b 有直接关系。

用途:通过观察图形的交点数目,可以快速判断频率比。例如:

频率比 1:1 → 圆、椭圆或直线频率比 2:1 → “8” 字形频率比 3:2 → 三叶形等

应用场景:

早期电子仪器中,用于校准信号源、音叉或振荡器频率无需复杂数学计算,直接肉眼判断频率比

2. 相位差测量

原理:当两个信号的频率相同(a = b),李萨如图是椭圆,椭圆的倾斜程度与相位差 δ\deltaδ 相关。

用途:通过测量椭圆的截距比例,或者直接找 x=0x=0x=0 时的 yyy 值,就可以估算相位差。

应用场景:

测量电路中电压与电流的相位差声学中测量麦克风信号的相位差振动分析中比较两个传感器的时延

3. 双通道信号分析

在信号分析中,如果需要同时观察两个通道信号的同步性与波形关系,李萨如图提供了一个二维视图。这比单独看两个时域波形更容易发现周期性关系或失真。

4. 机械振动与模式识别

原理:李萨如图可视化两个垂直方向上的运动。

应用:

在机械系统(如悬挂系统、桥梁、飞机机翼)中,用两个方向的位移信号绘制李萨如图,可以判断振动模式是否为简谐、是否存在耦合或共振。

5. 光学与激光扫描

在激光灯光秀、示教仪器中,利用两个正交方向的扫描信号(X 扫描、Y 扫描)叠加,就可以生成李萨如曲线的光学图案。通过调节频率比与相位,可以产生艺术性的动态图案(音乐可视化、艺术装置等)。

6. 通信与调制分析

在调幅(AM)、调频(FM)、调相(PM)信号分析中,李萨如图可用于快速识别调制类型和参数。在 IQ 调制解调中,李萨如图和星座图有一定联系,都利用正交分量作二维显示。

📌 总结:

李萨如图的核心价值就是用二维轨迹可视化两个信号的关系,尤其是频率比与相位差的测量。在示波器普及之前,它几乎是工程师的“必修技能”,现在虽然有更先进的频谱仪、相位计,但在教学、艺术和某些快速诊断中依然非常有用。