myencoder.m

来自「这是一个vblast程序」· M 代码 · 共 34 行

M
34
字号
function [coder] = myencoder(Data, code_g)
% convolutional coder encoder

%initiate parameters
[n,K] = size(code_g);
m = K - 1;
code_g_oct=zeros(1,2);
%Data=data;%randint(1,1000-m);

block_s = length(Data);

block_size = block_s+m;

Data_end=zeros(1,block_size);

Data_end(1:block_s)=Data;


%%%code_g_oct to code_g
%这一步的目的:将二进制转换成八进制
%这一步的意义:poly2trellis的需要
for j1=1:2
    sum_dec=0;
    for i1=1:K
        sum_dec=sum_dec+code_g(j1,K+1-i1).*(2^(i1-1));  %二进制转换成十进制
    end
    code_g_oct(1,j1)=str2num(dec2base(sum_dec,8));    %十进制转换成八进制
end

encoder_trellis=poly2trellis(K,code_g_oct);
[coder,state_dec]= convenc(Data_end,encoder_trellis);


⌨️ 快捷键说明

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