资源简介
编码:
function output=cnv_encd(G,k0,input)
% cnv_encd(G,k0,input),k0是每一时钟周期输入编码器的bit数,
% G是决定输入序列的生成矩阵,它有n0行,L*k0列。n0是输出bit数,
% 参数n0和L由生成矩阵G导出,L是约束长度。L之所以叫约束长度
% 是因为编码器在每一时刻里输出序列不但与当前输入序列有关,
% 而且还与编码器的状态有关,这个状态是由编码器的前(L-1)k0。
% 个输入决定的,通常卷积码表示为(n0,k0,m),m=(L-1)*k0是编码
% 器中的编码存贮个数,也就是分为L-1段,每段k0个
% 有些人将m=L*k0定义为约束长度,有的人定义为m=(L-1)*k0
% 查看是否需要补0,输入input必须是k0的整数倍
译码:
function decoder_output=viterbi_decoder(G,k,channel_output)

代码片段和文件信息
function output=cnv_encd(Gk0input)
% cnv_encd(Gk0input)k0是每一时钟周期输入编码器的bit数,
% G是决定输入序列的生成矩阵,它有n0行,L*k0列。n0是输出bit数,
% 参数n0和L由生成矩阵G导出,L是约束长度。L之所以叫约束长度
% 是因为编码器在每一时刻里输出序列不但与当前输入序列有关,
% 而且还与编码器的状态有关,这个状态是由编码器的前(L-1)k0。
% 个输入决定的通常卷积码表示为(n0k0m),m=(L-1)*k0是编码
% 器中的编码存贮个数,也就是分为L-1段,每段k0个
% 有些人将m=L*k0定义为约束长度,有的人定义为m=(L-1)*k0
% 查看是否需要补0,输入input必须是k0的整数倍
G=[1 1 0 1 0 1 0 1;1 1 1 0 1 1 1 1];
k0=1;
input=[1 1 0 0 1];
if rem(length(input)k0)>0
input=[inputzeros(size(1:k0-rem(length(input)k0)))];
end
n=length(input)/k0;
% 检查生成矩阵G的维数是否和k0一致
if rem(size(G2)k0)>0
error(‘ErrorG is not of the right size.‘)
end
% 得到约束长度L和输出比特数n0
L=size(G2)/k0;
n0=size(G1);
% 在信息前后加0,使存贮器归0,加0个数为(L-1)*k0个
u=[zeros(size(1:(L-1)*k0))inputzeros(size(1:(L-1)*k0))];
% 得到uu矩阵它的各列是编码器各个存贮器在各时钟周期的内容
u1=u(L*k0:-1:1);
%将加0后的输入序列按每组L*k0个分组,分组是按一比特增加
%从1到L*k0比特为第一组,从2到L*k0+1为第二组,。。。。,
%并将分组按倒序排列。
for i=1:n+L-2
u1=[u1u((i+L)*k0:-1:i*k0+1)];
end
uu=reshape(u1L*k0n+L-1);
% 得到输出,输出由生成矩阵G*uu得到
output=reshape(rem(G*uu2)1n0*(L+n-1));
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1411 2014-05-07 12:47 matlab代码(可实现)\卷积编码\cnv_encd.m
文件 69 2002-03-04 23:05 matlab代码(可实现)\卷积译码\bin2deci.m
文件 131 2010-09-07 16:51 matlab代码(可实现)\卷积译码\deci2bin.m
文件 543 2010-09-09 21:07 matlab代码(可实现)\卷积译码\metric.m
文件 299 2010-09-07 14:31 matlab代码(可实现)\卷积译码\nxt_stat.m
文件 5119 2014-05-07 12:49 matlab代码(可实现)\卷积译码\viterbi_decoder.m
目录 0 2015-01-19 15:19 matlab代码(可实现)\卷积编码
目录 0 2015-01-19 15:19 matlab代码(可实现)\卷积译码
目录 0 2015-01-19 15:19 matlab代码(可实现)
----------- --------- ---------- ----- ----
7572 9
相关资源
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
- k近邻算法matlab实现
评论
共有 条评论