基于matlab线性分组码实验设计
实验三、线性分组码的编译码

信息论与编码实验报告1、认真阅读课本中关于线性分组码的基本原理及特点等内容,并简要写出其基本原理及特点;解:基本原理:对信源编码器输出的D 进制序列进行分组,设分组长度为k ,相应的码字表示为),,,(12m m m k M ∙∙∙=→,其中每个码元()k i m i≤≤1都是D 进制的显然这样的码字共有kD 个。
特点:一个()k n ,线性分组码中非零码字的最小重量等于该码的最小距离min d 。
2、写出(7,4)线性分组码编解码基本步骤,画出程序流程图;编码流程图 译码流程图 (7,4)汉明码的编码就是将输入的4 位信息码M=[ 3456a a a a ]加上3 位监督码012b b b 从而编成7位汉明码[6a 012345,,,,,a a a a a a ],编码输出B=[6a 5a 4a 3a 2a 1a 0a ].由式A = M ·G=[3456a a a a ]·G 可知,信息码M 与生成矩阵G 的乘积就 是编好以后的(7,4)汉明码3、实现(7,4)线性分组码编解码的Matlab源程序;构造BSC传输信道中采用(7,4)线性分组码的Simulink仿真程序。
(7,4)汉明码的编码程序:library ieee;use ieee.std_logic_1164.all;entity bm isport(a:in std_logic_vector(3 downto 0);but std_logic_vector(6 downto 0));end ;architecture one of bm isbeginb(6)<=a(3);b(5)<=a(2);b(4)<=a(1);b(3)<=a(0);b(2)<=a(3) xor a(2) xor a(1);b(1)<=a(3) xor a(2) xor a(0);b(0)<=a(3) xor a(1) xor a(0);end;(7,4)汉明码的译码程序:library ieee;use ieee.std_logic_1164.all;entity ym isport(a:in std_logic_vector(6 downto 0);sut std_logic_vector(2 downto 0);but std_logic_vector(3 downto 0);cut std_logic_vector(2 downto 0));end ;architecture one of ym isbeginprocess(a)variable ss:std_logic_vector(2 downto 0);variable bb:std_logic_vector(6 downto 0);beginss(2):=a(6) xor a(5) xor a(4) xor a(2);ss(1):=a(6) xor a(5) xor a(3) xor a(1);ss(0):=a(6) xor a(4) xor a(3) xor a(0);bb:=a;if ss> "000" thencase ss iswhen "001" =>bb(0):= not bb(0);c<="000";when "010" =>bb(1):= not bb(1);c<="001";when "100" =>bb(2):=not bb(2);c<="010";when "011" =>bb(3):=not bb(3);c<="011";when "101" =>bb(4):=not bb(4);c<="100";when "110" =>bb(5):=not bb(5);c<="101";when "111" =>bb(6):=not bb(6);c<="110";when others => null;c<="111";end case;else b<= a(6)&a(5)&a(4)&a(3);end if;s<=ss;b<=bb(6)&bb(5)&bb(4)&bb(3);end process;end;4、讨论(7,4)线性分组码的最小码距与码重及纠错能力的关系,讨论采用纠错编码和不采用纠错编码对传输系统的影响。
基于MATLAB的信道编码教学实验软件设计与实现

第24卷第1期 2005年1月实验室研究与探索RESEARCH AND EXPLORATION IN LABORATORYVol.24No.1 Jan.2005基于MATLAB 的信道编码教学实验软件设计与实现张海涛, 王福昌(华中科技大学 电工电子教学基地湖北武汉430074)摘 要:介绍了基于MATLAB 的信道编码教学实验软件,主要包括实验操作界面制作以及循环码和卷积码编译码。
关键词: 矩阵实验室 软件包;循环码;卷积码;编译码;界面中图分类号:TN911.22文献标识码:B文章编号:1006 7167(2005)01 0046 04Design and Realization of the Teaching ExperimentalSoftware on Channel Coding with MATLABZ HANG Hai tao , WANG Fu chang(Instruction Base of Electrotechnics&Electtronics,Huazhong Univ.of Science and Technology,W uhan 430074,China)Abstract :This paper introduceds a teaching experimentel software based on channel coding with MATLAB,including the design of experiment interface ,the encode decode process of cyclic code and convolutional code.Key words :MATLAB (Matrix Laboratory);cyclic code;convolutional code;encode decode;interface收稿日期:2004 04 09作者简介:张海涛(1978-),男,汉族,湖北红安人,硕士研究生三年级,主要从事通信与信号处理方面的科研。
基于MATLAB的线性分组码课程设计论文

目录TOC \o "1-3" \h \u HYPERLINK \l _Toc6750 前言.... PAGEREF _Toc6750 1HYPERLINK \l _Toc26804 工程概况................ PAGEREF _Toc26804 1HYPERLINK \l _Toc14622 正文.................... PAGEREF _Toc14622 2 HYPERLINK \l _Toc4430 3.1设计的目的和意义... PAGEREF _Toc4430 2HYPERLINK \l _Toc31075 3.1.1设计的目的. PAGEREF _Toc31075 2HYPERLINK \l _Toc18535 3.1.2设计的意义. PAGEREF _Toc18535 2 HYPERLINK \l _Toc31236 3.2 线性分组码的编码与译码原理 PAGEREF _Toc31236 2 HYPERLINK \l _Toc11233 3.2.1线性分组码的编码原理 PAGEREF _Toc11233 2HYPERLINK \l _Toc6682 3.2.2 线性分组码的译码原理 PAGEREF _Toc6682 3 HYPERLINK \l _Toc31791 3.3 2PSK的调制与解调原理 PAGEREF _Toc31791 4 HYPERLINK \l _Toc26402 3.3.1调制的原理. PAGEREF _Toc26402 4HYPERLINK \l _Toc27747 3.3.2解调的原理. PAGEREF _Toc27747 4 HYPERLINK \l _Toc23880 3.4 不同信噪比是的测试结果 PAGEREF _Toc23880 5 HYPERLINK \l _Toc20433 3.4.1 信噪比为1时 PAGEREF _Toc20433 5HYPERLINK \l _Toc4861 3.4.2 信噪比为5时. PAGEREF _Toc4861 5HYPERLINK \l _Toc31183 3.4.3 信噪比为10时 PAGEREF _Toc31183 6HYPERLINK \l _Toc29253 3.4.4译码时当检测到错码结果如图 PAGEREF _Toc29253 6 HYPERLINK \l _Toc2127 致谢...................... PAGEREF _Toc2127 7HYPERLINK \l _Toc30045 参考文献................ PAGEREF _Toc30045 7前言近年来,随着计算机、卫星通信及高速数据网的飞速发展,数据的交换、数据的交换理和存储技术得到了广泛的应用,人们对数据传输和存储系统的可靠性提出了越来越高的要求。
纠错编码基本实验matlab实现包含源代码

实验四 纠错编码基本实验一、实验目的1、通过实验理解线性分组码的基本原理;2、练习根据理论分析自行设计实验方法的能力。
二、实验内容1、已知一(10,4)线性分组码的生成矩阵为1001110111111000111001101101011101111001G ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦试用Matlab 求出该码的全部码字和最小汉明距离。
2、用Matlab 求x 15+1的所有因子,构造(15,4)循环码的所有可能的生成多项式;选择其中一个作为(15,4)循环码的生成多项式,求出所有的许用码字,并计算最小汉明距离. 三、实验原理1、线性生成码的原理线性分组码的构成方式是把信息序列分成每k 个码元一段,并由这k 个码元按一定规则产生r 个校验位,组成长度为n = k + r 的码字,用(n, k) 表示信息码元与校验位之间为线性关系。
一个[n ,k ]线性分组码,是把从信源输出的以k 个码元为一组的信息组m ,通过信道编码器后,变成长度为n ≥k 的码组(码字)c 作为[n ,k ]线性分组码的一个码字。
设GF (q )是一个含有q 个元素的有限数域,若每位码元的取值有q 种(取自GF(q )),则信息组m 共有kq 种不同的状态,因此,需要kq 个码字c 。
而长为n 的数组共有nq 个,二进制时(q =2)共有n2个。
显然,n q 个n 维向量组成有限域GF(q )上的一个n 维线性空间V ,编码就是要在这个n 维线性空间中选出kq 个向量作为合法码字,其余的nq —kq 个向量为禁用码字。
如果选出的kq 个作为合法码字的向量的集合构成了V 的一个k 维线性子空间,则称它是一个q 进制[n ,k ]线性分组码.如果值取自GF(q )上的[n ,k ]分组码的kq 个码字的集合C ,便构成了有限域GF (q )上的n 维线性空间V 的一个k 维线性子空间,则称C 是一个q 进制[n ,k ]线性分组码。
线性分组码 实验报告

线性分组码实验报告《线性分组码实验报告》摘要:本实验旨在研究线性分组码在通信系统中的应用。
通过对线性分组码的理论知识进行学习和探讨,结合实际通信系统的应用场景,设计了一系列实验方案,并进行了实验验证。
实验结果表明,线性分组码在通信系统中具有较高的纠错能力和可靠性,能够有效提高数据传输的质量和稳定性。
引言:线性分组码是一种常用的纠错编码技术,广泛应用于通信系统中。
它通过在数据传输过程中添加冗余信息,以实现对传输数据的纠错和恢复。
在实际通信系统中,线性分组码可以有效提高数据传输的可靠性和稳定性,对于提高通信系统的性能具有重要意义。
因此,对线性分组码的研究和应用具有重要的理论和实际意义。
实验目的:1. 了解线性分组码的基本原理和编码、解码过程;2. 掌握线性分组码在通信系统中的应用方法;3. 验证线性分组码在通信系统中的纠错能力和可靠性。
实验方法:1. 学习线性分组码的基本原理和编码、解码过程;2. 设计实验方案,包括构建通信系统模型、选择适当的编码方式和参数等;3. 进行实验验证,对比不同编码方式和参数下的通信系统性能。
实验结果和分析:通过实验验证,我们发现线性分组码在通信系统中具有较高的纠错能力和可靠性。
在不同的编码方式和参数下,线性分组码都能有效提高通信系统的数据传输质量和稳定性。
这表明线性分组码在通信系统中具有重要的应用价值,能够有效提高通信系统的性能。
结论:线性分组码是一种有效的纠错编码技术,在通信系统中具有重要的应用价值。
通过本实验的研究和验证,我们对线性分组码的原理和应用有了更深入的理解,为通信系统的性能优化提供了重要的参考和支持。
希望本实验结果能够对相关领域的研究和应用提供有益的参考和借鉴。
信息论与编码实验报告

实验一:计算离散信源的熵一、实验设备:1、计算机2、软件:Matlab二、实验目的:1、熟悉离散信源的特点;2、学习仿真离散信源的方法3、学习离散信源平均信息量的计算方法4、熟悉 Matlab 编程;三、实验内容:1、写出计算自信息量的Matlab 程序2、写出计算离散信源平均信息量的Matlab 程序。
3、将程序在计算机上仿真实现,验证程序的正确性并完成习题。
四、求解:1、习题:A 地天气预报构成的信源空间为:()⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡6/14/14/13/1x p X 大雨小雨多云晴 B 地信源空间为:17(),88Y p y ⎡⎤⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦⎣⎦ 小雨晴 求各种天气的自信息量和此两个信源的熵。
2、程序代码:p1=[1/3,1/4,1/4,1/6];p2=[7/8,1/8];H1=0.0;H2=0.0;I=[];J=[];for i=1:4H1=H1+p1(i)*log2(1/p1(i));I(i)=log2(1/p1(i));enddisp('自信息I分别为:');Idisp('信息熵H1为:');H1for j=1:2H2=H2+p2(j)*log2(1/p2(j));J(j)=log2(1/p2(j));enddisp('自信息J分别为');Jdisp('信息熵H2为:');H23、运行结果:自信息量I分别为:I = 1.5850 2.0000 2.0000 2.5850信源熵H1为:H1 = 1.9591自信息量J分别为:J =0.1926 3.0000信源熵H2为:H2 =0.54364、分析:答案是:I =1.5850 2.0000 2.0000 2.5850 J =0.1926 3.0000H1 =1.9591; H2 =0.5436实验2:信道容量一、实验设备:1、计算机2、软件:Matlab二、实验目的:1、熟悉离散信源的特点;2、学习仿真离散信源的方法3、学习离散信源平均信息量的计算方法4、熟悉 Matlab 编程;三、实验内容:1、写出计算自信息量的Matlab 程序2、写出计算离散信源平均信息量的Matlab 程序。
(最新整理)matlab-线性分类器的设计doc

close all; %样本初始化
matlab-线性分类器的设计 doc
x1(1,1)= 0.1; x1(1,2)= 1。1;
x1(2,1)= 6.8; x1(2,2)= 7。1;
x1(3,1)= -3。5; x1(3,2)= —4。1;
x1(4,1)= 2。0; x1(4,2)= 2.7;
这种算法在经过有限次迭代之后是收敛的,也就是说,根据(4)规则修正权向量 w,可以让所
有的特征向量都正确分类.
采用感知器算法实现 data1。m 的数据分类流程如图 2 所示:
开始
初始化
权向量w赋任意值
迭代 N
代价函数为0
Y 结束
图 2 单层感知器算法程序流程
MATLAB 程序源代码如下: function Per1()
理的决策超平面。故设这个超平面为 w,满足:
wT * x 0, x 1 wT * x 0, x 2
(1)
引入一个代价函数,定义为:
matlab-线性分类器的设计 doc
J (w) x * wT * x xY
(2)
其中,Y 是权向量 w 定义的超平面错误分类的训练向量的子集。变量x 定义为:当 x 1 时, x = -1;当 x 2 时,x = +1。显然,J(w)≥0。当代价函数 J(w)达到最小值 0 时,所有的训 练向量分类都全部正确。为了计算代价函数的最小迭代值,可以采用梯度下降法设计迭代算法,
while s
x2(1,1)= 7。1; x2(1,2)=;
x2(2,1)= -1.4; x2(2,2)=;
x2(3,1)= 4.5; x2(3,2)=;
x2(4,1)= 6。3; x2(4,2)=;
matlab(74)汉明码和(74)循环码的编程设计

二、创新实验设计创新实验一:(7,4)汉明码的编码与译码实现1、实验目的实现(7,4)汉明码的编码与译码,通过这次实验不但加深了对汉明码编码和译码原理了解,而且对线性分组码有所了解。
2、实验原理线性分组码的构造方法比较简单、理论较为成熟,应用比较广泛。
汉明码是一种能够纠正一个错码的效率比较高的线性分组码,下面以(7,4)码为例就汉明码的编码与译码分别进行介绍:(1)编码原理一般来说,若汉明码长为n ,信息位数为k ,则监督位数r=n-k 。
若希望用r 个监督位构造出r 个监督关系式来指示一位错码的n 种可能位置,则要求21r n -≥或211rk r -≥++ (1)设汉明码(n,k )中k=4,为了纠正一位错码,由式(1)可知,要求监督位数r ≥3。
若取r=3,则n=k+r=7。
这样就构成了(7,4)码。
用6543210a a a a a a a 来表示这7个码元,用123s s s 的值表示3个监督关系式中的校正子,则123s s s 的值与错误码元位置的对应关系可以规定如表1所列。
表2.1 校正子和错码位置的关系则由表1可得监督关系式:16542s a a a a =⊕⊕⊕()226531s a a a a =⊕⊕⊕()3 36430s a a a a =⊕⊕⊕()4 在发送端编码时,信息位6543a a a a 的值决定于输入信号,因此它们是随机的。
监督位2a 、1a 、0a 应根据信息位的取值按监督关系来确定,为使所编的码中无错码,则123,,S S S 等于0,即65426531643000(5)0a a a a a a a a a a a a ⊕⊕⊕=⎧⎪⊕⊕⊕=⎨⎪⊕⊕⊕=⎩方程组(5)可等效成如下矩阵形式6543210111010001101010010110010a a a a a a a ⎡⎤⎢⎥⎢⎥⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎢⎥⎣⎦(6)式(6)可简化为0T T HA =,H 为监督矩阵,则由式(6)可得到监督矩阵11101001101010=[P I ] (7)1011001r H ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦因为生成矩阵'=[I Q]=[I ]k k G P ,所以由(7)得生成矩阵G 如下:[]k 10001110100110[']00101010001011k G I Q I P ⎡⎤⎢⎥⎢⎥===⎢⎥⎢⎥⎣⎦然后利用信息位和生成矩阵G 相乘产生整个码组,即有[][]65432106543=(8)A a a a a a a a a a a a G=其中A 为整个码组矩阵,6543a a a a 是信息位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆交通大学信息论与编码综合设计实验报告班级:_________________ 级 ______ 班姓名:_____________________________ 学号:_____________________________ 实验项目名称:线性分组码编译码实验实验项目性质: _______ 设计性实验_________ 实验所属课程:信息论与编码理论实验室(中心):___ 网络实验中心________ 指导教师: _________________________________ 实验完成时间: __________ 年 _____ 月 _____ 日一、设计题目线性分组码编译码实验二、实验目的:1.掌握线性分组码的编码原理、编码步骤和译码方法2.熟悉matlab软件的基本操作,学会用matlab软件进行线性分组码的编码和译码三、实验主要内容及要求:设计(15,11)或(255, 247)线性分组码,利用随机生成的二进制序列及BPSK调制方式,比较使用信道编码与未使用信道编码的误比特率曲线四、实验设备及软件:PC机一台、Matlab软件该实验系统框图如上图所示,其中信源编码在本实验不做讨论,编号① 采用线性分组码编码和译码,编号②为不采用信道编译码,通过这两种方法的对比,得出误码率曲线。
1.线性分组码编码本实验采用的是 (15,11)的线性分组码,线性分组码的编码由监督矩阵和生成矩阵实现,监督矩阵H为(4X11 )的矩阵,由监督方程和(4X4) 的单位矩阵构成,生成矩阵G为(11X15)的矩阵,由(11X11)的单位矩阵和监督矩阵的转置矩阵构成。
具体实现方法如下:①将要编码的序列先整形,整为11 列②如果序列不能被11 整除在后边补0 使其能被11 整除③将整形后的序列与生成矩阵G相乘即得到编码后的码字其实现代码如下:function [n,C]=xxbm(n)a=randint(1,n); % 生成01 随机序列disp(' 编码序列:');disp(a);subplot(3,2,1);stairs(a);axis([1 length(a) -0.5 1.5])title(' 编码序列');%判断生成的随机序列个数是否是11 的整数倍iflength(a)/11==fix(length(a)/11)% 随机序列个数是11 的整数倍,直接编码b=reshape(a,11,(length(a)/11));M=b';F=eye(11);S=[0 0 1 1;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 1;1 0 1 0;1 0 1 1;11 0 0;1 1 0 1;1 1 1 0;1 1 1 1];K=eye(4);G=[F,S];H=[S',K];C=rem(M*G,2);disp(' 生成矩阵G:'); disp(G);disp(' 监督矩阵H:');disp(H);disp(' 码字:');disp(C);else% 随机序列个数不是11 的整数倍,补0 后编码s1=[a,zeros(1,(fix(length(a)/11)+1)*11-length(a))];% 补0 b=reshape(s1,11,(length(s1)/11));M=b';F=eye(11);S=[0 0 1 1;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1];K=eye(4);G=[F,S];H=[S',K]; % 督矩阵C=rem(M*G,2) ;disp(' 生成矩阵G:'); disp(G);disp(' 监督矩阵H:');disp(H);disp(' 码字:'); disp(C);endsubplot(3,2,2);stairs(C);axis([1 length(C) -0.5 1.5]);title(' 编码后的码字');2.BPSK调希9BPSK调制实现方法为:①将0、1 序列变为-1、1 序列;②将序列与载波相乘,为‘ 1'时与载波相位相同,为‘ -1'时与载波相位相反。
其实现代码如下:function [fc,fs,datarate,modusignal]=BPSKmodu(bits,datarate) fc=datarate*2;fs=fc*8;modusignal=[];t=linspace(0,2,16);carriar=cos(2*pi*t);bits=bits*2-1;for i=1:length(bits) modusignal=[modusignal,bits(i)*carriar];endsubplot(3,2,3);plot(modusignal);title('BPSK 调制后的波形');3.信道加噪使用awgn函数对调制信号进行加噪,其实现代码如下:function cs=channel(modusignal,bits)cs=awgn(modusignal,1);subplot(3,2,4);plot(cs);title(' 相乘后信号频谱');title(' 加噪后的波形');4.BPSKS 调产生一个与载波频率相同的本地载波,与经信道加噪后的调制信号相乘,得到解调信号。
然后通过低通滤波器滤波器再抽样判决,得出解调后的原始信号。
(要减去滤波器的延时时间t ,t= (滤波器长度+1) /2 )其实现代码如下:function k=designal(modusignal)designal=[];t=linspace(0,2,16);carrier=cos(2*pi*t);for i=1:16:length(modusignal)designal=[designal,modusignal(i:i+15).*carrier]; endsubplot(3,2,5);plot(designal);title(' 解调后的波形');load lppassL=(length(lppass)+1)/2;y=filter(lppass,1,designal);for i=1:length(y);if y(i)<0y(i)=-1;elsey(i)=1;endendsubplot(3,2,6);plot(y);axis([L length(y)+L -1.5 1.5]);title(' 抽样判决后的波形');% -------------------------%抽样判决for i=1:1:length(y)/16k(i)=0;for j=1:16k(i)=k(i)+y((i-1)*16+j);endk(i)=k(i)/16;if k(i)<0k(i)=0;elsek(i)=1;endend5.信道译码(线性分组码译码) 译码原理:利用错误图样和伴随式纠错。
本实验所采用的为( 15,11 )线性分组码,最小汉明距离为3,所以具有纠错 1 位检错两位的功能。
设一个接收码字矩阵为R,R*H'=S (模 2 乘),则S 为码字对应的伴随式矩阵如果S=0则说明接受码字无差错;如果S不为0,查看矩阵S中不为0的那行所在行数,该行即收码字错误所在行i ;将S转置,将不为0的一列与H每一列进行比较,找到H中相同列,该列的列数即为错误所在列;④由步骤得到错误具体位置,模 2 加对应的错误图样就可得到正确码字。
function I=xxym(n,C)[a,b]=size(C);S=[0 0 1 1;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1];K=eye(4);H=[S',K];A=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];B=eye(15);E=[A;B]; % 生成错误图样S=rem(C*H',2);Q=H'; m=zeros(1,a); for i=1:afor j=1:bifS(i,:)==Q(j,:) %m(i)=j; %endendendfor i=1:a %switch(m(i))case 0找出出错的位置数组m记录出错的位置disp(' 没有出现错误!');G(i,:)=C(i,:)+E(1,:);case 1disp(' 注意:第 1 位出现一个错误!已纠错!');G(i,:)=C(i,:)+E(2,:);case 2在错误的位置给出提示并纠错disp(' 注意:第G(i,:)=C(i,:)+E(3,:); case 3disp(' 注意:第G(i,:)=C(i,:)+E(4,:); case 4disp(' 注意:第G(i,:)=C(i,:)+E(5,:); case 5disp(' 注意:第G(i,:)=C(i,:)+E(6,:); case 6disp(' 注意:第G(i,:)=C(i,:)+E(7,:); case 7disp(' 注意:第G(i,:)=C(i,:)+E(8,:); case 8disp(' 注意:第G(i,:)=C(i,:)+E(9,:); case 9disp(' 注意:第G(i,:)=C(i,:)+E(10,:); case 10disp(' 注意:第G(i,:)=C(i,:)+E(11,:); case 11disp(' 注意:第位出现一个错误!已纠错!'); 位出现一个错误!已纠错!'); 位出现一个错误!已纠错!'); 位出现一个错误!已纠错!'); 位出现一个错误!已纠错!'); 位出现一个错误!已纠错!'); 位出现一个错误!已纠错!'); 位出现一个错误!已纠错!'); 位出现一个错误!已纠错!'); 位出现一个错误!已纠错!');G(i,:)=C(i,:)+E(12, :); 2 3 4 5 6 7 7 7 7 7case 12disp(' 注意:第7 位出现一个错误!已纠错!');G(i,:)=C(i,:)+E(13,:);case 13disp(' 注意:第7 位出现一个错误!已纠错!');G(i,:)=C(i,:)+E(14,:);case 14disp(' 注意:第7 位出现一个错误!已纠错!');G(i,:)=C(i,:)+E(15,:);case 15disp(' 注意:第7 位出现一个错误!已纠错!');G(i,:)=C(i,:)+E(16,:);endendG=rem(G,2); % 求出正确的编码disp(' 检错并纠错后的码组:');disp(G); % 显示正确的编码j=1;while j<=11 % 提取信息位I(:,j)=G(:,j);j=j+1;end [m1,n1]=size(I);I=I';I=reshape(I,1,m1*n1);for i=1:nC1(i)=I(i);enddisp(' 译出的序列:');六、测试结果及说明:1.信噪比为1时,结果如图:编码序列1.5 --- ------ - ----- ■----- ■------1 - ----------------0.5 -0 — ---------------------------------0.5 ------------------------------------2 4 6 8 10解调后的波形编码后的码字1.5 ---------- ■---------- ■-----------1 ■ --------- ------------------- ■0.5,0 —I ------------------------ I—-0.5 -------------------------------------5 10 155-50 100 200 300disp(C1);显示原信息码2.信噪比为5时,结果如图:编码序列编码后的码字5-5加噪后的波形解调后的波形0 100 200 3001-1抽样判决后的波形50 100 150 200BPSK调制后的波形加噪后的波形3.信噪比为10时,结果如图:编码序列5 10 15加噪后的波形解调后的波形50 100 150 2004.译码时,当检测到误码时,结果如图:0 :L 0 0110]00 1I1>5 £=[ <1 1 L ] Q]1Q]a0 I J1]]C =□) 1 ) Q I]0]00 I J1iI皿吓血口空总:裏4忆狀映r■能區!己虬褚!0 1 1 0 0110]00 1111o i i a i I]0]0i -□l L Q a110]D Q实验结果分析:由以上实验结果可知,该程序基本完成了线性分组码的编码、调制、加噪、解调、译码(包括检错纠错)等一系列操作。