保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

基于DSP的电力线载波OFDM调制解调器


TMS320C6201的数据通路和流水线工作方式是对算法进行优化从而获得高性能的基础。TMS320C6201有两个可以进行数据处理的数据通路A和B?2?,每个通路有4个功能单元(.L.S.M.D)和一个包括16个32位寄存器的寄存器组。功能单元执行逻辑、位移、乘法、加法和数据寻址等操作。两个数据寻址单元(.D1和.D2)专门负责寄存器组和存储器之间的数据传递。在同一时刻,这些功能单元能够并行地执行多条指令。TMS320C6201对任何指令的操作都能分为几个子操作,每个子操作由不同单元完成。对每个单元来说,每个时钟周期可进入一条新指令,这样在不同周期内,不同单元可以处理不同的指令,这种工作方式称为“流水线”工作方式。TMS320C6201的特殊结构,可使8条指令同时通过流水线的每个节拍,从而大大提高了机器的吞吐量。

为使代码达到最大效率,程序将尽可能将指令安排为并行执行。为使指令并行操作,程序确定指令间的相关性,即一条指令必须发生在另一条指令之后。根据TMS320C6201的数据通路和流水线工作方式,在此给出一种高效实现16点Radix4FFT的方法。其基本思想是分解传统的FFT蝶型算法循环体,将其分别展开在A、B通路内计算两个FFT蝶型算法。每个蝶型算法分别只分配自己这一侧的寄存器组和功能单元。这样在循环体内两个蝶型算法是完全不相关的,能够并行执行。下面给出基于C.S.Burrus和T.W.Parks的Radix4FFT算法?3?的优化算法的代码实现。

void radix4?int n? short x??? short w???

?

int n1? n2? ie? wa1? wa2? wa3? wb1? wb2? wb3? ia0? ia1? ia2? ia3? ib0? ib1? ib2?

ib3? j? k?

short ta? tb? ra1? ra2? rb1? rb2? sa1? sa2? sb1? sb2? coa1? coa2? coa3? cob1?

cob2? cob3? sia1? sia2? sia3? sib1? sib2? sib3?

n2=n?

ie=1?

for?k=n?k>1?k>>=2?

? //number of stage

n1=n2?

n2>>=2? // distance between input datas

wa1=0?

for?j=0?j<n2?j+=2?? //number of butterfies perstage

wb1=wa1+ie?

wa2=wa1+wa1?

wb2=wb1+wb1? //since here?most of the folow-

ering two instructions are parallel

wa3=wa2+wa1?

wb3=wb2+wb1?

coa1=w?wa1?2+1??

cob1=w?wb1?2+1??

sia1=w?wa1?2??

sib1=w?wb1?2??

coa2=w?wa2?2+1??

cob2=w?wb2?2+1??

sia2=w?wa2?2??

sib2=w?wb2?2?

《基于DSP的电力线载波OFDM调制解调器(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/165002.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。