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

📄 channel_coding.m

📁 信道估计中所使用的关键程序希望对大家有帮助
💻 M
字号:
function coded_user_bit = channel_coding( user_bit , UserRS_Coding , UserTrellis ,... 
                          TraceBackLen, turn_on ) 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
% 根据不同用户的信道编码参数,进行信道编码 
% 输入: user_bit, 用户比特 
%       UserRS_Coding, 每个用户的RS码参数 
%       UserTrellis,每个用户的卷积码trellis 结构体 
%       TraceBackLen, 卷积码译码深度 
%       turn_on, 是否打开此功能 
% 输出: coded_user_bit, 已编码的用户比特 
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
 
 
if turn_on 
     
    N_user = size( UserRS_Coding ,2); 
    for u = 1:N_user 
        user_rscode{u} = rsenco(user_bit{u} ,UserRS_Coding(1,u),UserRS_Coding(2,u)); 
 
        % 卷积编码 
        user_rscode2{u} = [ user_rscode{u} ; zeros( TraceBackLen , 1)]; 
         
        user_convcode{u} = convenc(user_rscode2{u},UserTrellis(u)); 
 
%         user_convdecode{u} = vitdec(user_convcode{u},UserTrellis(u),TraceBackLen ,'cont','hard'); 
%          
%         user_convdecode{u} = user_convdecode{u}(TraceBackLen + 1:end); 
%          
%          
%         comp(u) = sum(abs(user_rscode{u} - user_convdecode{u})); 
%          
%          
%         user_rsdecode{u} = rsdeco(user_convdecode{u},UserRS_Coding(1,u),UserRS_Coding(2,u)); 
%      
%         user_rsdecode{u} = user_rsdecode{u}(1:length(user_bit{u})); 
%      
%         comp(u) = sum(abs(user_bit{u} - user_rsdecode{u}')); 
 
 
    end    
     
    coded_user_bit = user_convcode; 
     
else 
     
    coded_user_bit = user_bit; 
 
end 

⌨️ 快捷键说明

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