📄 rsc_encode.m
字号:
function y = rsc_encode(g, x, terminated)% Copyright Nov. 1998 Yufei Wu% MPRG lab, Virginia Tech.% for academic use only% encodes a block of data x (0/1)with a recursive systematic% convolutional code with generator vectors in g, and% returns the output in y (0/1).% if terminated>0, the trellis is perfectly terminated% if terminated<0, it is left unterminated;% determine the constraint length (K), memory (m), and rate (1/n)% and number of information bits.[n,K] = size(g);m = K - 1;if terminated>0 L_info = length(x); L_total = L_info + m;else L_total = length(x); L_info = L_total - m;end % initialize the state vectorstate = zeros(1,m);% generate the codewordfor i = 1:L_total if terminated<0 | (terminated>0 & i<=L_info) d_k = x(1,i); elseif terminated>0 & i>L_info % terminate the trellis d_k = rem( g(1,2:K)*state', 2 ); end a_k = rem( g(1,:)*[d_k state]', 2 ); [output_bits, state] = encode_bit(g, a_k, state); % since systematic, first output is input bit output_bits(1,1) = d_k; y(n*(i-1)+1:n*i) = output_bits;end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -