ASIC芯片上的载波恢复DSP算法设计与实现
随着数字信号处理(DSP)技术的成熟以及芯片技术工艺的飞速发展,作为光传输领域中的关键技术之一,光数字信号处理在专用集成电路(ASIC)上的实现成为了研究重点。
本文围绕着ASIC芯片中DSP算法设计流程中的主要步骤和常见问题,通过建立16QAM
数字通信系统模型,对通信系统中各个模块中的信号进行建模与分析,采取了多次仿真实
验对模型中关键参数之间的关系进行了对比与分析,根据仿真结果总结得出了在预设条件下较为适用的一套芯片相噪补偿算法,并实现了其在 ASIC 芯片上以资源使用最优化的条件下的硬件方案。
针对问题一,首先以基本加法、乘法、查表和缓存为基础,提出了一套导频长度可变的CR算法,在LS算法估计得到导频相噪后,根据MAP准则计算并补偿净荷相噪;同时在我们搭建的标准 16QAM 仿真平台上,CR 算法 RSNR 代价为线宽、色散、导频开销的函数,当线宽为100kHz,色散为20000ps/nm,算法并行度固定为128,RSNR代价小于3dB时,通过BER-RSNR代价曲线优化导频长度,结果表明即使减小导频长度会导致RSNR代价增大,CR算法在导频开销低至3.13%时,依然满足题设要求。
针对问题二,目标为在给定RSNR代价下,分析导频开销与线宽、色散的关系。在线宽波动范围为10kHz~10Mhz,色散波动范围为0~10000ps/nm时,1000次仿真结果表明,线宽小于1MHz时,导频开销与线宽成正比;大于1MHz以后,导频开销迅速增长。同时,导频开销基本不受色散波动影响,证明了我们的想法。
针对问题三,结合问题一与问题二中模型,引入了位宽、资源、净荷量等因素。由于定
点化位宽直接影响RSNR代价,因此对RSNR代价模型进行更新。同时,对硬件资源消耗进行建模,设计 CR 算法时序实现结构,将其与导频开销、并行度以及定点量化位宽联系到一起;根据问题一与问题二中模型,对问题二中模型进行更新,引入定点量化位宽对系
统RSNR代价的影响,并将问题三化简为与定点量化位宽和导频开销相关的最值问题。
针对问题四,结合问题一二三的分析,我们建立了一个性能-资源的统筹优化模型,通过最小化综合代价函数,得出了一套可自动优化位宽和实现性的方案,用以指导算法开发。
关键词:DSP,载波恢复算法,ASIC芯片设计,RSNR,定点量化,LS算法
目录
一、 问题重述 ........................................................................................................................... 3
1.1 提出问题 ........................................................................................................................ 3
1.2 问题分析 ........................................................................................................................ 3
二、 基本假设和符号说明 ....................................................................................................... 5
2.1 基本假设 .......................................................................................................................... 5
2.2 符号说明 .......................................................................................................................... 5
三、 问题1的模型的建立与求解 ........................................................................................... 6
3.1 16QAM信号传输模型的建立 ......................................................................................... 6
3.2 色散效应的信道模拟与补偿模块的建模与分析 .......................................................... 7
3.3 相位噪声的模型建立与分析 .......................................................................................... 8
3.4 相噪补偿CR算法的推导和分析 ................................................................................... 8
3.5 仿真结果与分析 ............................................................................................................ 12
四、 问题2的模型建立与求解 ................................................................................................. 15
4.1 目标分析和仿真模型设计 ............................................................................................ 15
4.2 仿真结果与分析 ............................................................................................................ 17
五、问题3的模型建立与求解 ................................................................................................... 22
5.1 ASIC芯片设计流程综述 ............................................................................................... 22
5.2 CR算法在ASIC芯片设计问题模型的建立与分析 .................................................... 22
5.3 仿真结果与分析 ............................................................................................................ 26
六、问题4的模型建立与分析 ................................................................................................... 28
6.1 资源与性能优化模型建立 ............................................................................................ 28
6.2 基于搜索的自动优化位宽和实现性设计的方案 ........................................................ 28
参考文献 ....................................................................................................................................... 30
附录 ............................................................................................................................................... 31
一、 问题重述
1.1 提出问题
进入 5G 时代以来,光传输领域的通信算法以及光传输芯片的制造工艺得到了飞速发展。例如采用7nm芯片工艺制造的光传输芯片容量可达到800Gbps,保障了网络流量的爆发型增长。在高速光纤通信的系统传输过程中,信号在传输过程中主要受到了以下干扰:
光电转换,电光转换,光调制解调器等模拟器件对信号的损伤;本振光源和发送光载波的频差以及相位噪声;光纤色度色散的影响;两个偏振态之间的串扰[1]。
在本次题目的研究中,我们主要考虑信号在信道中受到色散效应和相位噪声这两个因
素的影响。在光传输系统中,发射端激光器和接收端激光器都存在线宽,线宽数量级在100KHz左右,激光器线宽同样会使信号在星座图内旋转,从而影响信号判决,增加通信系统的误码率,线宽引起的信号旋转叫做相位噪声。相位噪声作为一种信道损伤可以使用基于导频符号(Pilot)的载波恢复(CR)算法对其进行估计并补偿。另一方面,色散是在光纤中传输的光信号(脉冲)的不同频率成分以不同的速度传播,在高速率光通信系统中造
成脉冲展宽,进而引起的信号失真现象。对于色散现象,我们可以根据其脉冲频率响应函数的形式进行色散补偿。
本文的主要任务之一,就是在保证RSNR(Required SNR)代价小于0.3dB的前提下,通过建立模型和仿真,分析和设计出一套使用Pilot开销最小的CR算法进行相噪补偿;同时,在考虑线宽和色散值参数于指定范围内的变化场景中,以同样的RSNR代价前提为目标通过建模仿真和拟合得到色散值、线宽与Pilot开销的定量关系。RSNR是评估算法性能的常用指标,它表示的是:对于给定的数字调制方式,在只有高斯白噪声存在时误比特率BER达到门限值(本文为2×10-2)信道中所施加的信噪比SNR与同时存在相位噪声、色散效应等干扰下BER达到相同门限点时信道施加的SNR相比增加的部分。当算法性能越好,则RSNR代价则相应地越低。
本文的另一个主要任务是在确定 CR 算法后,进一步考虑算法在芯片中的实现,将算法所需的资源进行计算考察,并考虑定点量化对算法性能和芯片资源的影响,通过建立优化模型设计出 CR 算法在芯片中实现中使用资源最低的方案。进一步的,根据现实中的具体应用场景,总结提炼“性能-资源”相平衡的算法设计思路和综合代价函数。建立模型,设计出一套自动优化位宽和实现性设计的方案。
1.2 问题分析
问题1:该小问中,给定了线宽参数设定为固定值LW=100kHz,色散值参数设定为固
定值Dz=20kps/nm,数字调制方式为16QAM,其波特率 | bf 为150Gbaud。首先,根据已知 |
的导频信息以及并行度要求,我们需要设计出一种合理且低复杂度的 CR 算法作为相噪补偿的理论基础;其次,我们需要根据最新参数,以基本的加法、乘法、查找表和缓存为基础,建立信道传输模型与信号模型作为仿真的运行平台,模拟 16QAM 信号在信道中的传
输以及在接收端进行的补偿和解调处理,根据解调出的比特序列计算得出误比特率 BER,绘制其在不同信噪比SNR下的曲线。将该曲线与只受到加性高斯白噪声影响下16QAM的BER-SNR曲线进行比较,观察找出两条曲线在BER门限值处的临界SNR值,两点之差即为该CR算法下的RSNR值。我们的最终目的是对不同Pilot开销下的CR算法进行仿真比较,选择出其中满足RSNR<0.3dB并且Pilot开销最小的算法,该算法即为问题1所求。
问题2:在问题1中CR算法和仿真平台的基础上,将线宽参数LW和色散值Dz分别设置在10kHz~10MHz和0~10000ps/nm的范围内变化,通过设计仿真模型找出并记录满足RSNR 代价小于 0.3dB 的情形下 LW,Dz 和 Pilot 开销值的变化关系曲线。然后通过对比这些曲线和数据,定量挖掘出色散、线宽与Pilot开销的关系。
问题3:在问题1和2的CR算法基础上,考虑并行度与时序约束,将理论上的CR算法细化为在ASIC芯片上可实现的基本操作,计算其在ASIC芯片上的实现所需要的资源,即需要多少量的加法器、乘法器、查找表以及数据缓存。通过绘制 CR 算法在 ASIC 芯片上的硬件实现流程图建立起该算法硬件实现的模型。进一步地,考虑定点量化噪声对芯片
上算法性能的影响,通过采用建立优化模型的方法,以定点量化使用定点数的定点位宽为
变量,题目给出的各个条件作为约束条件,解出使资源使用量最低的最优解,并以优化模
型为基础指向性地对不同位宽的定点量化方案进行仿真,找出符合性能要求以及消耗资源最少的位宽及其对应的硬件实现方案。
问题4:结合问题3中的代表性场景,以CR算法的性能与在ASIC芯片上实现所需要使用的资源相权衡,给出具有统筹意义的性能和资源的综合代价目标函数,并以此构造广
义的优化模型。最后根据设计的优化模型,设计出具有自动优化位宽和实现性设计的方案。通过仿真给出定量结果,用以验证给出方案的实用性和正确性。
二、 基本假设和符号说明
2.1 基本假设
(1)问题1和2中假设相邻很近的符号间相位变化很小,可以通过对相邻导频符号求取平均的方式减小加性高斯白噪声的影响,也可以用线性插值的方法对净荷符号相位进行估计和补偿。
(2)问题3中,设置存入buffer后,在下一时钟上升延可输出。
(3)问题3中,从buffer中取出数据不消耗资源。
(4)并行度等于帧长度,即帧与帧的处理为流水操作。
2.2 符号说明
符号 | 符号说明 | |
𝑓𝑓𝑏𝑏 | 波特率,Gbaud | |
LW | 激光器线宽,kHz | |
Dz | 色散值,ps/nm | |
SNR | 信噪比,dB | |
RSNR | 系统对噪声量的容忍度,dB | |
BER | 误比特率 | |
c | 光速,m/s | |
𝜆𝜆 | 波长,nm | |
M | 一帧数据内导频的符号数 | |
N | 一帧数据包含的总符号数 | |
𝜃𝜃𝑘𝑘 | 第k时刻信号相位噪声 | |
𝑑𝑑𝜃𝜃 | 前后时刻的相噪差 | |
𝑋𝑋𝑘𝑘 | 影响相噪差分布的参量, 𝑋𝑋𝑘𝑘~𝑁𝑁(0,1) | |
𝐻𝐻(𝑓𝑓) | 色散效应对频域信号施加的相位 | |
𝐿𝐿𝑋𝑋 | 位宽 | |
G | RSNR代价函数 | |
F | ASIC芯片资源代价函数 | |
J | 性能-资源综合代价函数 |
三、 问题1的模型的建立与求解
3.1 16QAM信号传输模型的建立
根据题目文档所给出的示意图,并根据常见通信开发流程,本文中所使用的数字通信系统模型如图1所示:
图1 16QAM数字通信系统模型
首先在发射端,将插入了导频序列的二进制序列通过 16QAM 调制后映射为星座点上的符号后,经过脉冲成型和过采样后向外发送。在信道里的传输过程中,信号会受到来自多个方面因素的干扰,这些干扰会引起星座图里的星座点向周围扩散。图2简要地展示了高斯白噪声引起16QAM信号星座点扩散的现象。
图2 16QAM信号星座图与高斯白噪声引起的星座点扩散现象
在本文中我们主要考虑三个方面的因素干扰:由于激光器线宽引起的相位噪声、由于
不同速率的光信号在光纤中传输引起的脉冲展宽从而造成的色散效应,以及贯穿整个信道
传输过程中叠加的加性高斯白噪声。受到这些因素干扰而部分失真的信号需要在接收端进行估计和补偿,否则信号通过解调转化为二进制序列时会由于失真引起判决错误,造成解调出的二进制序列与发射端的序列不一致,形成误码。根据本文考虑的信道干扰因素,我们在接收端对对经过了匹配滤波以及降采样的接收信号依次进行色散补偿处理和相位估计与补偿处理后,再对信号通过解调还原为二进制比特序列。信号的调制、传输和解调的整个流程如图 1 所示。为模拟 16QAM 信号在信道中受到相位噪声和色散效应的影响,以及模拟在接收端对这些干扰因素进行估计和补偿的过程,我们需要建立信号在不同模块传输的数学模型。3.2 节介绍了色散效应在信道中的模拟模型并提出了对应的补偿算法,3.3节对相位噪声的模型进行了建立和分析,3.4 节重点介绍了我们队针对相噪补偿所提出的CR算法,并对该算法的正确性与合理性进行了推导和分析。3.5节给出了仿真结果,按照题目要求进行了分析和总结。
3.2 色散效应的信道模拟与补偿模块的建模与分析
设从发射端发出的 16QAM 调制信号为𝑆𝑆0(𝑡𝑡),其在频域上的形式表示为𝑆𝑆0(𝑓𝑓)。如图 2所示,信号首先会受到色散效应的影响,其在信号的频域上乘上了色散效应的冲激响应,设经过色散效应影响后16QAM信号的频域表示为𝑆𝑆𝐷𝐷(𝑓𝑓),其数学模型为:
其中 | H f ( ) | = | exp[ | j | ∗ | ( | λ π Dz | f | 2 | )] | SD | ( ) | = | S | 0 | ( ) | ⋅ | H f ( ) | (1.1) | |
表示色散效应在频域上的冲激响应,其效果是在𝑆𝑆0(𝑓𝑓)上叠 | ||||||||||||||||||||
c |
加了一个与频点f的平方成正比的相位。Dz为色散值,λ 为波长,本文中取定值1550nm,
c 是光速,取 | 3 108 | m s | 。由于色散效应的冲激响应在时域上表现为无限长的 IIR 滤波器, |
因此对色散效应的模拟只能在频域上进行。在工程实现中,将信号从时域转化到频域最常见也最实用的方法是对时域信号作快速傅里叶变换(FFT)。因此,在本文的模型中,我们先将16QAM时域信号𝑆𝑆0(𝑡𝑡)通过FFT转化到频域形式𝑆𝑆0(𝑓𝑓)后,乘上色散效应的冲激响应函数H(𝑓𝑓)形成受色散影响的16QAM频域信号𝑆𝑆𝐷𝐷(𝑓𝑓),然后再作逆傅里叶变换(IFFT)将信号重新转化到时域,用𝑆𝑆𝐷𝐷(𝑡𝑡) =𝐹𝐹−1𝑆𝑆𝐷𝐷(𝑓𝑓)表示,其中𝐹𝐹−1表示IFFT变换。同样的,在接收端,我们对接收信号首先要进行色散补偿,其具体方法是对接收信号在频域上乘上H(𝑓𝑓)的共轭
R(𝑓𝑓),则经过色散补偿后的频域信号为:
最后转化回时域的色散补偿后信号用𝑟𝑟𝐷𝐷(𝑡𝑡)表示,𝑟𝑟𝐷𝐷(𝑡𝑡) =𝐹𝐹−1𝑅𝑅𝐷𝐷(𝑓𝑓)。综上,信道色散效应模拟和色散补偿模拟的方法如图3所示:
图3 信道色散效应模拟和色散补偿模拟方法
3.3 相位噪声的模型建立与分析
相位噪声主要由发射端和接收端的激光器存在的线宽引起的,其实质上是对发送信号在时域上叠加了一个时变的相位,即乘性噪声。根据图 2.2 所示的 16QAM 数字通信系统流程图,经过色散效应后的16QAM信号在时域表示为𝑆𝑆𝐷𝐷(𝑡𝑡)。我们设经过相位噪声叠加影响后的16QAM信号时域表示为:
S | PN | ( ) | = | S | D | ( )exp{ | j θ t ( )} | (1.3) |
其中θ(t)是随时间变化的相噪函数。由题目所给信息,对于相位噪声,k+1时刻和k时刻的相位差表示为:
d θ | = | θ k | + 1 | − | θ k | = | ( 2 π ∗ f | LW | ) | ∗ | X | k | (1.4) |
b |
LW为激光器线宽,本小题中取100kHz。𝑋𝑋𝑘𝑘是均值为0,方差为1的随机变量,即𝑋𝑋𝑘𝑘~𝑁𝑁(0,1)。根据这个条件,我们可以推导出相位噪声θ(t)可以建模为连续布朗运动或者均值为0,方差为c2t的维纳过程。[4]其简要推导如下:
1.设θ(t)为线宽Lw产生的相位噪声,由于其满足:
2. θ(t)是独立增量过程。
3. θ(t)关于t是连续函数。
由条件1、2、3可得 | { ( ), θ t t≥ | 0} | 是连续布朗运动或者均值为0,方差为c2t的维纳过程。 |
3.4 相噪补偿CR算法的推导和分析
对于信号相位噪声,我们需要在接收端通过载波恢复(CR)算法进行补偿。对于相噪的补偿方法,国内外的团队和学者贡献出了许多优秀的研究成果。如日本KDDI研究所提出的利用在传输符号周围插入 RF 导频音和保护频带对相位噪声进行跟踪方案;墨尔本大学W.Shieh团队提出利用导频辅助(PA)进行相噪估计的方法;麦吉尔大学D.V.Plant团队提出的不需要利用导频开销的判决引导(DD)忙相位均衡算法[3]等等。在这些算法中,导频辅
助法凭借其算法的低复杂度和较好的补偿效果受到了广泛的关注和应用。
导频辅助法利用插入导频的方式来进行相位噪声的估计和补偿,其基本原理是在发送端对每个信号帧中插入一定数量且对于接收端已知的导频符号,这些导频符号随净荷的数据符号一起通过数字调制发射到信道当中。在接收端,将接收信号中的导频符号定位并提取出来,利用已知的导频符号信息和接收信号中对应的导频符号之间相位的差值来进行相噪估计,并利用估计值对净荷部分的数据进行相噪补偿。
下面建立数学模型进行分析,设该CR算法中导频开销为 =M N | ,即每N个16QAM符 |
号中包含M个导频符号。导频开销决定了在固定帧长度下,导频插入的数量和方式。考虑到导频符号在信道传输过程中还会受到加性高斯白噪声的影响,其结果为在导频符号的波形𝑆𝑆𝑃𝑃𝑃𝑃(𝑡𝑡)上叠加了一个符合N(0,σ2)高斯分布的噪声波形,即:
S | PNAWGN | ( ) | = | S | PN | ( ) | + | w t ( ) | (1.6) |
其中𝑆𝑆𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑡𝑡)为16QAM信号在式(1.3)的基础上叠加了高斯白噪声信号w(t)后的信号模型。w(t)符合 N(0, σ2)的高斯分布,σ2 为噪声序列的方差。为了尽可能消除高斯白噪声的影响,更真实地还原出导频符号上的乘性相噪信息,我们可以选择将M个导频符号组成一个导频块,对导频块中相邻的M个导频符号𝑆𝑆𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(i=1,2,…,M)相加后取平均:
S | PNAWGN | = | 1 M | M ∑ i = 1 | S | PNAWGNi | w i | ) | (1.7) | ||||
= | 1 M | M ∑ i = 1 | ( | S e | j θ i | + | |||||||
≈ | S e 0 i | j θ 0 | + | w 0 | |||||||||
这里要求导频符号携带的 16QAM 信息完全一致,即在发送端调制前插入的二进制导频序列完全相同,从而发出的每个导频符号的波形𝑆𝑆0(𝑡𝑡)是相同的。此外还用到了2.1节中的假设(1),即假设相邻符号间的相位变化很小,相邻导频符号的相噪可近似看作一个相同的
值exp{jθ0}。 | w 0 | = | 1 | M ∑ i = 1 | w i | ,由于 | iw | ~ | N | (0, σ 2 | ) | ,因此 | w 0 ~ | N | (0, | σ 2 | ) | 。由此可见,对相邻的 |
M | M |
导频符号求和再取平均的方法,可以将导频符号上叠加的高斯白噪声方差减小到1/M的水平,从而有效地降低高斯白噪声对后续提取导频携带的相噪信息造成的影响。
另一方面,根据题目所给条件,导频块的相噪信息可以采用最小二乘估计(LS)算法进行估计。该算法由高斯提出,目的是在不需要知道估计量以及量测值相关的任何统计信息前提下,以使估计误差平方和最小为目标进行估计。对于包含 M 个导频符号的导频块
M | = | [ | S | 01 | , | S | 02, | ...., | S | 0 | M ]T | ,经过信道(色散+相噪+高斯白噪声)以及色散补偿后,接收端的导频块 | |||||||||
变为 | M | ' | = | [ | S | PNAWGN | 1 | , | S | PNAWGN | 2 | ...., | S | PNAWGNM | ]T | , | |||||
其中
通过式(1.14)可得:在已知两端导频块的相噪信息 θ(t)的情况下,可以以条件期望来内
插估计并抵消相位噪声,第t个数据符号的相噪估计值即为θ ( ) | = | x | + | t | − | s | ( | y | − | x | ) | 。 |
u | − | s |
最后,根据净荷数据符号的相噪估计值 θ(t),对经过色散补偿后的 16QAM 时域信号𝑟𝑟𝐷𝐷(𝑡𝑡)(见3.2节)进行相噪补偿,得到经过了色散补偿和相噪补偿的16QAM时域信号𝑟𝑟0(𝑡𝑡),具体方式为:
r t 0( ) | = | r t e ( ) | − θ ( ) | (1.15) |
综上所述,本文提出的CR相噪估计和补偿算法的具体流程如下表所示:
表1 CR相噪估计和补偿算法流程
Step 1 | 在发射端,按照每N个符号长度的序列,在开头M个符号长度的位置插 |
入对于接收端已知的、且每个导频符号信息相同的导频块的方式进行导频
Pilot插入操作。
Step 2 | 在接收端,将接收信号找出并提取导频块中的导频符号,通过式(1.7)和 |
(1.12)将导频块中的 M 个导频符号作相加平均再求幅角操作,求出每
个导频块的相噪估计值θ0。
Step 3 | 对相邻两个导频块间净荷数据符号的相噪值通过式(1.14)来进行估计得 |
到每个净荷数据符号的相噪估计值θ(t)。
Step 4 | 根据Step 3中得到的相噪估计值θ(t)按照式(1.15)进行相噪补偿,得到 |
11
最终经过色散补偿和相噪补偿后的16QAM时域信号序列𝑟𝑟0(𝑡𝑡)。
根据表 1 所示的步骤,本文提出的 CR 算法全部是以基本的加法、乘法、查表和缓存为基础实现的,符合题目要求。
3.5 仿真结果与分析
第一问的目的,是要在 RSNR 代价小于 0.3dB 的前提下,设计一套使导频开销最小的CR相噪补偿算法。因此,根据题目给出的条件和要求,我们可以将该问题构建为一个优化模型:
min M | M N | (1.16) | |||||||
s t . . | G | < | 0.3 | ||||||
N | = | 128 | |||||||
Lw | = | 100 3 | |||||||
Dz | = | 2 4 | |||||||
0 | ≤ | M | < | 128 | |||||
即在给定的约束条件下,求其最优解。
首先对在信道传输过程中叠加的乘性相位噪声进行仿真,其相位噪声值的变化曲线如
图5所示,可以看到相位噪声的确符合维纳过程特征
图5 相位噪声变化曲线
之后,为了研究比较信道中不同的因素对传输信号星座图的影响,观察经过 CR 算法对相噪进行补偿后信号的星座图变化,我们对 16QAM 信号分别收到色散效应、相位噪声影响和相噪补偿后的星座图进行仿真和绘制,并与原本的 16QAM 星座图进行比较,结果如图6和图7所示:
图6 色散对星座图影响
通过图 6 可以看出,色散效应对 16QAM 信号星座图中的星座点频域的相位进行了明显的扰动,并且高频分量的相位受影响的程度较大。相位噪声污染后的信号星座图如图7左图所示,可以看到信号相位产生了明显的旋转,图 7 右图展示了采用 CR 算法进行相位补偿后的星座图,可以看出星座点相位旋转得到了有效补偿,星座点基本集中在图6左图所示的位置上,说明我们提出的 CR 算法进行的相位补偿能够有效地抵消相位噪声对 16QAM信号的影响。
图7 相噪以相噪补偿对星座图影响
基于前面提出的CR算法和建立的QAM16数字通信模型,并根据题目要求,将波特率设置为150Gbaud,线宽为100KHz,色散为20000ps/nm,算法并行度为128,且不考虑定点量化。测试满足 BER 门限为 2e-2 时 RSNR 代价<0.3dB 条件下的导频开销的优化流程如下。
1)计算系统在只有高斯白噪声存在时,误码率为BER=2e-2时的RSNR0。
2)计算RSNR代价在[0,0.3]区间,不同导频长度,加入色散、相位噪声、高斯噪声以及色散补偿和相位补偿后系统BER。
3)当导频长度增加某一值,系统BER将降低BER门限,对应值为最小导频长度,由此可求得最小导频开销。
图8为RSNR代价在[0,0.3]区间,导频长度为1、2、3、4、5时的BER随RSNR变化的曲线,由图8可知,对任意导频长度,误比特率BER随RSNR代价的增大而减小,说明降低误码率意味着更大的RSNR代价。同时,为达到相同的BER性能,导频长度越小(即导频开销越低)所需付出的RSNR代价越大。
图8 不同导频长度BER-RSNR代价曲线
图9 BER随导频长度变化曲线
图 9 为控制RSNR 代价在 0.3dB时,误比特率BER 随导频长度变化曲线,由图可知,导频长度小于3时,BER大于门限值,当导频长度大于等于4以后,BER低于门限值。
综合图8和图9可知,我们设计的CR算法在满足BER=2e-2这个门限值时,对应RSNR的代价小于 0.3dB。当数据符号数取 128 时的最小导频符号长度为 4,对应的导频开销为3.13%。
代码
clear;clc;close all;
imgdir='img/';mkdir(imgdir);
bert=2e-2;
PLOT = true;
qammodcoe = 16;
SNRScan=0:0.01:20;
EbN0Scan=SNRScan-10*log10(log2(qammodcoe));
berte = berawgn(EbN0Scan,'qam',qammodcoe);
if PLOT
figure(1);grid on;hold on;
plot(SNRScan,berte);
plot(SNRScan,ones(size(SNRScan))*bert,'b--')
legend('16qam ber','target ber');
set(gca,'yscale','log');
xlabel('SNR');ylabel('BER');
savefig([imgdir '1theoryber.fig']);
end
[~,Ind]=min(abs(berte-bert));
RSNR=SNRScan(Ind);
TestLen = 1e4;
TestIters= 1e3;
pilotsym=1;
pilotNum=1;
pilotLoc = 1:8:TestLen;
Lw=100e3;
fb=150e9;
lamda=1550e-9;
Dz=2e4;
nfft=512;
osf=8;
filterC = rcosdesign(0.25, 6, osf);
fs=fb*osf;
parllelnum=128;
RSNR1=0.3+RSNR;
txs=randi([0,qammodcoe-1],1,TestLen);
txsym=qammod(txs,qammodcoe,'UnitAveragePower',true);
txsym(pilotLoc)=pilotsym;
if PLOT
figure(2);
plot(txsym,'b*');
xlabel('I','Interpreter','latex');
ylabel('Q','Interpreter','latex');
title('Constellation ','Interpreter','latex')
savefig([imgdir '2transConstellation.fig']);
end
txSig = kron(txsym,[1,zeros(1,osf-1)]);
txSig = filter(filterC,1,txSig);
if PLOT
figure(3);
subplot(211);plot(real(txSig(1:200)),'r*');
ylabel('I','Interpreter','latex');
title('txSig','Interpreter','latex')
subplot(212);plot(imag(txSig(1:200)),'r*');
ylabel('Q','Interpreter','latex');
savefig([imgdir '3txSig.fig']);
figure(4);
pwelch((txSig),1024,[],[],fs,'centered');
title('txSigSpectrum','Interpreter','latex')
savefig([imgdir '4txSigSpectrum.fig']);
end
[chsiganl1]=adddispersion(txSig,nfft,fs,3e8/lamda,lamda,Dz);
chsiganlC0 = filter(filterC,1,chsiganl1);
chsiganlC0 = chsiganlC0(length(filterC):osf:end);
if PLOT
figure(5);
plot(chsiganlC0,'b*');
xlabel('I','Interpreter','latex');ylabel('Q','Interpreter','latex');
title('Constellation After Dispersion','Interpreter','latex')
savefig([imgdir '5Constellation After Dispersion.fig']);
end
[chsiganl2,phanoise]=addphasenoise(chsiganl1,Lw,fb*osf);
if PLOT
figure(6);
plot(phanoise);
xlabel('');ylabel('Phase','Interpreter','latex');
savefig([imgdir '6Curve of Phase.fig']);
end
chsiganl3=chsiganl2...
+(randn(size(chsiganl2))+randn(size(chsiganl2))*1i)/sqrt(2)*10^(-RSNR1/20)*std(chsiganl2);
[rxsiganlC1]=subdispersion(chsiganl3,nfft,fs,3e8/lamda,lamda,Dz);
chsiganlC0 = filter(filterC,1,rxsiganlC1);
chsiganlC0=chsiganlC0(length(filterC):osf:end);
if PLOT
figure(7);
plot(chsiganlC0,'b*');
xlabel('I','Interpreter','latex');ylabel('Q','Interpreter','latex');
title('Constellation After PhaseNoise','Interpreter','latex')
savefig([imgdir '7Constellation After PhaseNoise.fig']);
end
rxsiganlC2 = filter(filterC,1,rxsiganlC1);
rxsiganlC3=rxsiganlC2(length(filterC):osf:end);
[y,valInd]=phasecr(rxsiganlC3,pilotNum,pilotLoc,parllelnum);
if PLOT
figure(8);
plot(y(valInd),'b*');
xlabel('I','Interpreter','latex');ylabel('Q','Interpreter','latex');
title('Constellation After Phase compensation','Interpreter','latex')
savefig([imgdir '8Constellation After Phase compensation.fig']);
end