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

📄 cvencode.m

📁 维特比译码程序。viterbi decoder with hard decision
💻 M
字号:
function [c,c_bin,PathThroughTrellis]=CVencode(m,k,n, StateTable)

% [c,c_bin,PathThroughTrellis]=CVencode(m,k,n,StateTable)
% or 
% [c,c_bin]=CVencode(m,k,n,StateTable);
%
% c : encoded bits (decimal format)
% c_bin: encoded bits (binary format)
% m: imput binary sequence to be encoded
% k: No of input bits to encoder
% n: No of output bits from decoder
% StateTable: Encoder State Table (decimal format)

% note: may need further zero padding to end in zero state



% Apply zero padding is necessary


%  serial 2 parrallel
m1=reshape(m, k,length(m)./k)';
% convert to decimal
[NoOfSteps,B]=size(m1);
State=0;
c=zeros(1,NoOfSteps);
c_bin=[];
PathThroughTrellis=[0];
for i=1:NoOfSteps,
    m2(i)=bin2deci(m1(i,:));
    I=find(StateTable(:,1)==m2(i) & StateTable(:,2)==State);
    State=StateTable(I(1),3);
    c(i)=StateTable(I(1),4);
    c_bin=[c_bin deci2bin(c(i),n)];
    PathThroughTrellis=[PathThroughTrellis State];
end

if nargout==2,
    PathThroughTrellis=[];
end

⌨️ 快捷键说明

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