matlab立体坐标定位_【半导光电】基于光电探测器的激光章动定位算法(二)

今日光电

       有人说,20世纪是电的世纪,21世纪是光的世纪;知光解电,再小的个体都可以被赋能。欢迎来到今日光电!


887eb4e88c83ece465fdf7dcf44a3146.png

----与智者为伍 为创新赋能----

1. 章动定位算法实验前,首先需要对光路进行调节,保证经过抖动振镜和章动振镜反射后的光束聚焦在单模光纤上。为了找到最佳耦合位置点,本文采用光栅式扫描寻找聚焦光斑的位置;确定好最佳耦合点后,对振镜的两轴分别输入正弦和余弦电压,使聚焦光斑沿这光纤端面做半径为R0的圆周扫描运动。在光纤输出端,采用光电探测器接收光信号,实现光信号到电信号的转换。光电探测器的负载电阻为 RL,扫描后检测到的最大输出电压为 Vmax,则最大光电流为:

0d8215ff88d3d123d7ccbed7c52a0599.png      (1)

根据响应度的定义,可以得到最大光电流下接收光功率表达式为:

f04c595dc67348ecbe6a6c65b404f6a0.png(2)

其中,R 为探测器的响应度。

假设信号光经过通信系统的精跟踪子系统后,接收到的光斑发生了偏移,偏移后的光斑点为 A1,光斑横向偏移量为 rb,如图 4 所示。采用章动扫描后,光电探测器的输出电压值也会出现周期性变化。本算法的关键是寻找电压最大值,如果已经找到扫描后的电压最大值,就会得到进入到光电探测器内相应的光功率值。当通信系统接收到的光斑的能量为 Pi,利用式子(1)(2),计算得到的光功率的最大值为 Pmax,则耦合效率的计算公式可以表示为:

e00bc15d56fb75a4fb4e6318d4302ef8.png     (3)

c1273186738c045b4658bf48a8dd9cc8.png

根据图 4 中的几何关系,可以得到光斑发生偏移的相对量为:

             7ea24f7b13e3cee2b1599d3206df0d00.png(4)

在控制振镜产生周期性扫描时,注意优化选取章动半径,防止半径过大使光斑移出接收端面外,产生其它误差,降低光斑检测精度。当检测到探测器输出电压最大值时,记录扫描到该点的时间,得到对应的坐标值,即

70f9baa6a356f5d89d21d4354f335c5d.png           (5)

8dc39546c27948f959c52345efe8edec.png         (6)

式中,w 为圆周运动的角速度,可表示为w = 2πft1为扫描的时间,f1为扫描时的频率。当光斑发生 角度偏转时,光斑中心A1的相对脱靶量为:

     99003d043a6bf1f708925413dbeed043.png              (7)

         dfb1cafe17ca852868c535f8810943b1.png         (8)

           5c1b39b2c0ceebb30f326a478b0bfa03.png(9)

本文利用章动算法实现了光斑偏移量的计算,该算法最关键的是寻找每一个扫描周期时光电探测器的输出最大电压值。控制章动振镜对经过章动扫描后计算出来的光斑坐标进行逐级补偿,进一步优化章动扫描的半径,提高光斑检测精度和跟踪精度。因此,对通信接收端的电路设计要求比较高,需要综合考虑探测器的接收灵敏度和响应度。2. 算法仿真为了验证章动算法的可行性与跟踪精度,本文采用 Matlab 进行仿真。在仿真时,预先使光斑发生已知偏移量,然后采用章动定位算法计算偏移后的坐标点,算出坐标点与原坐标的误差值,观察定位精度是否在可允许的范围内,仿真条件如表 1 所示。

28d8d0ded3a0f160b59fa6de1ada7966.png

光电探测器选用滨松公司的 G8931-04 型雪崩光电二极管(APD),用于接收单模光纤输出端的光信号。考虑到仿真结果的可行性,将光电探测器内的噪声信号如暗电流噪声、附加噪声、散粒噪声和热噪声也加入到仿真环境中,接收波长在 1550nm 波段,暗电流大小为 40nA,响应度为 0.9 A/W。为了方便章动定位算法计算,输入光功率-30 dBm。单模光纤半径为 4.5 μm,一个周期内的采样点数为 40 个。章动半径可根据耦合效率的损失量来选择,本算法仿真时选用半径为 2 μm 进行扫描。在实际应用时,需要综合考虑通信信噪比和角度误差要求来优化选取。仿真时,假设光斑偏移的后坐标为(2.5μm,1.5μm),一个章动周期内的采样点数为 40个,扫描一个周期需要 10ms,扫描 3 个周期后分别寻找 3 个周期内电压值的最大值,按照图 5 的计算流程,得到计算后的光斑偏移量,仿真得到的曲线图如图 6 所示。图 6(a)为扫描后的电压值的变化曲线,在 3 个周期内,电压值是呈现周期性变化的,其中最大值都为7.03mV。这也说明了章动定位扫描的稳定性是良好的。由于采用的接收探测器是 APD,雪崩增益为 10,利用式(1)可以得到相应的光电流值,变化曲线如图 6(b)所示,可以看出光信号转换后的光电流也呈现周期性变化。图 6(c)为光功率的曲线变化,图 6(d)为耦合效率的变化曲线。经过计算得到,耦合效率的最大值为 0.78。利用公式(3)的逆运算得到光斑横向偏移量 rb为 0.915μm,计算后的光斑坐标为(2.482μm,1.525μm),与原坐标的

计算误差在 0.02 μm 左右。

f4b8a70a3571b19e3d808f618f36c965.png

为了进一步验证章动定位算法的精确度,另取 4 个坐标点,利用章动算法进行仿真,仿真结果如表 2 所示。可以看出,在不同偏移量下,采用章动算法计算得到的光斑定位精度在0.04μm,完全满足通信系统对于光斑定位精度的要求。

255728cfa17572f6d2a8a24afc37cb9d.png

通过对式(5)和式(6)的分析,可以发现章动半径的选择决定了圆周扫描的路径。如果选择的章动半径过大,会造成扫描时光斑移出单模光纤的接收端面。探测器接收到的光功率会出现不连续的现象,无法准确检测光斑位置。对于章动半径的选择,需要根据检测到的耦合效率的损失量来优化选取。本文在 Matlab 中仿真分析了选择不同的章动半径时,探测器输出电压值和耦合效率的变化情况如图 7 和图 8 所示。表 3 为不同章动半径下所得到的定位结果。可以看出,章动半径的选择会影响光斑定位精度,当半径取 1.5 μm 时,得到的光斑定位精度为 0.02 μm;随着章动半径的增大,其定位精度值也会变大。这是因为半径的增大导致接收到的光功率降低,光斑信噪比下降造成定位精度值增大。

874624694d4dfc23b82f493b0895ec0f.png

4b7fe8494e9a84620726c569af140d69.png

为了验证系统对动态扰动下的光斑坐标计算精度,在抖动振镜处引入了由 matlab 生产的符合正态分布的随机信号,用来模拟光斑位置的随机抖动现象。仿真时选用扫描半径为 2μm、采样点数为 100 个,进行章动扫描,得到抖动状态下耦合效率曲线如图 9(a)所示。图中左侧为开环状态下引入随机抖动信号后章动扫描得到的耦合效率曲线图,其平均耦合效率为 54.24%。可以看出,在随机抖动情况下,单模光纤的耦合效率变化比较大。在章动扫描后,按照图 5 的章动算法流程图,计算得到光斑坐标后,启动闭环控制,通过优化章动扫描的半径,使光斑在坐标点附近运动,耦合效率提高到 62.4%。图 9(b)为扫描半径为 3μm、采样点数为 100 个时的耦合效率曲线图,虽然闭环控制下耦合效率也在逐渐收敛,但由于扫描半径过大,导致了耦合效率波动幅度过大的现象,抑制效果较差。

fa79352b8921d7432ed01dea30222c2c.png

3. 总结寄语

激光通信系统由于大气湍流、平台振动等影响,使光斑出现偏移,降低光斑检测精度。为了提高跟踪精度,根据单模光纤耦合原理,采用以光电探测器为接收系统的激光章动定位算法。本文仿真分析了章动定位算法计算光斑的定位精度,提高了单模光纤的耦合效率。但同时也存在一些问题,比如该算法可以对静态光斑横线偏移、一定频率内的动态干扰进行光斑检测,提高光纤耦合效率,但一旦扫描半径超出范围后,会使耦合效率波动幅度过大,其抑制效果并不好;在周期扫描内采样点数的增加会使系统的响应速度下降。在实际应用时,需要根据光斑脱靶量计算精度要求、单模光纤的耦合效率、系统的响应速度等综合考量。

本文来源论文:基于光电探测器的激光章动定位算法——陈果

b3ef6d34c33a30a52c734f98395db6d7.png

申明:原创不易希望大家积极点赞、转发扩散。

 887eb4e88c83ece465fdf7dcf44a3146.png

----与智者为伍 为创新赋能----

【说明】欢迎企业和个人洽谈合作,投稿发文。欢迎联系我们诚招运营合伙人 ,对新媒体感兴趣,对光电产业和行业感兴趣。非常有意者通过以下方式联我们!条件待遇面谈5bb4dc2815c328968693ff6620b11f6f.png3dd37bd1be5e86f1f8b5f7a9836dead3.png投稿丨合作丨咨询

联系邮箱:uestcwxd@126.com

QQ:493826566

aea2f6d4169c9799ef180695c62fd3d5.png

401d5d535386c2a67ff571b08139dba0.png

欢迎关注以下公众号了解光电测控相关

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396820.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android:支持多选的本地相册

前段时间在做一个动态发布功能,需要用到图片上传。一开始直接调用的系统相册和相机,由于系统相机不支持多选,就花点时间做了个本地相册,在此开源下。 先上截图,依次为选择相册界面、相册详情界面、查看图片大图界面 相…

心灵与大脑

2019独角兽企业重金招聘Python工程师标准>>> http://blog.sina.com.cn/s/blog_6f034fc30102f2tg.html 转载于:https://my.oschina.net/chirnson/blog/832011

python入门心得_记初学python的一些心得

人生苦短,我用python! 其实我自学python也很长一段时间了,但总是去更换学习资料,搞的现在学的不是很好,因为没更换次资料都要从头开始学起,那么分享下我的学习战况吧,不是很好,还将就…

16.U-boot的工作流程分析-2440

16.U-boot的工作流程分析-2440 分析的流程: 程序入口 第一阶段程序分析 第二阶段程序分析 2440开发板: 1.uboot的入口: 要看uboot工程的入口,首先打开顶层目录的Makefile: Uboot所支持的开发板,在顶层的Ma…

如何使用Redis做MySQL的缓存

应用Redis实现数据的读写,同时利用队列处理器定时将数据写入mysql。 同时要注意避免冲突,在redis启动时去mysql读取所有表键值存入redis中,往redis写数据时,对redis主键自增并进行读取,若mysql更新失败,则需…

psychopy 与脑电打码 eeg

2019独角兽企业重金招聘Python工程师标准>>> 实验程序就不放了,这里主要放如何向串口发送打码的代码 实际上,给脑电打码的本质就是向串口发送一个字符,脑电的程序会自动在收到该字符的同时在脑电数据上进行标记。以下代码打开了一…

mysql -- 索引的使用

普通索引:用于提升查询速度唯一索引:用于提升查询速度,还要求字段值不得重复主键索引:唯一性且不为空的索引全文索引:用于大量文本搜索中建立的索引虽然索引有好处,但是凡是都有俩面性,提高效率…

surface pro 7 linux,微软 Surface Pro、Studio、Laptop 全线更新

今晨,微软在纽约的秋季新品发布会上,发布了 Surface Pro 6、Laptop 2 以及最顶级的 Studio 2 三款备受期待的 Surface 产品。至此,包括年初的 Surface Book 2 在内,完成了2018 年 Surface 产品线所有升级计划。当然这场规模不算大…

dremwere怎样让多个图片并列排放_PPT图片布局不好看?六步教你,看完就会。

我们平时很多场合需要演示讲解时,少不了使用PPT。尤其目前白领层人士,项目总结、产品介绍、调研报告…无时无刻不被PPT包围,又无时无刻不被PPT设计所困恼。诚然设计好看实用的PPT需要高质量素材资源和坚实的文字功底。但在处理美化PPT时&…

ThreadLocal 你到底是个什么鬼

2019独角兽企业重金招聘Python工程师标准>>> 很多文章都拿它跟同步机制作比较,我觉得这个思路对于理解这个东西完全没有作用。 ThreadLocal跟synchronize这类东西作比较,是很多文章的套路,我感觉这么比较,就跟比较重载…

grep 显示包含两个关键字_linux三剑客之-grep

一、grep简介1.介绍全局查找正则表达式并且打印结果行的命令。2.输入一个文件或者一个标准输入(stdin),或者是一个“-”连字符()。3.输出打印在屏幕上4.grep家族扩展命令egrep、fgrep二、 Grep命令的应用1.命令格式grep [选项] 模式 [文件…]例如:grep root /etc/pa…

Python装饰器的实现原理

Python中的装饰器是通过利用了函数特性的闭包实现的,所以在说装饰器之前,我们需要先了解函数特性,以及闭包是怎么利用了函数特性的。 1.函数特性 Python中的函数特性总的来说有四点: 1.函数作为变量传递 def add(x):return x 1a add 2.函数…

opengl 安装_如何使得支持 OpenGL 的 Flatpak 应用和游戏在专有 Nvidia 图形驱动下工作 | Linux 中国...

一些支持 OpenGL 并打包为 Flatpak 的应用和游戏无法使用专有 Nvidia 驱动启动。本文将介绍如何在不安装开源驱动(Nouveau)的情况下启动这些 Flatpak 应用或游戏。-- Logix这有个例子。我在我的 Ubuntu 18.04 桌面上使用专有的 Nvidia 驱动程序 (nvidia-driver-390)&#xff0c…

RequireJS入门(一)

RequireJS由James Burke创建,他也是AMD规范的创始人。 RequireJS会让你以不同于往常的方式去写JavaScript。你将不再使用script标签在HTML中引入JS文件,以及不用通过script标签顺序去管理依赖关系。 当然也不会有阻塞(blocking)的…

Oracle数据库中游标的游标的使用

本人不喜欢说概念啥的,就直接说明使用方法吧 案例1: 1 DECALRE2 --声明游标3 CURSOR C_USER(C_ID NUMBER) IS4 SELECT NAME FROM USER WHERE TYPEID C_ID;5 V_NAME C_USER%rowtype; --定义游标变量6 BEGIN7 OPEN C_USER(变量值); …

eclipse占用内存过大_idea被评最好用java开发工具,为什么用eclipse的人更多?

从事java开发一般都需要使用到一些开发工具,记得以前刚接触java的时候还用过MyEclipse。idea被评为最好用java开发工具,为什么用eclipse的人更多?下面一起来了解下吧!IDEA毕竟不便宜啊,很多企业都买不起只能用Eclipse了&#xff…

Asp.net mvc 知多少(六)

本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想看英文原版的可访问http://www.dotnettricks.com/free-ebooks自行下载。该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答…

selenium选错弹出层的下拉框

要先选中这个弹出层的form元素,再找下拉框 public void downSelectBox(){driver.get("https://www.imooc.com/user/setprofile");driver.findElement(By.className("pull-right")).click();try {Thread.sleep(2000);} catch (InterruptedExcept…

C语言 1A gt $20,C语言输出 1到20 的阶乘之和

除了调用库,绝对找不到比这更精简的代码了.#include#includelong long getdata(long long n){long long sum 1;while(n){sum*n--;}return sum;}int main(){long long sum 0;long long nums 20;while(nums){sumgetdata(nums--);}printf("%lld",sum);}【…

32位PLSQL Developer无法登录Oracle 11g 64位

问题: Windows10 64位下装Oracle 11g 64位,PLSQL Developer使用出现以下问题: 1、Database下拉框为空: 2、强制输入用户名、密码及Database,登录弹出: 说明PLSQL Developer并不支持Oracle 64位客户端连接。…