通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  新兵

注册:2012-5-23
跳转到指定楼层
1#
发表于 2012-5-23 13:05:52 |只看该作者 |倒序浏览
现在我想将下面的程序改成实现turbo码 下载次数: 2
半小时前

编译码的程序,能够出来turbo码编码前、编码后、译码后的波形,具体的代码在附件中,主程序在下面

clc
clear
SNR = 0:0.5:3;
nframe = 1000;
length_frame = 192;
rate = 1/2;
num_of_iter = 10;

% g = [1 1 1 1 1
% 1 0 0 0 1]; % (37,21)生成和反馈多项式
% g = [1 1 1
% 1 0 1]; % (7,5)生成和反馈多项式
% g = [1 0 1 1
% 1 1 0 1]; % LTE标准Turbo码
g = [1 1 0 1
1 1 1 1]; % (15,17)生成和反馈多项式

for nn=1:length(SNR)
Es_N0 = rate*10^(SNR(nn)/10);
N0 = 1/Es_N0;
for frame=1:nframe
frame
%% source data
data = round(rand(1,length_frame));

%% RSC encoder
[ Turbo_data, interleaver_index ] = Turbo_encoder( data, rate, g ); %rate = 1/2 or 1/3

%% BPSK调制
mod_out = 2*Turbo_data-1;

%% 经过AWGN信道
channel_out = mod_out+sqrt(N0/2)*randn(size(mod_out));

%% log_MAP算法译码
data_out = Turbo_decoder( channel_out, N0, rate, interleaver_index, num_of_iter, g);
error(frame) = sum(xor(data,data_out));

end
BER(nn) = sum(error)/nframe/length_frame
end

hold on
semilogy(SNR,BER,'-bo');

举报本楼

本帖有 81 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-7-4 21:07 , Processed in 0.135633 second(s), 17 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部