信道编码设计.docx
- 文档编号:3543870
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:13
- 大小:134.85KB
信道编码设计.docx
《信道编码设计.docx》由会员分享,可在线阅读,更多相关《信道编码设计.docx(13页珍藏版)》请在冰点文库上搜索。
信道编码设计
设计目的
数字信号在传输中往往由于各种原因,使得在传送的数据流中产生误码,从而使接收端产生图像跳跃,不连续,出现马赛克等现彖。
通过信道编码町实现对数据流进行相应的处理,使系统具有-定的纠错能力和抗干扰能力,町极人地避免码流传送中误码的发生。
设计要求
通过线性分组码实现信道编码,提高系统的町靠性。
设计原理
信道编码是在数据传输/存储中所采用的降低系统差错率,提高系统町靠性的•种数字处理技术。
提高数据传输效率,降低误码率是信道编码的任务。
信道编码的本质是增加通信的可靠性。
但信道编码会使冇用的信息数据传输减少,信道编码的过程是在源数据码流中加査一些码元,从而达到在接收端进行判错和纠错的目的。
在宽带固定的信道中,总的传送码率也是固定的,由于信道编码增加了数据量,其结果只能是以降低传送有用信息码率为代价。
将右用比特数除以总比特数就等于编码效率,不同的编码方式,其编码效率有所不同。
信道编码的目的是改善
编码系统模型:
-信源
信源编码
一信道编码
调制
■
信道
解调
信道译码
A
信源译码
7少信宿
*
c
信源—编码—信道—译码f信宿
图1・通佶系统编码模犁图
(1)信道编码的分类:
>按差错控制编码的不同功能:
检错码:
发现错误的码:
纠错码:
自动纠正错误的码;
>按信息码元与附加监督码元间检验关系:
线性码:
监督码元与信息码元满足线性关系:
非线性码:
监督码元与信息码元不满足线性关系;
>按信息码元在编码后是否保持原來的形式:
系统码;
非系统码:
>按纠正错谋的类型:
纠正随机错谋率的码
纠正突发错误率的码
>按每个码元取值:
二进制码:
多进制码;
>按信息码元与监督码元间约束方式:
分组码:
信息序列每K位分成一组,产生r位监督元,输出长度为n=r+k的码字,『位监督
元只与本分组的k位信息元有关,记为(n,k)。
(n,k)码中有2k个n朿码子,nbit的二进
制序列具/J2n种不同的组介序列:
卷枳码:
编码器给每ko位信息加上%位监督元得到长度为n。
的码子,该码子的运算,不
仅与本组k。
位信息有关,还与其前面m组k°位信息有关,记为(n0.k0.m);
图2・差错控制编码分类间的关系
(2)分组码中的主要参
1)信息分组:
m=(n】k_丄』】k-2/••…m—mo)
2)码字:
c=(q_—••…Q,Co)
3)码长n,信息位个数k,校验位个数r=n-k
4)码字个数(二进制):
2k
5)编码效率:
R=k/n
分组码的编码规则是从2"种不同序列中选择2k个码字,建立信息序列与码字的对应关系,其中2k个码字组成的集合为许用码组,剩余的2"-2k个n朿向最组成的集合成为禁用码组。
码重:
分组码中ar的个数称为码组的重量,简称码重。
码距:
码字X与码字丫对应位取值不同的个数,又称为汉明距离。
最小码距:
(n,k)分组码中,任何两个码字之间距离的最小值,成为该分组码的最小汉明距离,用d来表示。
最小距离描述分组码特性的巫要参数,决定了码的纠错,检错性能。
检错能力:
一个(n,k)分组码,如果能检出码字内的所有小于或等于e个(位)错误,则称该码的检错能力为e,码的最小距离为d0=e+l,其检错能力为€
纠错能力:
一个(n,k)分组码,如果能纠正码字内的所有小于或等于t个(位)错误,则称该码的纠错能力为e。
码的最小距离为d°=2t+l,其纠错能力为t,当d-=2t+l或(T=2t+2时,都不能纠错t+1个错误。
(3)线性分组码基本构造
设分组码(7,4)中,用c[6]c[5]c[4]c[3]c[2]c[l]c[0]表示7个码元,用SlfS2,S3表示
由三个监俘方程式计算得到的校正子,并假设三位*,$2,S3校正子码与误码位置的对应关系如衷1所示。
SiS2S3
错码位置
s丄S2Ss
错码位置
000
无错码
Oil
C3
001
Co
101
Q
010
Ci
110
C5
100
C2
111
C6
农1.校正子与借码位置关系
当i吴码位置在C?
.c4c5C6时,校正子Si=1:
否则Si=0。
因此S]=G㊉C4㊉Cs㊉C6,同理s2=c±㊉C3㊉g㊉C6和s3=c0㊉q㊉C4㊉C6»在编码时C3,c4CgC6为信息码元,C2,C],Co为监督码元,则监替码元由以卜•监督方程唯-确定:
(C2㊉Q㊉Cs㊉C6=0
(1)
(2)
㊉C3㊉㊉=0
(C()㊉C3㊉C4㊉=0
也即:
5=C«4㊉C5㊉C6
5=C3®C5㊉
C()=C3㊉Q㊉
由上面方程得到表2所示的26个许用码组:
信息位
监督位
信息位
监督位
gg
C2C1CO
QC5c4c3
C2QQ)
0000
000
1000
111
0001
Oil
1001
100
0010
101
1010
010
0011
110
1011
001
0100
110
1100
001
0101
101
1101
010
0110
Oil
1110
100
0111
000
1111
111
表2.许用码组和禁用码组
(4)监督矩阵
将表达式
(1)改写成:
1*㊉1*C5㊉丄♦C4㊉0♦C3㊉1♦C?
㊉0♦Cl㊉0♦Cg=0
1*㊉1*㊉0*C4㊉1*C3㊉0*C?
㊉1*C]㊉0*Cq=0(3)
1♦C6㊉o♦c5ei♦C4㊉1♦c3®o♦c2eo»c丄㊉1・c()=o
将其表示成如卞的矩阵形式:
记为:
H*CT=0或C♦HT=0
其中H称为监督矩阵,其行数为监督关系式的数目门H的每一行中的“1”的位置表示相应码元之间存在的曲督关系。
H可彳示为如卜•形式:
H=[PIX],其中P为r*l(阶矩阵,S为rh阶单位仿真.
(5)生成矩阵
由卜.式可知H矩阵的各行是线性无关的,为实现此特性对匕述式进行如卜变换:
或者:
111
(6)
[qqCg]=[QC5C4C3]:
=[c6C5C4C3]Q
Oil
其中Q为TK阶矩阵,为P的转置.即Q=PTc上式表示在信息位给定后,用信息位的行矩阵乘矩阵Q就产生出监督位。
G=[IkQ]
G为生成矩阵,[CgCsQCsCzGCo]=[c6c5c4c3]G=C。
MATLAB仿真实验结果及分析
本文屮采用的是(1541)的线性分组码•线性分组码的编码由监督矩阵和生成矩阵实现。
监督矩阵H为(4X11)的矩阵,由监督方程和(4X4)的单位矩阵构成,生成矩阵G为(HX15)的矩阵,由(HXH)的单位矩阵和监督矩阵的转置矩阵构成。
信噪比为1时的结果图
伫噪比为io时的结果阳
随着信噪比的降低解调信号错误率越高,由于(15J2)线性分组码只能纠」E—位错误,对于等于或人于2位的错误不能纠正,所以信噪比低的情况卜,会出现较多的误码。
编程时貝体实现方法如下:
线性编码:
function[n,C]=xxbm(n)
a=randint(Xn);
dispC编码序列:
】;
disp(a);
subplot(321);
stairs(a);
axis([llength(a)-0.51.5])
titleC编码序列');
%判断生成的随机序列个数是否足11的整数倍
iflength(a)/ll==fix(length(a)/ll)
b-reshape(a4X(length(a)/ll));
M=b';
F=eye(ll);
S=[0011;010l;0110;0111;1001;1010;1011;1100;l101;1110;l111];
K=eye(4);%4行4列的单位矩阵
G=[F,S];
H=[S\K];
C=rem(M*G,2);
dispC生成矩阵G:
');
disp(G);
disp('监督矩阵H:
');
disp(H);
dispf码字J);
disp(C);%得到a/1115列的编码
else
%随机序列个数不是U的整数倍,补0后编码sl=[a,zeros(l,(fix(length(a)/ll)+l)*ll-length(a))];
%补0
b=reshape(sl,H/(length(sl)/ll));
M=b';
F=eye(ll);
S=[0011;010l;0110;0111;1001;1010;l011;1100;l101;1110;l111];
K=eye(4);
G=[F,S];
H=[S\K];
%监督矩阵
C=rem(M*Gz2)
disp(■生成矩阵GJ);
disp(G);
dispC监督矩阵Hf);
disp(H);
disp('码字:
');
disp(C);
end
subplot(322);stairs(C(lz:
));
axis([llength(C)-0.51.5|);htleC编码后的码字J;
译码:
functionI二xxym(rbC)
[a/b]=size(C);
%返回c的行数和列数
S=[0011;010l;0110;0lll;1001;1010;l011;1100;l101;1110;l111];
K=eye(4);
H=[S',K];
A=[000000000000000];
B=eye(15);
E=[A;B];%生成错误图样
S=rem(C*H'/2);
Q=H*;
m=zeros(Xa);
fori=l:
a
forj=l:
b
ifS(i/:
)==Q(j/:
)%找出出错的位置
m(i)=j;%数组m记录出错的位置
end
end
end
fori=l:
a%在错误的位置给出提示并纠错
switch(mfi))
case0
dispC没有出现错误!
’);
G(i,:
)=C(i,:
)+E(2,:
);
case1
disp('注意:
第1位出现一个错误!
己纠错!
’);
G(i,:
)=C(i,:
)+E(2,:
);
case2
dispC注意:
第2位出现一个错误!
已纠错!
’);
G(i,:
)=C(i,:
)+E(3,:
);
case3
dispf注意:
第3位出现一个错误!
己纠错!
•);
G(i,:
)=C(i,:
)+E(4,:
);
case4
dispC注总:
第4位出现一个错误!
己纠错!
’);
G(i,:
)=C(i,:
)+E(5,:
);
case5dispC注意:
第5位出现一个错误!
已纠错!
’);
G(i,:
)=C(i,:
)+E(6,:
);
case6
dispC注意:
第6位出现一个错误!
已纠错!
’);
G(i,:
》C(i,:
)+E(7,:
);
case7
dispC注意:
第7位出现一个错误!
已纠错「);
G(i,:
)=C(i,:
)+E(8,:
);
case8dispC注意:
第8位出现一个错误!
己纠错!
’);
G(i,:
)=C(i,:
)+E(9,:
);
case9
dispC注意:
第9位出现一个错误!
已纠错!
’);
G(i,:
)=C(i,:
)+E(10,:
);
case10
dispC注意:
第10位出现一个错误!
已纠错!
*);
G(i,:
》C(i,:
)+E(辽:
);
case11
dispC注意:
第口位出现一个错误!
已纠错!
’);
G(i,:
)=C(i,:
)+E(12,:
);
case12
dispC注意:
第12位出现一个错误!
己纠错!
’);
G(i,:
)=C(i,:
)+E(13,:
);
case13
dkp('注意:
第13位出现一个错误!
己纠错!
’);
G(i#:
)=C(i,:
)+E(14,:
);
case14
dispC注焦第14位出现一个错误!
已纠错!
');
G(i,:
)=C(i,:
)+E(15,:
);
case15
dispC注意:
第15位出现一个错误!
已纠错!
’);
G(l,:
)=qi/:
)+E(16,:
);
end
end
G=rem(G,2);%求出正确的编码
dispC检错并纠错后的码组:
');
disp(G);%显示正确的编码
1=1;
whilej<=ll%提取信息位
I(:
J)=G(:
J);
冃+1;
end
[ml,nl]=size(l);
1=1';
l=reshape(bl/rnl*nl);%将I变为1行ml*nl列的fori=l:
n
Cl(i»=l(i);
end
dispC译出的序列「);
disp(Cl);
%显示原信息码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信道编码 设计