资源简介
用于无线通信的信道编码,用matlab编写的模块用于无线通信的信道编码,用matlab编写的模块用于无线通信的信道编码,用matlab编写的模块用于无线通信的信道编码,用matlab编写的模块
代码片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Channel Encoding
%% Copyright by Zheng Chen Potevio Institute of Technology
%% Modification:
%% Ver.1.0 2007-07-19
%% Ver.1.1 2007-08-08 support svc lists
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% function Out = ChanEncode(In Params)
%% Parameter Describtion:
%% Input :
%% In : dada bits for encoding
%% Params : simulation parameters
%% Output :
%% Out : codeword
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function Out = ChanEncode(In Params)
CodeType = Params.CodeType;
SO = Params.SimOptions;
bit_per_frame = SO.CodeK; % info bits %720
Ri = SO.CodeR; %码率0.3
%% mapping order selection
mod_type = Params.ModulateMode;
mapp_type = Params.MappMode;
num_of_frame = SO.CodeC; %frame num
if ( rem( num_of_frame*numel(In) bit_per_frame ) )
error( ‘data length needs to be an integer multiple of the info length‘ );
end
InfoBit = reshape(In num_of_frame bit_per_frame);
for index = 1:num_of_frame
% turbo code
if (CodeType == 1)
CodeBit(index:) = TurboEncode(InfoBit(index:) Params);
% ldpc code
elseif (CodeType == 2)
if (mapp_type == 1)
CodeBit_C = LdpcEncode( InfoBit(index:) bit_per_frame Ri );
MappCode = LdpcReorder(CodeBit_C bit_per_frame);
NumBit = length(MappCode);
MappIdx = MappIndex(NumBit mod_type);
MappCode_P = MappCode;
for ii = 1 : NumBit
MappCode_C(ii) = MappCode_P(MappIdx(ii));
end
CodeBit(index:) = MappCode_C;
else
CodeBit(index:) = LdpcEncode( InfoBit(index:) bit_per_frame Ri );
end
% convolutional code
elseif (CodeType == 3)
CodeBit(index:) = ConvolEncode( InfoBit(index:) CodeType );
% uncoded case
else
CodeBit(index:) = InfoBit(index:);
end
end
Ni = SO.CodeN;
[row col] = size(CodeBit);
nn = row * col;
CodeBit_p = reshape(CodeBit 1 nn);
fill_bits = SO.FillRMBit;
if ( fill_bits>0)
Out = CodeBit_p( 1 : Ni );
elseif (fill_bits<0)
Out = horzcat(CodeBit_p zeros(1fill_bits));
else
Out = CodeBit_p;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% End of ChanEncode()
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Turbo Encoder
%% Copyright by Zheng Chen Potevio Institute of Technology
%% Modification:
%% Ver.1.0 2007-07-04
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13636 2018-02-15 20:59 ChanEncode.m
目录 0 2018-02-15 20:59 __MACOSX\
文件 671 2018-02-15 20:59 __MACOSX\._ChanEncode.m
相关资源
- matlab代码实现近场MUSIC算法,适用于近
- Polar码SCL译码算法
- 合成孔径雷达成像仿真的matlab程序,
- matlab版随机森林工具箱-用于分类和回
- 卡尔曼滤波用于自由落体运动目标跟
- 遗传算法用于数字滤波器的设计实验
- 用于彩色图像增强的CLAHE算法的MATLA
- 蚁群算法求解最短路,详细,可用于
- 神经网络用于模式识别及MATLAB源代码
- MATLAB代码,用于快速平滑滤波
- MATLAB代码,用于分峰拟合
- 2次B样条曲线和3次B样条曲线的matlab绘
- 混合高斯模型用于前景提取
- matlab编写路面谱文件 用于adams 整车平
- Matlab用于检测相机的GUI
- 将二进小波变换用于图像增强的MATL
- 用于获取单粒子散射特性、散射系数
- 用于形成libsvm训练集的matlab程序
- matlab 处理 grid 数据matlab用于气象
- graphcut用于图像分割的matlab代码
- Matlab神经网络及应用于近红外光谱的
- 联合变换相关器的一个基本程序,适
- 图像能量代码用于图像处理中 mat
- 无线通信MIMO中STBC的matlab仿真
- 蚁群算法用于图像的边缘检测
- matlab小波信号去噪可用于预测数据预
- 无线通信-预编码-MATLAB代码合集-毕设
-
GSM信道编码的simuli
nk仿真框图和源代 - 四种支持向量机用于函数拟合与模式
- BP神经网络用于轴承故障分类
评论
共有 条评论