微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 水声OFDM系统中卷积码译码设计及其DSP实现

水声OFDM系统中卷积码译码设计及其DSP实现

时间:04-11 来源:电子技术应用 点击:

据,r0、r1为接收到的数据, metric[ ]为分支度量。软判决的分支度量值为欧氏距离,即metric[A B]=,如果直接计算,将大大增加计算复杂度。从DSP实现角度考虑,用另一个软判决量度来代替欧氏距离。此量度必须满足两个要求:(1)其大小要体现欧氏距离的大小;(2)计算简单,易于DSP实现。可以用欧氏距离平方代替欧氏距离,即metric[A B]=(A+B)2=A2+B2+2AB。由于i0、i1的值为1或-1,可以证明,对于给定的r0、r1,不同的i0、i1,计算bm[i0 i1]=metric[i0 r0]+metric[i1 r1],其分解后的平方项都是相等的,区别仅在于2r0、2r1项前符号的正负。因此可以将软判决距离度量公式修改为bm[i0 i1]=i0×r0+i1×r1。

优化后的程序流程如图4所示。先对译码器的各种参数初始化,然后读入输入字节,每次取两位计算分支度量, 进行加_比较_选择,从当前度量old_pm[ ]计算后得到下一状态度量new_pm[ ],再读取两位计算分支度量,调用蝶形运算2,从new_pm[ ]计算后得到old_pm[ ]。循环进行上述数组更新运算,直到所有输入字节处理结束。中间加入一些判断语句以控制程序进行回溯,将得到的译码输出位存储到输出字节[5]。

比较Viterbi译码DSP优化前后所需时钟周期数,以发送1个OFDM符号为参考,如表1所示。由表中数据可知,优化后发送接收一个OFDM符号节省了1 027 692个时钟周期。TMS320DM642主频600 MHz,可以计算出所节省的时延为1.7 ms。

3 海洋实验

该DSP系统在厦门五缘湾海域进行点对点通信实验,通信距离为800 m,收发换能器距海面2.5 m。海洋实验发送的总数据量为32 640 bit,选取了3组典型数据,将DSP译码结果与Matlab译码结果进行对比,如表2所示。

由表2可以看出,原始误码个数在2 800~3 100范围内时,DSP硬译码纠错个数为2 200左右,软译码纠错个数为2 400左右,并且DSP译码与Matlab译码性能相当。

本文将卷积交织、卷积编码和Viterbi译码引入了水声OFDM系统,根据水声信道特点和多次水池实验确定其参数。在TMS320DM642上实现时,对于卷积交织采用查表法,对于Viterbi译码采用蝶形运算宏定义和双数组循环更新以减小时延,保证了译码实时性。通过海洋实验验证了DSP实现软硬译码的性能。

参考文献

[1] 王新梅,肖国镇.纠错码--原理与方法[M].西安:西安电子科技大学出版社,2001.
[2] 吴沫,杨华,卢伟.几种信道编码方式的编码增益比较分析[J].通信技术,2007,40(11).
[3] 王德清.OFDM高速水声通信系统的DSP实现及同步技术研究[D].厦门大学学报,2005(6).
[4] 吴子彧,余松煜,管云峰,等.基于卷积交织的SDRAM控制器的设计[J].Circuits and their applications,2006(12).
[5] 张海勇.一种卷积码维特比译码算法的软件实现[J].计算机与数字工程,2005,33(6).

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top