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

📄 conencoder.m

📁 详细的OFDM设计过程
💻 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 + -