Turbo码编解码(2)

时间:2025-07-15

介绍TURBO码的编解码原理;TURBO码的Matlab软件仿真方法;TURBO码的QuartusII硬件仿真方法,TURBO码在FPGA硬件平台上的实现方法。

了更好利用译码器之间的信息,译码算法所用的应是软判决信息而不是硬判决。一个由两个分量码构成Turbo码的译码器是由两个与分量码对应的译码单元和交织器组成的,将一个译码单元的软输出信息作为下一个译码单元的输入;为了获得更好的译码性能,将此过程迭代数次。这就是Turbo码译码器的基本工作原理。 Turbo码的译码结构如下图所示:

如图所示Turbo码译码器的接收序列为Rk=(xk,yk),yk经过开关电路,分离为y1k,y2k分别输入解码器1和解码器2中。为了使译码后的比特错误概率最小,根据最大概率译码准则,应该根据Rk计算后验概率(APP)P(dk)=P(dk|xk,yk),但是当码较长时,计算复杂度太高。因此,在Turbo码中,采用了一种次最优译码的规则,将y1k,y2k分开考虑,由两个分量码译码器分别计算后验概率

e

P(dk|y1,L1)和P(dk|y2,Le2),然后通过两个译码器之间的多次迭代,使它们收敛于P(dk),从而达到eeee

LLLL121了近Shannon限的性能。和为附加信息。其中为译码器2输出,作为译码器1的先验信息;其中2

为译码器1输出,作为译码器2的先验信息。

四、实验中的Turbo码编解码框图

1、Turbo编码的实现 (1)端口设置

cs_ turbo:输入turbo编码使能位,’1’电平有效; datain:输入8位编码输入位,其中低5位为编码输入位;

dataout:输出16位编码输出位,其中低15位为编码输出位(高5位为系统信息,中5位为第一路编码输

介绍TURBO码的编解码原理;TURBO码的Matlab软件仿真方法;TURBO码的QuartusII硬件仿真方法,TURBO码在FPGA硬件平台上的实现方法。

出,低5位为第二路编码输出),最高位补’0’。 (2)主程序

process(cs_turbo,datain)

variable sys2,parity2,parity1 : std_logic_vector(4 downto 0); variable i : integer range 0 to 5;

variable reg1,reg2 : std_logic_vector(1 downto 0); variable m1,m2 : std_logic; variable temp1,temp2 variable recept1 begin

if cs_turbo='1' then for i in 0 to 5 loop

if i=5 then else

--Encode one

m1:=reg1(1) xor reg1(0) xor datain(i); temp1:=m1 xor reg1(0); reg1:=m1 & reg1(1);

parity1:=temp1 & parity1(4 downto 1); --Encode two

m2:= reg2(1) xor reg2(0) xor sys2(i); temp2:=m2 xor reg2(0); reg2:=m2 & reg2(1); --Initialize

reg1:="00";reg2:="00"; --Interleave

recept1(4):=datain(4);recept1(3):=datain(2);recept1(2):=datain(0); recept1(1):=datain(1);recept1(0):=datain(3); sys2:=recept1; --Output

dataout<='0' & datain(4 downto 0) & parity1 & parity2;

: std_logic;

: std_logic_vector(4 downto 0);

Turbo码编解码(2).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219