无线通信方面论文范文集,与OFDM系统Turbo迭代均衡链路的DSP实现技术相关论文怎么写
本论文是一篇无线通信方面论文怎么写,关于OFDM系统Turbo迭代均衡链路的DSP实现技术相关本科毕业论文范文。免费优秀的关于无线通信及系统及数据方面论文范文资料,适合无线通信论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
放在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可以看出,实际中的系统
无线通信方面论文范文集,与OFDM系统Turbo迭代均衡链路的DSP实现技术相关论文怎么写参考文献资料: