📄 conencoder.m
字号:
function ccdata = conencoder(source_data)
% This is simulation for convolutioanl encoder.
% Implement a rate 1/2 Convolutional Encoder (constraint length = 3) and
% a rate 1/3 Convolutional Encoder (constraint length = 3)
% - source_data: input of the encoder
% - ccdata: convolutional code of the input
% - n_encoderbits: rate 1/n_encoderbits
% ------- conencoder.m ------------------------------------
% Black team
% April-07-05
% ----------------------------------------------------------
% encoder_order is a glocbal parameter
global encoder_order
n_encoderbits = encoder_order;
n_data = length(source_data);
data = source_data(:)';
% CONVOLUTIONAL ENCODING
if n_encoderbits==2
ccdata = zeros(1,n_encoderbits * n_data);
ge = [0 0 0]; % states
m=1;
for i = 1:n_data
ge = [data(i) ge(1) ge(2)];
u1 = xor(xor(ge(1),ge(2)),ge(3));
u2 = xor(ge(1),ge(3));
ccdata(m:m+1) = [u1 u2];
m=m+2;
end
end
if n_encoderbits==3
ccdata = zeros(1,n_encoderbits*n_data);
ge = [0 0 0];
m=1;
for i = 1:n_data
ge = [data(i) ge(1) ge(2)];
u1 = xor(xor(ge(1),ge(2)),ge(3));
u2 = xor(xor(ge(1),ge(2)),ge(3));
u3 = xor(ge(1),ge(3));
ccdata(m:m+2) = [u1 u2 u3];
m=m+3;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -