微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 通信系统中Viterbi译码的Matlab仿真与实现

通信系统中Viterbi译码的Matlab仿真与实现

时间:04-28 来源:互联网 点击:

,将较小者存入64个度量值寄存器。判决器选出64个信息序列寄存器中的最小者,并将相应信息序列寄存器的译码结果输出。
当确定各寄存器的初值后,从当前状态经过加比选蝶形运算后,到达下一状态,通过对每一分支度量的累积计算,经比较分析找到与接收序列距离最近的幸存路径。程序中的Nextstaterow是经过加比选得到的下一状态,将每次加比选的结果Nextstaterow保存下来放在一个数组Nextsatate中,当译码完成后Nextsatate中的各值即为译码所走过的路径,按照Nextsatate中的值,通过如图2所示的网格图回溯即可得到译码结果。
在信息传输的过程中,由于各种噪声的影响会造成接收到的数据有可能是误码,但连续出现2 bit的误码的概率又非常小,所以这里只考虑出现一比特误码的情况。当出现误码时两条岔路汉明距相等,由于基本不会出现2 bit的误码所以等到下一个节点时判断汉明距的大小就可以找到正确的输出。

图4是译码输出与编码器输入的比对,误码率很低,在所截取的图片中无误码出现,由仿真结果可清楚地看出译码器的输出与编码器的输入完全重合,说明译码器具有良好的前向纠错功能,用于通信系统可以提高信息传输的可靠性。

4 结束语
验证了Viterbi译码方案的可行性,这种译码方法得到的输出误码率可低至10-6。这种方案已用于某导航系统中,经测试,该译码方案在低信噪下也能达到较低误码率。

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

网站地图

Top