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

纠错编码基本实验matlab实现包含源代码

纠错编码基本实验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

(最新整理)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)研究二进制线性码的性能当然用二进制线性编码器。

基于matlab线性分组码实验设计

基于matlab线性分组码实验设计

一、 设计题目线性分组码编译码实验二、 实验目的: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’时与载波相位相反。

线性分组码的matlab实现

线性分组码的matlab实现

重庆交通大学信息科学与工程学院综合性设计性实验报告专业:通信工程专业12级学号:631206040105姓名:刘志坤实验所属课程:信息论与编码实验室(中心):软件与通信实验中心指导教师:黄大荣2015年4月线性分组码的matlab实现一、实验目的和要求。

信道编码的目的是为了改善通信系统的传输质量。

按照监督码元与信息码元之间的关系,有线性码和非线性码。

线性码的特点是监督码元与信息码元之间有线性关系,可用一组线性代数方程将其联系起来。

本实验用Matlab语言编程实现线性分组码。

二、实验原理。

线性分组码的编码包括两个基本步骤:首先将信源的输出序列分为k位一组的消息组(也称信息组,简称消息或信息);然后信道编码器按照一定的编码规则将k位消息变换为n个码元的码字。

一个(n,k)线性分组码,如果码的数域为GF(m),即每一个码元可能有m种取值,则信源可发出km种不同的消息。

对于(n,k)码,n表示码长,k表示信息码元的维数,也就是子空间的维数,设M=[m1,m2,…,mk]是输入纠错码编码器的信息,则由纠错码编码器输出的码字C=MGG为该(n,k)码的生成矩阵。

如果只考虑信道编码,则纠错码通信系统模型可归结为如下模型:线性分组码(n ,k )中许用码字(组)为2k 个。

定义线性分组码的加法为模二加法,乘法为二进制乘法。

即1+1=0、1+0=1、0+1=1、0+0=0;1×1=1、1×0=0、0×0=0、0×1=0。

且码字与码字的运算在各个相应比特位上符合上述二进制加法运算规则。

线性分组码具有如下性质(n ,k )的性质:1、封闭性。

任意两个码组的和还是许用的码组。

2、码的最小距离等于非零码的最小码重。

对于码组长度为n 、信息码元为k 位、监督码元为r =n -k 位的分组码,常记作(n ,k )码,如果满足2r -1≥n ,则有可能构造出纠正一位或一位以上错误的线性码。

基于MATLAB的线性分组码编译码仿真实现设计说明书

基于MATLAB的线性分组码编译码仿真实现设计说明书

信息工程学院通信工程系设计题目:基于MATLAB的线性分组码编译码仿真设计班级:10通信班学号:姓名:指导老师:2013 年11 月15 日成绩:摘要该系统是(6,3)线性分组码的编码和译码的实现,它可以对输入的三位的信息码进行线性分组码编码,对于接收到的六位码字可以进行译码,从而译出三位信息码。

当接收到的六位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。

只有特定位有两位错误时,才能纠正两位错误。

这样就译出正确的信息码组,整个过程是用MATLAB语言实现的。

关键词:编码; 译码; 纠错目录前言 (2)第1章设计目标 (2)第2章 MATLAB简介 (3)第3章基本原理 (3)3.1 线性分组码的编码 (3)3.1.1 生成矩阵 (3)3.1.2 校验矩阵 (5)3.2 伴随式与译码 (6)3.2.1 码的距离及纠检错能力 (6)3.2.2 伴随式与译码 (6)第4章推导过程 (7)4.1 编码过程 (7)4.2 译码过程 (9)第5章仿真程序及结果分析 (11)5.1 仿真程序 (11)5.2 仿真结果图 (13)5.3 结果分析 (15)参考文献 (16)总结 (17)0 1 11 0 1 1 1 0 前言近年来,随着计算机、卫星通信及高速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛的应用,人们对数据传输和存储系统的可靠性提出了越来越高的要求。

因此,如何控制差错、提高数据传输和存储的可靠性,成为现代数字通信系统设计的重要课题。

目前,绝大多数的数字计算机和数字通信系统中广泛采用二进制形式的码。

而线性分组码具有编译码简单,封闭性好等特点,采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流行的差错控制编码技术。

对线性分组码的讨论都在有限域GF(2)上进行,域中元素为{0,1},域中元素计算为模二加法和模二乘法。

线性分组码实验报告

线性分组码实验报告

线性分组码实验报告1. 引言线性分组码是一种在通信系统中广泛应用的编码技术。

它通过对数据进行分组,并使用特定的编码方式,在数据传输过程中提高数据的可靠性和传输效率。

本实验旨在通过实际操作,探索线性分组码的原理和性能。

2. 实验目的本实验的主要目的如下:- 理解线性分组码的原理和编码过程;- 掌握线性分组码的解码过程;- 分析线性分组码对数据传输效果的影响。

3. 实验器材和材料本实验所需的器材和材料包括:- 一台个人计算机;- 编程语言:Python;- 相关编程库:NumPy。

4. 实验方法与步骤4.1 实验环境搭建在个人计算机上安装Python编程语言和NumPy库。

4.2 线性分组码编码过程4.2.1 确定生成矩阵G根据实验要求,确定线性分组码的生成矩阵G。

4.2.2 数据分组将待发送的数据按照固定长度进行分组,并对每个数据分组进行奇偶校验位的计算。

4.2.3 生成编码数据将分组数据与生成矩阵G相乘,得到编码数据。

4.3 线性分组码解码过程4.3.1 确定校验矩阵H根据实验要求,确定线性分组码的校验矩阵H。

4.3.2 接收编码数据接收经过信道传输的编码数据。

4.3.3 生成校验位将接收到的编码数据与校验矩阵H相乘,得到校验位。

4.3.4 检测错误位通过比较生成的校验位和接收到的校验位,确定是否存在错误位。

4.3.5 纠正错误位如果存在错误位,则根据错误位的位置进行纠正。

4.3.6 解码数据得到纠正后的编码数据,并进行解码。

4.4 实验数据记录和分析记录每次实验的编码数据、接收到的编码数据、生成的校验位、接收到的校验位,以及解码后得到的数据。

分析不同信道条件下数据传输的可靠性和效率。

5. 实验结果与讨论通过实验,我们得到了实验数据,并对数据进行了分析。

根据实验结果,我们发现线性分组码在一定程度上可以提高数据传输的可靠性,但受到信道条件的影响。

在良好的信道条件下,线性分组码可以有效地检测和纠正错误位,实现可靠的数据传输。

线性分组码编码分析与实现

线性分组码编码分析与实现

吉林建筑大学电气与电子信息工程学院信息理论与编码课程设计报告设计题目:线性分组码编码的分析与实现专业班级:电子信息工程111 学生姓名:学号:指导教师:设计时间:2014.11.24 - 2014.12.5第1 章概述1.1 设计的作用、目的1、通过完成具体编码算法的程序设计和调试工作,提高编程能力,深刻理解信源编码、信道编译码的基本思想。

2、加深对理论知识的理解,提高实践技能,培养独立分析问题及解决问题的能力。

3、掌握编码的基本原理与编码过程,增强逻辑思维能力4、使用MATLAB或其他语言进行编程及实现。

1.2 设计任务及要求设计一个( 7,3 )线性分组码的编译码程序,完成对任意序列的编码,根据生成矩阵形成监督矩阵,得到伴随式下,并根据其进行译码,同时验证工作的正确性,最基本的是要具备对输入的信息码进行编码,让它具有抗干扰的能力。

1. 理解无失真信源编码的理论基础,掌握无失真信源编码的基本方法;2. 掌握哈夫曼编码/ 费诺编码方法的基本步骤及优缺点;3. 深刻理解信道编码的基本思想与目的,理解线性分组码的基本原理与编码过程4. 能够使用MATLA或其他语言进行编程,编写的函数要有通用性。

1.3 设计内容已知一个( 7,3 )线性分组码的校验元与信息元有如下限定关系。

设码字为(c1,c2, c 3, c 4, c 5, c6,c7)c4 c1 c3c5 c1c2 c3c6 c1 c2c7 c2 c3求出标准校验矩阵、Q 矩阵、标准生成矩阵,完成对任意信息序列( 23个许用码字)的编码。

当接收码字分别为(0000000), (0000001), (0000010), (0000100), (0001000), (0010000), (0100000), (1000000), (0100100) 时,写出其伴随式S,以表格形式写出伴随式与错误图样E的对应关系,纠错并正确译码,当有两位错码时,假定为C5位和C2位发生错误第2章线性分组码编码分析与实现2.1设计原理1. 线性分组码的生成矩阵和校验矩阵(1)(n, k)线性分组码的性质1、封闭性。

基于某MATLAB地线性分组码编译码仿真实现设计说明书

基于某MATLAB地线性分组码编译码仿真实现设计说明书

信息工程学院通信工程系设计题目:基于MATLAB的线性分组码编译码仿真设计班级:10通信班学号:姓名:指导老师:2013 年11 月15 日成绩:摘要该系统是(6,3)线性分组码的编码和译码的实现,它可以对输入的三位的信息码进行线性分组码编码,对于接收到的六位码字可以进行译码,从而译出三位信息码。

当接收到的六位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。

只有特定位有两位错误时,才能纠正两位错误。

这样就译出正确的信息码组,整个过程是用MATLAB语言实现的。

关键词:编码; 译码; 纠错目录前言 (2)第1章设计目标 (2)第2章 MATLAB简介 (3)第3章基本原理 (3)3.1 线性分组码的编码 (3)3.1.1 生成矩阵 (3)3.1.2 校验矩阵 (5)3.2 伴随式与译码 (6)3.2.1 码的距离及纠检错能力 (6)3.2.2 伴随式与译码 (6)第4章推导过程 (7)4.1 编码过程 (7)4.2 译码过程 (9)第5章仿真程序及结果分析 (11)5.1 仿真程序 (11)5.2 仿真结果图 (13)5.3 结果分析 (14)参考文献 (16)总结 (17)前言近年来,随着计算机、卫星通信及高速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛的应用,人们对数据传输和存储系统的可靠性提出了越来越高的要求。

因此,如何控制差错、提高数据传输和存储的可靠性,成为现代数字通信系统设计的重要课题。

目前,绝大多数的数字计算机和数字通信系统中广泛采用二进制形式的码。

而线性分组码具有编译码简单,封闭性好等特点,采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流行的差错控制编码技术。

对线性分组码的讨论都在有限域GF(2)上进行,域中元素为{0,1},域中元素计算为模二加法和模二乘法。

分组码是一组固定长度的码组,可表示为(n , k),通常它用于前向纠错。

实验二线性分组码的编译码报告

实验二线性分组码的编译码报告

实验二线性分组码的编译码报告1.实验目的线性分组码是一种常用的编码方式,本实验旨在通过对线性分组码的编码与解码操作,加深对线性分组码的理解,并掌握编码与解码的基本方法。

2.实验原理2.1线性分组码线性分组码是一种纠错码,通过在数据中嵌入冗余信息,使得数据在传输或存储过程中能够进行纠错。

线性分组码中的每个码字都由一系列的信息位和校验位组成,校验位的数量和位置由特定的生成矩阵决定。

2.2编码编码是将信息位转换为码字的过程。

对于线性分组码,编码过程可以通过生成矩阵来实现。

生成矩阵是一个以二进制元素组成的矩阵,其列数等于码字的长度,行数等于信息位的长度。

生成矩阵的乘法运算可以将信息位转换为码字。

2.3解码解码是将接收到的码字转换为信息位的过程。

对于线性分组码,解码过程可以通过校验矩阵来实现。

校验矩阵是生成矩阵的转置矩阵,其列数等于校验位的数量,行数等于码字的长度。

解码过程可以通过校验矩阵的乘法运算来恢复信息位。

3.实验内容3.1编码操作首先,选择一个合适的生成矩阵,根据生成矩阵进行编码操作。

具体步骤如下:1)定义生成矩阵,并将其转换为标准型;2)输入信息位;3)将信息位与生成矩阵相乘,得到码字;4)输出码字。

3.2解码操作在编码操作完成后,进行解码操作,根据生成矩阵得到校验矩阵,并根据校验矩阵进行解码操作。

具体步骤如下:1)根据生成矩阵得到校验矩阵;2)输入码字;3)将码字与校验矩阵相乘,得到校验位;4)判断校验位是否全为0,若是则解码成功,将码字中的信息位输出;若不是,则说明有错误发生,进行纠错操作。

4.实验结果与分析通过编码与解码的操作,得到了编码后的码字,并成功地将码字解码为原始信息位。

在解码过程中,如果校验位全为0,则说明接收到的码字没有发生错误,并且成功恢复出了信息位。

5.实验总结通过本次实验,深入理解了线性分组码的编码与解码原理,并掌握了编码与解码的基本方法。

线性分组码是一种常用的纠错码,其应用广泛,并且在通信与存储领域发挥着重要作用。

基于MATLAB的信道编译码系统设计学士学位论文

基于MATLAB的信道编译码系统设计学士学位论文

学士学位论文基于MATLAB的信道编译码系统设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

基于MATLAB的CRC编码与译码的设计与仿真

基于MATLAB的CRC编码与译码的设计与仿真

摘要通信是信息远距离的传送,是人类生产和生活的主要支撑。

通信的目的是要把信息及时可靠地传送给对方,在数据通信过程中,衰损、失真、和噪声会使通信线路上的信号发生错误。

差错控制可以减少错误、提高通信质量,可以改善传输信道的电气特性,使误码率达到要求。

CRC(Cyclical Redundancy Checking)循环冗余校验码是一种重要的线性分组码,通过多项式除法检测错误,是在数据通信和数据检测中广泛应用的检错校验的循环码。

本设计研究了CRC循环冗余校验码的原理,以及利用C语言对其进行了编程和编译仿真,实现了CRC循环冗余校验码的编码及校验,在接收端收到通过校验的码,从而确定传输过程是否出错,得到的结论和理论上是一致的。

关键词:检错码;CRC循环冗余校验码;C语言前言随着科学技术的进步, 人们对信息传递的要求逐渐提高。

但在通信系统中, 可靠性与有效性是对矛盾, 要求有效性提高, 必然使每个码元所占的时间缩短, 从而受干扰和产生错误的可能性增大, 可靠性降低了; 要提高信息的可靠性,又使信息速率变慢有效性降低。

在实际信道上传输数字信号时,由于信道传输特性不理想及加性噪声的影响,所收到的数字信号不可避免的会发生错误。

为了加强通信系统的可靠性,除了合理设计基带信号,选择调制、解调方式,采用频域均衡、时域均衡之外,还需要采用信道编码,即差错控制编码,使误码率进一步降低,来满足指标要求。

循环冗余校验码CRC(Cyclical Redundancy Checking)是目前通信系统中最常用的一种差错控制编码。

循环冗余校验码是一种高效率且可靠的方法, 由线性分组码分支而来的, 是一种通过多项式除法检测错误的很不寻常而又巧妙的方法, 一方面它有很强的检测能力, 二是它的编码器电路及错误检测器电路都很容易实现, 它的优点使它在通信系统中得到了广泛的应用。

利用CRC进行检错的过程可简单描述为:在发送端根据要传送的二进制码序列,以一定的规则产生一个校验用的监督码(CRC码),附在原始信息后边,构成一个新的二进制码序列数,然后发送出去。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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实验结果分析:由以上实验结果可知,该程序基本完成了线性分组码的编码、调制、加噪、解调、译码(包括检错纠错)等一系列操作。

相关文档
最新文档