MATLAB代做  | MATLAB代写  | MATLAB有偿编程
首 页
当前位置:MATLAB代做|MATLAB代写|MATLAB有偿编程matlab源码信号处理
淘宝毕业编程-TURBO码的MATLAB源程序        [↓跳到下载地址]
官方主页:源码共享网站:www.buycode.cn

联系方式:客服QQ:1747812398 买代码源码软件站,欢迎咨询

运行环境:Win9X/2000/XP/2003/

源码语言:简体中文

源码类型:源码程序 - 信号处理

推荐星级:

更新时间:2016-04-03 08:55:47

源码简介

function [out,alphaout]=turbo_mother_interleave(in);
% turbo编码器
% in 为输入序列,0 1。
g=[1 0 1 1;
   1 1 0 1;];

% 生成矩阵1+d^2+d^3
%        1+d+d^3
% 3GPP标准生成矩阵
[n,K]=size(g);
m=K-1;
nstates=2^m;
%确定状态数目
puncture=1;
%是否删余 1 不删 0 删
rate=1/(2+puncture);
%编码率
seq_temp=1:1:length(in);
alpha=interleaving_3GPP(seq_temp)
%得到3GPP标准交织器
en_output=encoderm_mother_interleave(in,g,alpha,puncture);
%编码
alphaout=alpha;
% 交织器输出
out=en_output;
% 编码输出

function [out,alphaout]=turbo(in);
% turbo编码器
% in 为输入序列,0 1。
g=[1 0 1 1;
   1 1 0 1;];

% 生成矩阵1+d^2+d^3
%        1+d+d^3
% 3GPP标准生成矩阵
[n,K]=size(g);
m=K-1;
nstates=2^m;
%确定状态数目
puncture=1;
%是否删余 1 不删 0 删
rate=1/(2+puncture);
%编码率
a=0.8862;
% 信道衰减因子
L_total=length(in)+m;
%帧长
mycount=6;
% 循环迭代次数。
[temp,alpha]=sort(rand(1,L_total));
%得到随机交织器
en_output=encoderm(in,g,alpha,puncture);
%编码
alphaout=alpha;
% 交织器输出
out=en_output;
% 编码输出

function out=trellis_simple(in_s,state)

if state==1
    if in_s==-1
        out=-1;
    else
        out=1;
    end
end
if state==2
    if in_s==-1
        out=-1;
    else
        out=1;
    end
end

if state==3
    if in_s==-1
        out=1;
    else
        out=-1;
    end
end

if state==4
    if in_s==-1
        out=1;
    else
        out=-1;
    end
end

clear;
clc;
time_begin=datestr(now);
rate=1/3;           %码率
m=3;                    %尾比特数
fading_a=1;             %Fading amplitude
snr=0:0.2:2.4;                            %snr的采样点
EbNoLinear=10.^(snr.*0.1);
iter=[1 2 3 6];                                %迭代次数
ferrlim=10;                              %误帧限,达到此限即可停止当前SNR点的测试
%num_frame=round(10.^(snr+1));           %测试的帧数;
num_block_size=1024;                    %测试的块尺寸,指包含尾比特的软输入系统系列长度
err_counter=zeros(max(iter),length(snr));        %初始化错误比特计数器
nferr= zeros(max(iter),length(snr));             %初始化错误帧计数器
ber=zeros(max(iter),length(snr));                 %初始化错误比特率

random_in=round(rand(1,num_block_size-m));  %随机数
[turbod_out,alphain]=turbo(random_in);      %编码

for ii=1:length(iter)
    for nEN=1:length(snr)
        L_c=4*fading_a*EbNoLinear(nEN)*rate;
        sigma=1/sqrt(2*rate*EbNoLinear(nEN));
        nframe = 0;    % clear counter of transmitted frames
        if nEN==1 | ber(iter(ii),nEN-1)>9.0e-6
            while nferr(iter(ii),nEN)<ferrlim        %nferr:当前迭代次数、snr点的错误帧数
                nframe = nframe + 1;
                noice=randn(3,num_block_size);    %噪声
                soft_in=L_c*(turbod_out+sigma*noice);            %信息噪声叠加
                [hard_out,soft_out]=deturbo_cap(soft_in,alphain,iter(ii)); %译码
                errs=length(find(hard_out(1:num_block_size-m)~=random_in));%当前点错误bit数
                if errs>0
                    err_counter(iter(ii),nEN)=err_counter(iter(ii),nEN)+errs;
                    nferr(iter(ii),nEN)=nferr(iter(ii),nEN)+1;
                end
            end
            ber(iter(ii),nEN) = err_counter(iter(ii),nEN)/nframe/(num_block_size-m);%误比特率
            %fer(iter,nEN) = nferr(iter,nEN)/nframe; %误帧率
        else
            ber(iter(ii),nEN)=1.0e-7;
        end
        fprintf('迭代次数:%1.0f;snr:%1.2f;误码率:%8.4e;\n',...
            iter(ii),snr(nEN),ber(iter(ii),nEN));
        save cap算法06_WYF噪声_max_log_map.mat snr ber;
    end
end
semilogy(snr,ber(1,:),snr,ber(2,:),snr,ber(3,:),snr,ber(6,:));
xlabel('SNR(dB)');
ylabel('Bit Error Rate');
title('3GPP标准 max-log-map译码算法 译码性能图,1024交织长度,WYF噪声加法');
legend('1次迭代','2次迭代','3次迭代','6次迭代');

time_end=datestr(now);
disp(time_begin);
disp(time_end);


提 示:本站所有源码只提供浏览,需要定制的朋友可以联系在线客服!
注意:价格根据项目的难易程度来定价格业务咨询

淘宝毕业编程-TURBO码的MATLAB源程序 --下载地址

注意:为避免不必要的误会,本站项目里的源码只公开部分需要的联系在线客服

本站长期招聘程序代写高手,欢迎加入华南地区matlab团队

想创业却没有经验的人

无论你是否有过网上开店的经验,都可以随时联系在线客服,建立自己独立的网站
想开网店却不知道如何入手

淘宝创业成本低而且风险小,如果想开淘宝店的朋友可以联系在线客服。
想兼职创业,却不擅长交际与服务的人

在家创业月入5000元。网站程序+百套群发工具+网赚资料+域名+空间+本站终身代理资格,这样你网赚的条件全具备了。每天3小时管理、推广、收钱。
缺乏能快速赢利型产品的人

导入多种最新流行营销软件+网赚教程,让入驻者轻松加盟、复制有效成交技巧、快速赚钱。

源码评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

浏览说明

* 本站所有源码全部公开,随时随地浏览!
* MATLAB软件如用于商业用途,请购买正版!
* 如果您发现下载链接错误,请点击报告错误谢谢!
* 站内提供的所有软件包含破解及注册码均是由网上搜集,若侵犯了你的版权利益,敬请来信通知我们!
Copyright © 2008-2014 www.buycode.cn. All Rights Reserved.
页面执行时间:250.00000 毫秒