OFDM系统Turbo迭代均衡链路的DSP实现技术研究文档格式.docx
- 文档编号:17325290
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:13
- 大小:1.17MB
OFDM系统Turbo迭代均衡链路的DSP实现技术研究文档格式.docx
《OFDM系统Turbo迭代均衡链路的DSP实现技术研究文档格式.docx》由会员分享,可在线阅读,更多相关《OFDM系统Turbo迭代均衡链路的DSP实现技术研究文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
Turbo均衡;
迭代接收机;
DSP
ResearchonDSPImplementationTechnologyofTurboIterativeEqualizationLinkofOFDMSystem
LINYun-feng,LEIXia,LIUHao
(NationalKeyLaboratoryofCommunicationsofUESTC,ChengduChina,610054)
Abstract:
ThecombinationofTurboequalizationandOFDMcanenhancetheanti-jamming,anti-fadingperformanceofthesystemandimprovethecommunicationqualityandcapacityefficiently.MostpreviousstudiesmaketheimprovementthroughthealgorithmofTurboequalization.However,basedontheTurboequalizationlinkofOFDMsystem,thispapermakestheimprovementofsystematicentiretystructurefromengineeringimplementation’spointofview,whichhasbeenprovedbysimulationonTIC6416TDSP.ThesimulationresultsshowthattheimplementationofTurboequalizationlinkproposedbythispapercanimprovetheperformanceofsystemeffectivelyandincreasetheiterativetimesofTurboequalization.
Keywords:
OFDM;
TurboEqualization;
IterativeReceiver;
1引言
在下一代移动通信系统中,多天线技术(MultipleInputandMultipleOutput,MIMO)和正交频分复用(OrthogonalFrequencyDivisionMultiplexing,OFDM)技术将会紧密地结合在一起,实现优势互补,从而提高系统性能,以满足高速数据无线传输的需求。
然而,由于移动通信环境干扰较严重,为了提高系统性能,有效的均衡技术和信道编码一直是无线通信领域研究的热点与难点。
传统的均衡器和信道译码器是相互独立的,信道检测硬判决结果直接作为信道译码的输入,这必然会影响译码性能。
受Turbo码[1]的启发,出现了将均衡和译码联合处理的均衡技术,其主要思想是将ISI信道、交织器以及信道编码器看成一个串行级联的Turbo码,在接收端采用Turbo译码原理,将软信息在均衡器和信道译码之间迭代传递,直到收敛为止,充分利用已获得的信息,从而系统性能有了很大的提升,这种反馈式处理称为“Turbo均衡”[2]。
为了最大程度地发挥“Turbo均衡”的效果,许多文献对其提出了改进。
其中文献[3]采用了最大后验概率(MAP)算法,虽然性能最优但复杂度很高。
文献[4][5]采用的是一种最小均方误差(MMSE)线性均衡器,复杂度比MAP均衡有了很大的降低,即使在很严重的信道失真条件下也能获得较好的性能。
文献[6]和文献[7]分别根据信道特点和外信息转移(ExtrinsicInformationTransfer,EXIT)图对Turbo均衡算法进行了改进。
以上文献是从理论角度进行分析来提高Turbo均衡链路性能,而本文将根据OFDM系统Turbo均衡链路特点,从实现角度(包括Turbo均衡链路设计、功能模块划分以及接口设计等方面)对Turbo均衡的DSP实现进行研究来提高性能。
仿真结果表明,使用此方案能有效提升DSP的数据处理能力,提高Turbo均衡迭代的次数。
本文后续部分安排如下:
第2节主要介绍了根据“Turbo均衡”的思想设计的OFDM系统的迭代接收机的原理;
第3节主要介绍了Turbo均衡链路的具体实现,包括Turbo接收机硬件结构、功能设计与接口优化等;
第4节给出了相关的仿真分析;
最后一节给出结论。
2OFDM系统Turbo接收机原理
根据“Turbo均衡”的思想设计的OFDM系统中的迭代接收机结构与各个功能模块划分如图1所示。
频域上的信道响应信息和经过FFT变换后的接收信息经过解调模块后输出软判信息,该信息经过解交织和Turbo译码得到外信息。
在未达到预定迭代次数时,外信息要经过交织和比特转符号先验概率信息模块作为先验概率信息反馈到解调模块重新解调;
达到预定迭代次数后,外信息不再反馈,Turbo译码模块输出判决比特。
随着迭代次数增加,软信息更充分地在检测器和译码器之间进行交换,从而使得系统性能有了很大的提升。
因此,做实现时如果设计一个好的整体框架和稳定高效的接口,就可增加迭代次数,让系统性能最大限度提升。
本文下一小节,将从实现角度对系统进行改进,从而有效提高DSP处理效率,提高Turbo均衡迭代的次数。
3OFDM系统Turbo接收机实现设计
3.1OFDM系统Turbo接收机硬件结构
Turbo接收机的硬件结构如图2所示。
加双口RAM是为了解决FPGA与DSP跨时钟域传输数据时出现不稳定现象,同时也为了方便两DSP之间的数据传输。
接收机数据流向如下:
1)从天线接收的模拟信号经过射频端处理后由模数转换端口(ADC)转为数字信号,再传给FPGA;
2)FPGA完成数据同步等处理后将数据通过双口RAM1传经DSP1,然后两DSP通过双口RAM2交换数据共同完成数据处理;
3)达到预定均衡迭代次数后,DSP0将数据通过双口RAM3传给FPGA,FPGA再传给高速串口RS232。
3.2OFDM系统Turbo接收机软硬件功能设计
当Turbo内迭代6次时,系统性能提升主要来自于Turbo外迭代的前三次。
考虑到性能与复杂度的折中,同时也让本方案便于更多人参考,本文以两块DSP芯片为例来说明整个链路的设计。
当DSP芯片多于两块时,可以根据本设计方案每个部分所提及的原则略做修改。
当两DSP都一直在处理数据,均衡链路可达到最高效率。
为了实现这个目标,将从以下三个方面进行改进:
●所有的接口部分数据存储都划分两个空间,用Ping和Pong区分,如图3所示。
第一个空间(Ping)存放先接收到的一帧数据,第二个空间(Pong)存放后接收到的一帧数据。
第一个空间数据处理完后可以放第三帧数据,第二个空间数据处理完后可以放第四帧数据,依次循环。
这样可避免后一帧将前一帧数据覆盖,同时也可以简化程序。
●将链路的循环在迭代与不迭代部分的分界处打断,如图4所示。
因为每帧数据不迭代部分只执行一次,而迭代部分要执行几次。
同时,打断后当DSP在处理一帧数据时,如果有新的一帧数据到来,可以处理新的数据,否则继续处理该帧数据,从而让系统更加灵活,能最大程度地提高效率。
●将迭代部分分成两部分。
将迭代部分1放在DSP1执行,而迭代部分2放在DSP0执行。
这样可同时处理两帧数据,当一帧数据在DSP0执行迭代2时,另一帧可在DSP1执行迭代1。
划分迭代部分1与2原则是尽量让两个迭代部分模块所需时间相同。
3.3OFDM系统Turbo接收机接口优化设计
为方便DSP之间的数据传输,两DSP之间加了一个双口RAM。
双口RAM有两个邮箱地址,分别用于触发DSP1和DSP0的中断,从而实现两DSP之间的通信。
由于均衡链路不仅要考虑当前正在处理的两帧数据的已迭代次数,还要考虑两帧数据放在Ping或Pong空间和DSP访问同一个双口RAM时的冲突问题。
因此,接口程序比较复杂,它的好与坏直接影响整个系统的性能。
为了保证接口程序稳定、高效和简单,本文主要从以下三个方面进行改进:
●命令字的优化设计。
●改进“二次握手”协议。
●加入“防死锁”机制。
3.3.1命令字的优化设计
为了解决“均衡链路当前正在处理的两帧数据已经分别迭代了多少次以及两帧数据分别放在哪个空间”的问题,本文通过传递命令字的方式来完成两DSP之间的通信,保证高效性的同时也大大简化了程序设计。
命令字为16bit,高4bit表示数据要发送或接收的空间,紧接的四位表示当前的迭代次数,低8bit暂时只作请求或应答的标志。
部分命令字及其含义详见表1。
3.3.2改进的“二次握手”协议
为了保证数据传输的准确性和高效性,两DSP之间数据传输以“TCP/IP”协议的“三次握手”为基础。
根据DSP系统的特点,主要从以下两个方面进行改进:
●在硬件电路正常工作的情况下,DSP之间传输数据误码率为0,所以可以将“TCP/IP”协议的“三次握手”的第三次握手去掉,即简化为“二次握手”;
●由于少了一次握手,两DSP之间有可能会发生“死锁”现象,虽然发生的机率非常小,但还是有可能发生,所以加入“防死锁”机制,详见下一小节。
图5为双口RAM空闲时,DSP1的发送空间(Ping)向DSP0的接收空间(Ping)传输数据的示意图。
DSP1向DSP0发数据,得先发送“传输数据请求”,DSP1只有收到DSP0回应的“同意传输数据”的命令后才发送数据。
如果DSP0没回应,则表明DSP0有数据要传给DSP1。
此时,DSP1先将本DSP有数据未传输标志位置1,等DSP0的数据传完后,再重新向DSP0发送“传输数据请求”,传输要传但没传的数据。
这样可以防止两DSP一起向对方发数据,从而避免数据丢失。
3.3.3“防死锁”机制
每个DSP都用一个标志变量指示双口RAM状态,当本DSP有数据要传或收到其它DSP发送的“传输数据请求”后将本DSP的双口RAM“忙”标志变量置1。
然而,由于两DSP之间的双口RAM只有一个,如果考虑不周全就会引起“死锁”。
例如:
假设最初双口RAM是空闲的,然后两DSP同时要向对方传数据,所以将本DSP的双口RAM“忙”标志变量置1,然后向对方申请传输数据。
双方收到对方发过来的申请后,发现双口RAM“忙”标志都为1,于是对对方发过来的数据传输申请都不作任何处理,此时就陷入了“死循环”。
要解决这个问题,必须加入“防死锁”机制,破坏“死锁”产生条件,让一方数据能够传输。
因为DSP在发数据前,检测到双口RAM空闲时才会向另一个DSP发送“传输数据请求”。
因此,当DSP收到另一个DSP的“传输数据请求”后,如果发现本DSP双口RAM“忙”标志变量已为1,一定是出现了上一段说的“死锁”情况,以此作为“死锁”的判别条件。
要避免陷入“死循环”,只需在其中一个DSP加入一个条件:
当“死锁”的判别条件成立时,暂时停止发送本DSP数据,向另一个DSP发送“同意传输数据”命令,让它先传数据,等它传完后再传输本DSP数据。
加入这个条件的DSP选择原则为:
本DSP迭代部分时间比另一个DSP迭代部分时间长。
这样可以保证迭代部分时间长的可以先进行处理,以便两DSP迭代部分时间平衡,从而提高系统效率。
当然,任意选择一块DSP加入这个条件也都可以避免陷入“死循环”。
“防死锁”的流程图见图6,该图是假设DSP0迭代部分所需的时间比DSP1长,所以在DSP0中加入了“防死锁”机制,避免了程序陷入“死循环”。
综上所述,为了提高OFDM系统Turbo迭代均衡链路的效率,增加Turbo迭代次数,在做DSP实现时主要考虑以下两方面:
●双DSP的迭代部分处理时间尽量平衡,如果不平衡,虽然链路不会出错,但效率和迭代次数会降低;
●如果两DSP在双口RAM的数据传输出现冲突,应先向数据处理所需时间长的DSP传输数据,以保证它能先进入数据处理,减少它的空闲等待时间。
4系统仿真及分析
为了验证本文提及的均衡链路的性能,下面用4条不同的数据链路进行测试。
这4条链路分别是双天线VBlast16QAM、双天线VBlastQPSK、双天线SFBC16QAM以及单天线16QAM。
链路测试平台采用的DSP芯片是TI公司C6416T,时钟1GHz,双口RAM为Cypress公司的CY7C026AV,容量为16k×
16bit,每次存取的时间为20~25ns。
按上一节方法将整条链路分成不迭代部分、迭代部分1和迭代部分2共三部分。
不迭代部分包括去CP模块、FFT模块、导频数据分离模块和信道估计模块。
迭代部分根据链路的不同作不同的安排,具体划分见表2。
因为这4条链路不迭代部分的处理流程是一致的,只是单天线比双天线少一半的数据,为了便于这些链路的合并,不迭代部分采用相同模块,所需时间为0.65秒。
当两个DSP一直都处于数据处理状态时,可以达到理论上系统效率的上边界。
因为有两块DSP一起作数据处理,所以理论上系统效率的上边界的计算公式为:
不迭代部分所需时间+迭代部分所需时间×
迭代次数=两帧数据之间的时间间隔×
2
两帧数据之间的时间间隔=下一帧数据刚开始发送的时刻-上一帧数据刚开始发送的时刻
根据上面的公式,可以得到理论上系统的迭代次数上边界。
理论上和实际系统的迭代次数上边界见表2。
表2与表3中Itera1代表迭代部分1所包含的模块,Itera2代表迭代部分2所包含的模块,Time1代表迭代部分1所需时间,Time2代表迭代部分2所需时间,Num1代表理论迭代次数上界,Num2代表实际迭代次数上界。
实际测试系统两帧数据之间的时间间隔为3.6秒,测试帧数为500,迭代次数设为实际系统迭代次数上边界。
从表2可以看出,在保证每帧数据不出错的情况下,均衡链路可以一直在系统迭代次数上边界运行。
特别是SFBC16QAM链路,理论上系统的迭代次数上边界是5.07次,实际实际系统迭代次数达到5次,0.07迭代所需时间为0.1秒,所以本文提出的均衡链路设计方案是可以充分发挥整个系统的数据处理能力,是切实可行的。
因为迭代次数都是整数,所以从表2可以看出,实际中的系统的迭代次数可以达到理论上系统的迭代次数上边界,即该设计方案能够有效增加系统的迭代次数。
如果双DSP的迭代部分处理时间不平衡,则会系统效率和迭代次数降低,如表3所示。
其中双天线SFBC迭代部分1包含解调、解交织和比特转符号先验信息模块,迭代部分2包含Turbo译码和交织模块,单天线16QAM迭代部分1包含解调、解交织、交织和比特转符号先验信息模块,迭代部分2包含Turbo译码模块。
由表3可以看出,在各个数据处理模块时间不变的情况下,迭代模块时间分配不均时,实际系统的迭代次数比理论值有所下降。
表3和表2相比,表3中迭代次数也都下降了。
所以,在做Turbo均衡链路的DSP实现时,应让迭代部分的处理时间尽量平衡。
5结论
本文以OFDM系统的Turbo均衡链路为基础,从系统架构上对整个链路进行改进。
在数据处理方面通过DSP之间的数据交互,让DSP可以同时处理两帧数据,从而减少了DSP的空闲等待时间;
在接口设计方面以“TCP/IP”协议的“三次握手”为基础进行改进,并引入了“防死锁”机制,保证接口的稳定、高效与简单。
仿真结果表明,本文提出的Turbo均衡链路能有效增加系统的迭代次数,提高系统性能。
参考文献
[1]CBerrou,AGlavieux,PThitimajshima.NearShannonlimiterror-correctingcodinganddecoding;
Terbo-coders
(1).In:
ProcIcc'
93.Geneva,Switzerland,1993,1064-1070.
[2]MTuchler,RKotter,ASinger.Turboequalization:
Principlesandnewresults[J].IEEETrans.Commun.,2002,754-767.
[3]Behnamfar,F.,Alajaji,F.,Linder,T..MAPDecodingforMulti-AntennaSystemswithNon-UniformSources:
ExactPairwiseErrorProbabilityandApplications.IEEETrans.Commun.,vol.57,no.1,,March.2009,pp.242-254.
[4]TuchlerM,SingerAC,andKotterR.Minimummeansquarederrorequalizationusingaprioriinformation.IEEETrans.onSignalProcessing,2002,673-683.
[5]LaotC,BidanR,andLerouxD.LowcomplexityMMSEturboequalization:
ApossiblesolutionforEDGE.IEEETrans.onWirelessCommunications,2005,965-974.
[6]Merched,B.R.TurboequalizationinhighDopplermobileenvironments:
Channelestimation,fastalgorithmsandadaptivesolutions.IEEETrans.Commun.,2008.
[7]Sabbaghian,M.,Falconer,D.D..AnAnalyticalApproachforFiniteBlockLengthPerformanceAnalysisofTurboFrequency-DomainEqualization.IEEETrans.Commun.,vol.58,no.3,,March.2009,pp.1292-1301.
作者简介
林云峰,电子科技大学通信抗干扰国家重点实验室,硕士,主要研究MIMO-OFDM通信系统,DSP应用技术等。
雷霞,电子科技大学通信抗干扰国家重点实验室,硕士生导师,主要研究无线通信、MIMO-OFDM通信系统等。
刘皓,电子科技大学通信抗干扰国家重点实验室,硕士生导师,主要研究认知无线电,B3G/4G移动通信技术等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OFDM 系统 Turbo 均衡 DSP 实现 技术研究