kevin_6603@126.com
Turbo码的仿真实现
Turbo码matlab仿真_3GPP标准
用Matlab编写的Turbo码仿真程序
目录结构
├—WuYuFei
├—WuYufei_matlab
├—cap_turbo
├—mother
└—paper
[WuYuFei]中是WuYuFei的论文
[WuYufei_matlab]是WuYufei的Matlab程序
做Turbo码,恐怕很难绕过WuYufei的程序,呵呵
[cap_turbo]和[mother]是我在研究阶段的工作
走了很多弯路,所以这两个目录必然有很多错误而且很混乱
如果想了解一下我的研究历程可以看看,切不可拿来修炼,否则走火入魔俺不管。
[paper]是对简化算法的研究总结。译码程序完全是自己写的,已经系统整理过了。
constituent_decoder_SemiTh.m
constituent_decoder_logmap.m
constituent_decoder_max.m
constituent_decoder_Th.m
这四个文件是子译码器
interleaver_3GPP.m
3GPP标准的交织器。Turbo.m中可以选择是用伪随机交织还是3GPP标准交织
decoder_all_algorithm.m
译码器,其中包含了3种译码算法
test_OverLoad_menu.m
对运算负荷的测试程序
test_algorithm_menu.m
对算法的测试程序
Shannon_Limit.m
香农限
test_uncoded_BPSK.m
test_uncoded_BPSK_theory.m
未编码BPSK的性能,一个是理论的,另外一个是测试的。
Turbo码有一重要特点是其译码较为复杂,比常规的卷积码要复杂的多,这种复杂不仅在于其译码要Turbo码
采用迭代的过程,而且采用的算法本身也比较复杂。这些算法的关键是不但要能够对每比特进行译码,而且还要伴随着译码给出每比特译出的可靠性信息,有了这些信息,迭代才能进行下去。用于Turbo码译码的具体算法有:MAP(Maximum A Posterior)
Max-Log-MAP、Log-MAP和SOVA(Soft Output Viterbi Algorithm)算法。MAP算法是1974年被用于卷积码的译码,但用作Turbo码的译码还是要做一些修改;Max-Log-MAP与Log-MAP是根据MAP算法在运算量上做了重大改进,虽然性能有些下降,但使得Turbo码的译码复杂度大大的降低了,更加适合于实际系统的运用;Viterbi算法并不适合Turbo码的译码,原因就是没有每比特译出的可靠性信息输出,修改后的具有软信息输出的SOVA算法,就正好适合了Turbo码的译码。这些算法在复杂度上和性能上具有一定的差异,系统地了解这些算法的原理是对Turbo码研究的基础,同时对这些算法的复杂度和性能的比较研究也将有助于Turbo的应用研究。
Turbo码的仿真一般参考吴宇飞的经典程序。
此外,要想在移动无线系统中成功的使用Turbo码,首先要考虑在语音传输中最大延迟的限制。在短帧情况下的仿真结果表明短交织Turbo码在AWGN信道和Rayleigh衰落下仍然具有接近信道容量的纠错能力,从而显示出Turbo码在移动无线通信系统中非常广阔的应用前景。
Turbo码 (Turbo Code)
Turbo 码(Turbo Code)是一类应用在外层空间卫星通信和设计者寻找完成最大信息传输通过一个限制带宽通信链路在数据破坏的噪声面前的其它无线通信应用程序的高性能纠错码。有两类 Turbo 码在那里,块 Turbo 码和卷积 Turbo 码(CTCs),它们是相当不同的,因为它们使用不同的构件码,不同的串联方案和不同的 SISO 算法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)