基于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的信道编码教学实验软件设计与实现

基于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的线性分组码课程设计论文

基于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前言近年来,随着计算机、卫星通信及高速数据网的飞速发展,数据的交换、数据的交换理和存储技术得到了广泛的应用,人们对数据传输和存储系统的可靠性提出了越来越高的要求。

线性分组码 实验报告

线性分组码 实验报告

线性分组码实验报告《线性分组码实验报告》摘要:本实验旨在研究线性分组码在通信系统中的应用。

通过对线性分组码的理论知识进行学习和探讨,结合实际通信系统的应用场景,设计了一系列实验方案,并进行了实验验证。

实验结果表明,线性分组码在通信系统中具有较高的纠错能力和可靠性,能够有效提高数据传输的质量和稳定性。

引言:线性分组码是一种常用的纠错编码技术,广泛应用于通信系统中。

它通过在数据传输过程中添加冗余信息,以实现对传输数据的纠错和恢复。

在实际通信系统中,线性分组码可以有效提高数据传输的可靠性和稳定性,对于提高通信系统的性能具有重要意义。

因此,对线性分组码的研究和应用具有重要的理论和实际意义。

实验目的: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

(最新整理)matlab-线性分类器的设计doc
clear all;
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)循环码的编程设计

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 是信息位。

33基于MATLABSimulink的线性分组码仿真

33基于MATLABSimulink的线性分组码仿真

3.3基于MATLAB/Simulink的线性分组码仿真3.3.1通信系统仿真的数学模型对于一般的通信系统,无论是连续还是离散的数学模型都应包括信源、信道编码、调制器、信道、解调器、信道译码、信宿几个模块,各模块之间的连接关系如下图所示。

信源信道编码调制器信宿信道译码解调器信道图3-2 通信系统数学模型利用这个模型,通过设置其中各个模块的属性可以实现通信系统中各种编译码和调制解调系统的仿真。

3.3.2线性分组码仿真线性分组码的仿真是通信系统一般数学模型的一种具体应用。

通过分析设计题目,根据仿真设计要求建立仿真模型如下图所示。

图3-3 二进制线性编码simulink仿真图上图为二进制线性编码的simulink仿真图信源、信道编译码器和误码率计算器等模块的参数设置情况见表3-1至表3-6。

调制器选用调制性能较好的BPSK调制器;与调制和编码相对应的,解调器选用BPSK解调器,译码器选用二进制线性译码器。

本设计希望借助线性分组码的误码率曲线来研究其性能,所以需要加入误码率计算器(Error Rate Calculation)。

通过学习MATLAB/simulink相关知识,了解到误码率计算器输出三个结果:误码率、正确码元个数和错误码元个数。

设计所关心的是误码率,所以先用分路器将三路信号分离,然后将误码率的值输出到工作空间(workspace)便于提取每一秒的仿真数据,为了实现和显示模块(display)的连接,必须用合路器将分开的信号重新组合起来。

而选用Display作为显示模块,是因为它可以方便快捷的观察到三路输出信号的动态变化过程。

其中主要模块的参数设置如下表所示。

表3-1是信源模块的参数设置表,由于在实际通信过程中,具体环境不同信源信号的形式可能多种多样,为了模拟最一般的信号形式,图中信源选择能产生伯努利分布的二进制随机数的Bernoulli Random Binary Generator模块;编码器选用二进制线性编码器;表3-1 伯努利二进制随机数生成器(Bernoulli Random Binary Generator)参数表参数名称参数值Probability of zer(0出现的概率)0.5Initial seed(初始化种子)21375Sample time(抽样时间)0.0001Frame-based outputs(输出基于帧)√Samples per frame(每帧抽样数)(根据要仿真信号的信息位数设定数值如(7,4)码则此项值为4)研究二进制线性码的性能当然用二进制线性编码器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、 设计题目线性分组码编译码实验二、 实验目的:1. 掌握线性分组码的编码原理、编码步骤和译码方法2. 熟悉matlab 软件的基本操作,学会用matlab 软件进行线性分组码的编码和译码 三、实验主要内容及要求:设计(15,11)或(255,247)线性分组码,利用随机生成的二进制序列及BPSK 调制方式,比较使用信道编码与未使用信道编码的误比特率曲线四、 实验设备及软件:PC 机一台、Matlab 软件五、 设计方案 ①(15,11)线性分 ②①②该实验系统框图如上图所示,其中信源编码在本实验不做讨论,编号①采用线性分组码编码和译码,编号②为不采用信道编译码,通过这两种方法的对比,得出误码率曲线。

1. 线性分组码编码本实验采用的是(15,11)的线性分组码,线性分组码的编码由监督矩阵信源编码 信道编码BPSK 调制信道传输噪声解调信道译码信源译码统计误码率和生成矩阵实现,监督矩阵H为(4×11)的矩阵,由监督方程和(4×4)的单位矩阵构成,生成矩阵G为(11×15)的矩阵,由(11×11)的单位矩阵和监督矩阵的转置矩阵构成。

具体实现方法如下:①将要编码的序列先整形,整为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;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);else %随机序列个数不是11的整数倍,补0后编码s1=[a,zeros(1,(fix(length(a)/11)+1)*11-length(a))]; %补0b=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调制BPSK调制实现方法为:①将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.BPSK解调产生一个与载波频率相同的本地载波,与经信道加噪后的调制信号相乘,得到解调信号。

然后通过低通滤波器滤波器再抽样判决,得出解调后的原始信号。

(要减去滤波器的延时时间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:bif S(i,:)==Q(j,:) %找出出错的位置m(i)=j; %数组m记录出错的位置endendendfor i=1:a %在错误的位置给出提示并纠错switch(m(i))case 0disp('没有出现错误!');G(i,:)=C(i,:)+E(1,:);case 1disp('注意:第1位出现一个错误!已纠错!'); G(i,:)=C(i,:)+E(2,:);case 2disp('注意:第2位出现一个错误!已纠错!'); G(i,:)=C(i,:)+E(3,:);case 3disp('注意:第3位出现一个错误!已纠错!'); G(i,:)=C(i,:)+E(4,:);case 4disp('注意:第4位出现一个错误!已纠错!'); G(i,:)=C(i,:)+E(5,:);case 5disp('注意:第5位出现一个错误!已纠错!'); G(i,:)=C(i,:)+E(6,:);case 6disp('注意:第6位出现一个错误!已纠错!'); G(i,:)=C(i,:)+E(7,:);case 7disp('注意:第7位出现一个错误!已纠错!'); G(i,:)=C(i,:)+E(8,:);case 8disp('注意:第7位出现一个错误!已纠错!'); G(i,:)=C(i,:)+E(9,:);case 9disp('注意:第7位出现一个错误!已纠错!'); G(i,:)=C(i,:)+E(10,:);case 10disp('注意:第7位出现一个错误!已纠错!'); G(i,:)=C(i,:)+E(11,:);case 11disp('注意:第7位出现一个错误!已纠错!'); G(i,:)=C(i,:)+E(12,:);case 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('译出的序列:');disp(C1); %显示原信息码六、测试结果及说明:1.信噪比为1时,结果如图:246810-0.500.511.5编码序列51015-0.500.511.5编码后的码字010*******-101BPSK 调制后的波形010*******-55加噪后的波形100200300-11解调后的波形50100150200-11抽样判决后的波形2. 信噪比为5时,结果如图:246810-0.500.511.5编码序列51015-0.500.511.5编码后的码字010*******-101BPSK 调制后的波形010*******-55加噪后的波形100200300-11解调后的波形50100150200-11抽样判决后的波形3. 信噪比为10时,结果如图:246810-0.500.511.5编码序列51015-0.500.511.5编码后的码字010*******-101BPSK 调制后的波形010*******-22加噪后的波形100200300-11解调后的波形50100150200-11抽样判决后的波形4. 译码时,当检测到误码时,结果如图:实验结果分析:由以上实验结果可知,该程序基本完成了线性分组码的编码、调制、加噪、解调、译码(包括检错纠错)等一系列操作。

相关文档
最新文档