许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  激光外差干涉仪位移测量锁相放大正交鉴相算法matlab解算

激光外差干涉仪位移测量锁相放大正交鉴相算法matlab解算

阅读数 2
点赞 0
article_banner


激光外差干涉仪(Laser Heterodyne Interferometry)是一种高精度的位移测量方法,常用于测量纳米级或亚纳米级的位移。它通过测量干涉信号的频率变化来推断物体的微小位移。在这种系统中,激光束经过分束器分成两束,一束作为参考光,另一束与待测物体的反射光干涉。干涉信号中频率的变化与物体的位移成正比。

假设测量角锥由于物体运动产生了Δf的多普勒频移,两束光在BS处汇合,参考臂中频率为f1的激光与测量臂中频率为f2+Δf的激光干涉,参考臂中频率为f2的激光与测量臂中频率为f1+Δf的激光干涉。通过分析可以得到,最后输出的信号均包含了被测物体的运动信息,但是两束光的参考频率不一致。通过信号预处理滤除直流分量的参考信号和测量信号,对数字信号进行后续的信号处理流程。参考信号和测量信号的数学表达式如式:

其中:R和M分别表示参考信号和测量信号的幅值,ωr和ωm分别表示参考信号和测量信号的频率,φr和φm分别表示参考信号和测量信号的初始相位。参考信号与测量信号和MATLAB生成的一对正交信号混频,正交信号的表达式为:

混频信号经积化和差公式变换后可以表示为:

混频信号经低通滤波后去除高频分量,剩余信号的表达式为:

根据所得的两对低频正交信号关系做反正切计算求解得到参考信号和测量信号间的相位差:

最后对相位接包裹就完成相位解调了。

效果图如下:

matlab源码:

% 参数设置

lambda = 633e-9;         % 激光波长 (633 纳米)

v = 1e-3;             % 运动速度 (0.001m/s)

f_diff = 2e6;         % 外差频率 (2 MHz)

f_mix = 1e6;          % 混频频率 (1 MHz)

t = 0:1e-7:5e-3;      % 时间向量 (5 ms) 总运动距离(5微米)

% 匀速直线运动信号和干涉信号

delta_f = 2*v/lambda;           %频差Δf正比于测量镜的移动速度

Ir = sin(2 * pi * f_diff * t);            % 参考信号

Im = sin(2 * pi * (f_diff+delta_f) * t ); % 测量信号

fs = sin(2*pi*f_mix*t);   % 正交信号

fc = cos(2*pi*f_mix*t);

%信号混频

Irfs= Ir.*fs;  

Irfc= Ir.*fc;

Imfs= Im.*fs;

Imfc= Im.*fc;

%低通滤波 由滤波设计器设计工具设计的如下图:


load('Hd.mat');

Irfs_filter = filter(Hd,Irfs);

Irfc_filter = filter(Hd,Irfc);

Imfs_filter = filter(Hd,Imfs);

Imfc_filter = filter(Hd,Imfc);

%参考信号和测量信号间的相位差

delta_fai = atan2(Irfs_filter.*Imfc_filter-Imfs_filter.*Irfc_filter,Irfs_filter.*Imfs_filter+Imfc_filter.*Irfc_filter);

%接缠绕

ture_fai = unwrap(delta_fai);

%求解位移

Lt = ture_fai*lambda/4/pi; %解算位移

true_lt = t.*v;           %实际位移

err = true_lt - Lt;  %误差

% 绘制结果

figure;

subplot(8,1,1);

plot(t(1:500), Im(1:500)); %测量信号

title('测量信号')

ylabel('信号强度A')

xlabel('时间t/s')

subplot(8,1,2);

plot(t(1:500), Imfs(1:500));%混频信号

title('混频信号')

xlabel('时间t/s')

ylabel('信号强度A')

subplot(8,1,[3,4]);

plot(t(1:50000), delta_fai(1:50000));%信号相位差

hold on;

plot(t(1:50000), ture_fai(1:50000));%信号相位差

title('信号相位差')

ylabel('相位φ/rad')

xlabel('时间t/s')

hold off;

subplot(8,1,[5,6]);

plot(t, Lt);%解算位移

xlabel('时间t/s')

ylabel('位移L/m')

title('解算位移')

subplot(8,1,[7,8]);

plot(t, err.*1e9);%解算位移

xlabel('时间t/s')

ylabel('误差e/nm')

title('误差')

/***********************优美分界线*********************/

写到最后

聪明人一眼看出代码是GPT生成的。感谢科技进步让我能够快速建模仿真!然后这是鄙人的作业,欢迎大家借鉴共同进步[抱拳][抱拳][抱拳]。最后感谢张世华老师的精彩授课。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空