【2023研电赛】东北赛区一等奖作品:基于FPGA的小型水下无线光通信端机设计

news2024/10/6 12:23:49

本文为2023年第十八届中国研究生电子设计竞赛东北赛区一等奖作品分享,参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!,分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!

基于FPGA的小型水下无线光通信端机设计

在这里插入图片描述

参赛单位:大连理工大学
指导教师:殷洪玺教授
参赛成员:黄安、文浩、肖胡浩

研究背景

随着海洋开放程度越来越高、海洋发展速度的加快,以及半导体器件的连续突破,水下无线光通信技术飞速发展并逐渐投入到应用中去,实现科学技术到生产力的转变。

现有研究中的LED设计的UWOC系统,不管是在传输距离还是传输速率上,都还有较大的改进空间,同时,系统的设计可以通过在收发端均利用FPGA,以实现高阶调制、编码和信号处理及小型化系统集成,进一步提高系统的性能和实用化。

针对水下无线通信高速率、远距离、低成本和小型化设备的实用需求,本文设计研制了一种高鲁棒性的基于FPGA和大功率LED阵列的小型化水下无线光通信系统。光发射机的光源采用45W大功率LED阵列,基于FPGA实现高阶调制与编码,并设计了准直光学发射天线能有效减少光束发散角,大幅度延长了传输距离。在光接收端,设计了一种基于3mm大孔径APD的自动增益控制放大和FPGA解调与信号处理的光接收机,可以将一定范围内不同功率光信号转换成等幅度电信号并由FPGA实时解调、译码,可应对水下由于光链路轴偏角改变、传输距离变化、抖动、湍流等复杂因素造成光强度的闪烁或波动,降低了光通信系统对准的严苛要求,具有高鲁棒性。

该系统收发端均采用FPGA处理信号,可支持常用的OOK调制信号和以RS信道编码的16-QAM为例的高阶调制信号水下实时同步传输,可以满足水下不同场景下应用需求。光通信收发端机均实现小型集成化,以及严格的防水封装,通过电路设计、内部集成摆脱了传统UWOC系统体大笨重的AWG信号源、示波器、线性电源等设备,有极高的实际应用价值。

在速率上,该设备可实现30Mbps的OOK信号和16QAM信号12m水下信道实时传输,前者误码可达2.467×10-4,后者误码为3.467×10-3;在传输距离上,实现22Mbps 的NRZ-OOK整形信号12m水下30m空气跨介质传输,误码率为3.619×10-4;在系统鲁棒性方面,实现在12m水下信道中接收机偏离主光轴40°之内22Mbps OOK信号有效接收;实际应用方面,除了可以应用水下如搭载在潜艇上实现水下链路部署,进行水下节点信息采集或信号传输;其大功率LED阵列还支持空气-水链路无线光通信链路部署,如在船只上部署端机并和水下蛙人或水下机器人群落进行信息交互。其传输能力已经过水下验证。

论文地址:

地址一:
http://www.opticsjournal.net/Articles/g230966/EarlyPosting
地址二:
https://kns.cnki.net/kcms2/article/abstract?v=3uoqIhG8C45S0n9fL2suRadTyEVl2pW9UrhTDCdPD660zuLoGYfYSZ97VrLV1wB_pK8Y_L5H8mv4-c4_7_O25s6YT2XFv8aI&uniplatform=NZKPT

研电赛门型框架

在这里插入图片描述

创新点与应用性

创新点

1.硬件设计方面:发射端基于FPGA设计了一种45W大功率LED光发射机,实现长距离、高速率信号传输;接收端基于FPGA设计了一种自动增益控制光接收机,将一定范围内不同功率光信号转换成等幅度电信号并由FPGA实时解调、译码,可应对水下由于光链路轴偏角改变、传输距离变化、抖动、湍流等复杂因素造成光强度的闪烁或波动,具有高鲁棒性。

2.系统性能方面:设计并实现了一种高鲁棒性的基于大功率LED阵列和FPGA的小型水下无线光通信系统,系统兼顾了大功率与调制带宽,在传输速率(30Mbps)、传输距离(12m水下+30m空气)、鲁棒性(接收角度40°)性能方面在国内外的研究中处于领先地位。

3.信号实时同步传输方面:该系统收发端均采用FPGA处理信号,可支持常用的OOK调制信号和以RS信道编码的16-QAM为例的高阶调制信号水下实时同步传输。

4.小型化集成方面:光通信收发端机均实现小型集成化,以及严格的防水封装,通过电路设计、内部集成摆脱了传统UWOC系统体大笨重的AWG信号源、示波器、线性电源等设备,有极高的实际应用价值。

应用前景

除了可以应用水下如搭载在潜艇或AUV水下潜航器上实现水下链路部署,进行水下节点信息采集或信号传输;其大功率LED阵列还支持空气-水链路无线光通信链路部署,如在船只上部署端机并和水下蛙人或水下机器人群落进行信息交互。其传输能力已经过水下验证。

设计实现

硬件设计

光学系统是水下光通信的基础与前提,光源设备的选型,镜片孔径选择,光斑的整形,以及透镜材料等都会大幅度影响光通信系统的性能。相对于对人体有害、对准难度高的LD激光光源,价格低廉、技术已经成熟的LED光源是很好的选择,LED光源的水下光通信应用除了实现点对点之间信息传输外,还可以兼顾水下照明、水下视频拍摄、水下地貌勘探等。

光发射机由DE1-SOC FPGA开发板、45W大功率LED阵列、驱动电路、偏置器(Bias-tee)以及发射准直天线构成。LED阵列采用5串9并3030贴片集成光源芯片,单个芯片额定功率1W,实测波长517nm。光发射机实物图如下图所示,其尺寸(mm)为150×200×450,实测质量5.7kg,散热方案采取鳍片式铝制散热片与12V内置风扇散热,接口采用凌科DH20旋转式防水航空连接器,发射准直天线采用高透光亚克力(PMMA)防水法兰与胶圈结构,系统严格按照防水标准封装。

在这里插入图片描述
在这里插入图片描述

光接收机模块包含DE1-SOC FPGA开发板,3mm光敏面大孔径APD自动增益控制光接受模块、线性电源模块以及光学接收模块,系统框图如下图所示。其尺寸(mm)为300×200×200,质量为3kg,接口采用凌科DH20旋转式防水航空连接器。

本设计基于3mm光敏面大孔径雪崩光电二极管设计了一种自动增益控制光通信接收机。光接收机在实际应用中,由于光链路轴偏角改变、传输距离变化、抖动、湍流等外部因素的影响,接收到的光信号强度变化会使接收机FPGA处理器最终接收到的电信号质量剧烈变化,这对复杂的调制信号传输方案影响巨大。而本设计中高鲁棒性自动增益控制光通信接收机可以有效解决这一难题。光信号经过APD转化成电流信号后,经过跨阻放大器模块转化成电压信号,随后通过VCA821芯片构建的自动增益放大器模块(Automatic Generation Control, AGC)放大成峰值幅度固定不变的电压信号,最终输入至模数变换(ADC)模块。因此,本系统除了支持OOK调制方案,还可以应用于其他复杂模拟调制信号传输方案。在光接收机光链路空间结构上,3mm大孔径APD雪崩光电二极管固定在凸透镜焦点处,其高响应度的性能降低光学聚焦的严苛度,并结合有一定光发散角的大功率LED发射机系统解决了传统水下光通信对准困难的问题,增加了系统的鲁棒性。

在这里插入图片描述
在这里插入图片描述

信号选择与同步实现

在水下实时光通信方面,小型端机传输信号方面除了传统的OOK调制信号实时通信外,还可以实现RS编码的16QAM联合编码调制信号的实时传输。实验测试结果表明,该设备可实现12m以上水下环境中30Mbps的OOK信号和16QAM信号实时同步传输。

以16QAM为例:

在光发射端,16QAM调制信号在DE1-SOC FPGA开发板上实现。随机数据流先进行串/并转换,生成的4bit原始信号进行RS信道编码作为外码,随后进行差分编码作为内码,经过星座映射并添加载波信号生成RS-16QAM调制信号。生成的数字信号通过DAC数/模转换后由放大器放大,通过Bias-tee偏置器注入DC直流电流, 调制到大功率LED阵列转换成光信号。

在接收端,对16QAM信号进行严格的载波同步和位同步后,还原成I、Q两路信号。本设计采用DD算法载波同步,将接收的信号根据最近原则判决到最近的量化星座点上。载波同步过程中,由DDS生成相干载波,通过鉴相器和环路滤波器实时反馈调整载波的相位与频率。16QAM调制信号与相干载波相乘后经过滤波器恢复成I、Q两路基带信号。位同步方面,使用基于插值算法的位同步。插值区间由数控振荡器(NCO)生成,并输入到基于Farrow结构的插值滤波器,以计算两个下变频分支信号并恢复基带信号的最佳判断时间。插值间隔通过实时反馈进行调整,使用基于Gardner算法的误差检测器和环路滤波器进行计算。随后采用自适应门限判决的方法,周期性训练出星座判决门限,将I、Q两路位同步后的信号进行星座逆映射。最后进行部分差分解码、RS信道译码、串并变换还原成m伪随即序列二进制比特码流。

在这里插入图片描述

信号生成与同步详细实现过程可见论文:
黄安, 殷洪玺, 季秀阳, 梁彦军, 文浩, 王建英, 沈众卫. 基于FPGA和大功率LED阵列光源的小型化UWOC系统的研究与实现[J]. 光学学报, 2024, 44(06): 02.
地址一:
http://www.opticsjournal.net/Articles/g230966/EarlyPosting
地址二:
https://kns.cnki.net/kcms2/article/abstract?v=3uoqIhG8C45S0n9fL2suRadTyEVl2pW9UrhTDCdPD660zuLoGYfYSZ97VrLV1wB_pK8Y_L5H8mv4-c4_7_O25s6YT2XFv8aI&uniplatform=NZKPT

性能验证

在这里插入图片描述

为了验证基于FPGA的水下无线光通信接收机的接收性能,使用基于FPGA的45W大功率LED阵列发射机生成5MHz-30MHz的正弦波,以及15Mbps-30Mbps传输速率的NRZ-OOK脉冲整形信号,经过12m水下信道传输后,用示波器采集基于FPGA的自动增益控制接收端接收到的信号,查看其性能。接收端接收5MHz-30MHz的正弦波如上图所示。

接收端接收15Mbps-30Mbps NRZ-OOK脉冲整形信号眼图如下图(a)~(d)所示,可以看出15Mbps-25Mbps眼图质量较好,三张采集到的眼图区分不太明显,眼睛张开均比较明显,信噪比较高,误码率较低。由于光发射端原始带宽为22MHz,当传输的NRZ-OOK信号速率为30Mbps超出-3dB光发射机器件原始带宽时,信号一定程度畸变,但眼图张开依旧明显。
在这里插入图片描述

对研制的基于FPGA和LED阵列大功率光源的小型UWOC端机,进行误比特率(Bit Error Rate, BER)性能测试。水下信道长12m,系统采用OOK和16QAM两种调制方式,同步传输速率均从10Mbps逐步增大至30Mbps。测试结果下图所示,可看出二者的BER均随着比特率的增加而增加,但16QAM的误比特率总是高于OOK系统的误比特率。当系统速率达30Mbps时,OOK脉冲整形信号的误比特率为2.47×10‍‍-‍‍‍‍‍‍‍‍‍4‍,而16QAM误比特率已为3.47×10-3,尽管均低于3.8×10-3 (FEC, Forward Error Correction )的阈值,但16QAM的误比特率性能劣于OOK调制方式。这是因为QAM调制对信号的实时同步要求较高、及LED阵列的光束较宽致使水下信道的多径效应造成同步困难所致。
在这里插入图片描述

但是,在相同的传输速率下,16QAM的带宽利用率高于OOK调制,测试结果下图所示,可看出当传输速率为30Mbps时,OOK信号需要30MHz的带宽,而16QAM信号的带宽仅需13.5MHz,远低于OOK调制。设计的16QAM系统的滚降系数为α=0.8,中心频率为7.5MHz,符号速率为7.5Mbaud/s,带宽利用率为2.22bit/s/Hz,根据带宽公式B=RB(1+α)计算,其理论值与实测值一致。由于系统受ADC采样率和同步算法限制,没有充分利用16QAM高阶调制信号的带宽优势,在速率提升上仍有较大的潜力。
在这里插入图片描述

为了进一步测试设计的光通信端机传输的极限距离,但由于受到实验条件的限制,实验中在已有的12m长水管的基础上增加了不同长度的空气链路,构成了水-空气跨介质链路,测试结果如下图所示。实验传输22Mbps的NRZ-OOK整形信号,12m水下信道分别加上10m、20m、30m的空气信道传输后,系统误码分别为7.635×10-6、1.654×10-4、3.619×10-4。将光发射端的速率增加至30Mbps后,根据发射端放大器带宽增益积不变性质、及LED器件带宽的影响,发射端信号幅度衰减,12m水下信道分别加上10m、20m、30m空气信道传输后,系统误码分别为3.619×10-4、1.595×10-4、1.975×10-2。在图中还给出了对应的信号眼图,可以看出端机大功率LED光源线性较好,在30Mbps速率传输时,明显看出随着传输距离增长信号质量恶化,眼图闭合明显。在12m水加上30m空气链路传输时,22Mbps信号误码率可达3.8×10-3 EFC阈值。此外,水-空气链路中,当517nm波长光通信端机部署在自然光较强的场景下,端机性能会受到影响。图中还对比了在白天正午外界自然光较强情况下30Mbps OOK信号传输,其误码性能整体低于自然光影响较弱外界条件下的30Mbps OOK信号的误码率。
在这里插入图片描述

其它性能可通过上文见论文原文。

心得与总结

  1. 要在文章以及展示过程中强调并说明作品的应用性/实用价值
  2. 视频要美观,用流畅的普通话录制,如果条件允许可以找专业人员录制
  3. 要有一定创新点
  4. 作品要求完整性,可以自圆其说
  5. 国赛作品大多有论文专利成果

本组设计很荣幸获得兆易创新杯第十八届研电赛东北赛区一等奖,因为团队多数成员实习时间无法调整因素,未能参与晋级赛,略微遗憾。设计还有进步空间,如使用TFT显示屏和摄像头实时传输视频,结合LED阵列照明来实现水下视频实时拍摄,有极大进步空间,这正是我们努力进步的方向!

参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!,分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!

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

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

相关文章

环面上 FHE 的快速自举:LUT/Automata Blind Rotate

参考文献: [AP14] Alperin-Sheriff J, Peikert C. Faster bootstrapping with polynomial error[C]//Advances in Cryptology–CRYPTO 2014: 34th Annual Cryptology Conference, Santa Barbara, CA, USA, August 17-21, 2014, Proceedings, Part I 34. Springer B…

如何实现浏览器的前进和后退功能?

文章来源于极客时间前google工程师−王争专栏。 如何理解栈 后进者先出,先进者后出,这就是典型的“栈”结构。 从栈的操作特性来看,栈是一种“操作受限”的线性表,只允许在一端插入和删除数据。 当某个数据集合只涉及在一端插入…

【yolov系列:yolov7改进添加SIAM注意力机制】

yolo系列文章目录 文章目录 yolo系列文章目录一、SimAM注意力机制是什么?二、YOLOv7使用SimAM注意力机制1.在yolov7的models下面新建SimAM.py文件2.在common里面导入在这里插入图片描述 总结 一、SimAM注意力机制是什么? 论文题目:SimAM: A …

使用访问图像三种办法,指针,迭代器,动态地址计算

使用访问图像三种办法&#xff0c;指针&#xff0c;迭代器&#xff0c;动态地址计算 指针访问 方法一 #include <opencv2/opencv.hpp> #include <iostream> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp>using n…

TS中interface接口的使用

接口用来定义一个类的结构&#xff0c;用来定义一个接口中应该包含哪些属性和方法 语法结构如下&#xff1a; interface 接口名 { // 属性和方法 } 一、使用接口进行类型声明 我们声明一个对象类型可以使用如下方法&#xff1a; // 定义一个对象类型 type Mytype {name: st…

show index 中部分字段的含义

show index from 表名 查看某张表的索引情况 另: SELECT * FROM information_schema.STATISTICS WHERE TABLE_NAME "t1" 与 show index from t1 作用相似,且会返回更多的字段信息 创建一张测试表t1: CREATE TABLE t1 ( id INT ( 11 ) NOT NULL AUTO_INCREMENT, nam…

【C++】STL详解(十二)—— 用哈希表封装出unordered_map和unordered_set

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;C学习 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 上一篇博客&#xff1a;【C】STL…

Zookeeper 集群搭建

Zookeeper Zookeeper是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的Apache项目 Zookeeper 工作机制 Zookeeper从设计模式角度来理解&#xff1a;是一个基于观察者模式设计的分布式服务管理框架 一旦这些数据的状态发生变化&#xff0c;Zookeeper就将负责通知…

【EI复现】基于同步发电机转动惯量和阻尼系数协同自适应控制策略(Simulink仿真实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

华为OD机试 - 计算最大乘积(2022Q4 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…

分贝定义简介

一、什么是分贝 辅助单元Bel表示任何给定部件、电路或系统的输入和输出之间的对数比L,并且可以用电压、电流或功率来表示: 如果使用场量(电压或电流)代替功率量,则: 我们可以将增益或损耗因子相加为正或负dB值,而不是将其乘以比率。 分贝与功率转化的速读表如下所示:…

流程图设计制作都有哪些好用的工具

流程图是一种直观的图形表示方式&#xff0c;通常用于显示事物的过程、步骤和关系。在现代工作中&#xff0c;设计师经常需要绘制各种流程图来解释工作过程、产品设计等。本文将为您推荐7个流程图软件&#xff0c;以帮助您快速绘制高效的流程图&#xff0c;并提高工作效率。 即…

IDEA 2021.2.2设置自动热部署

1.导入包坐标 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency> 2.pom.xml添加piugins插…

Redis-双写一致性

双写一致性 双写一致性解决方案延迟双删&#xff08;有脏数据的风险&#xff09;分布式锁&#xff08;强一致性&#xff0c;性能比较低&#xff09;异步通知&#xff08;保证数据的最终一致性&#xff0c;高并发情况下会出现短暂的不一致情况&#xff09; 双写一致性 当修改了数…

光伏并网逆变器低电压穿越技术研究(Simulink仿真)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

JavaScript系列从入门到精通系列第十八篇:JavaScript中的函数作用域

文章目录 前言 一&#xff1a;函数作用域 前言 我们刚才提到了&#xff0c;在<Script>标签当中进行定义的变量、对象、函数对象都属于全局作用域&#xff0c;全局作用域在页面打开的时候生效在页面关闭的时候失效。 一&#xff1a;函数作用域 调用函数时创建函数作用域…

New Journal of Physics:不同机器学习力场特征的准确性测试

文章信息 作者&#xff1a;Ting Han1, Jie Li1, Liping Liu2, Fengyu Li1, * and Lin-Wang Wang2, * 通信单位&#xff1a;内蒙古大学物理科学与技术学院、中国科学院半导体研究所 DOI&#xff1a;10.1088/1367-2630/acf2bb 研究背景 近年来&#xff0c;基于DFT数据的机器学…

Docker安装及基本使用

一、Docker安装 1.下载关于Docker的依赖环境 在Xterm中输入以下代码安装依赖环境 回车 yum -y install yum-utils device-mapper-persistent-datalvm2 2.设置一下下载Docker的镜像源 依赖环境下载完毕以后&#xff0c;设置下载的镜像源&#xff0c;如果不设置&#xff0c…

使用Docker部署Redis(单机部署)

目录 一、查看Redis镜像版本二、拉取自己需要的镜像版本三、创建挂载目录四、添加配置文件五、运行Redis容器六、连接测试 一、查看Redis镜像版本 先去Docker Hub查看Redis镜像有那些版本&#xff0c;我部署的时候Redis最新已经到7.x的版本了&#xff0c;我这里准备部署6.x的版…

17哈希表-简单遍历

目录 LeetCode之路——383. 赎金信 分析&#xff1a; 解法一&#xff1a;哈希表 解法二&#xff1a;数组 LeetCode之路——383. 赎金信 给你两个字符串&#xff1a;ransomNote 和 magazine &#xff0c;判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以&…