⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 convolencoder.m

📁 数字电视的交织和解交织算法
💻 M
字号:
% function seqcoder = QPSKcoder()
%--------------------------------------------------------------------------------------------------------------%%%
%--------------------------------------------------------------------------------------------------------------%%%
clc;
clear;
clear all;
LLL=255;%交织长度。
errorLEN=10;
%--------------------------------------------------------------------------
rand('state',10);
msg0         = round(rand(1,255));                        %生成输入bit序列。
%--------------------------------------------------------------------------
%YesorNo=fopen('f:\原始随机数据\noise.src','r');        %该段用于生成湖试数据。
%if YesorNo<0
    %error('不能打开原始数据文件');
%else
    %msg00=fread(YesorNo,'uint8');
    %fclose(YesorNo);
%end
%msg0=seq2bit(msg00,8)';
%--------------------------------------------------------------------------
len_msg0     = length(msg0);
i            = fix(len_msg0/LLL);
if i*LLL<len_msg0                                          
   for t=len_msg0+1:(i+1)*LLL
       msg0(t)=0;
   end
   i=i+1;
end 
%--------------------------------------------------------------------------
for j=1:i     %把输入bit序列变成若干个行向量。
    msg(j,:) = msg0(LLL*(j-1)+1:LLL*j);
end 
save bitseq msg;
rand('state',sum(100*clock));
for k=1:i            
    V(k,:) = conv(msg(k,:),LLL);    %生成递归系统卷积码(Vt,0  Vt,2)。每一次调用convenc()卷积码都是从全零状态开始的。
    V(k,:) = Interleave(V(k,:),LLL);%外交织。
    B=round(rand(1,errorLEN)*(2*LLL-1))+1;
    for t=1:errorLEN
        V(k,B(t))=xor(V(k,B(t)),1);
    end
end 
save ConvolCoded V;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp([blanks(10),'编码结束!']);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -