信道编码综合设计与建模
信源编码编译和信道编码编译的通信系统基本模型框架

信源编码编译和信道编码编译的通信系统基本模型框架
信源编码编译和信道编码编译是数字通信中常用的技术,其基本模型框架如下:
1. 信源编码编译模块:将源数据进行编码并进行编译,以减少数据的冗余度,提高传输效率。
2. 信道编码编译模块:根据通信信道的特性,采用适当的编码算法将经过信源编码编译的数据进行进一步编码,以提高数据传输的可靠性和抗干扰性。
3. 调制与解调模块:将编码后的数字信号转换为模拟信号进行传输,并在接收端将模拟信号转化为数字信号。
4. 信道模型:用来表示传输信号的传播路径和信道干扰的情况,以便进行传输性能的分析与评估。
5. 解码模块:在接收端对接收到的信号进行处理,进行解调、信道解码、信源解码等操作,以还原出原始的数据信息。
6. 应用模块:在解码模块得到原始数据后,进行下一步的应用处理,如声音恢复、图像显示等。
这是数字通信中常用的通信系统模型框架,其中信源编码编译和信道编码编译是提高通信系统效率和可靠性的核心技术,也是广泛应用于移动通信、卫星通信等各种数字通信系统中的重要技术手段。
通信课程设计选题 选题参考

(1)N路信号频分复用系统的设计与建模;(2人)参数:1)每路信号占用带宽尽可能窄;信道总带宽20kHz;2)SSB-FDM-FM方式;3)3路信号,频率300Hz~3400Hz;4)保护带宽1Hz;要求:1)设定噪声类型和参数,且参数方便可调;2)设3个观测点,分别观察SSB、FDM、FM信号;3)设定载频;4)完成发送端和接收端仿真,观察接收到的信号,分析结果(2)N路信号时分复用系统的设计与建模;(2人)要求:1)设计信号源模块,产生三种连续信号;频率300Hz~3400Hz2)FM+TDM方式;(也可以是其它调制方式+TDM);3)对时隙、带宽等各项指标记录数值;4)设计三路信号合路器模块,完成发送端仿真;5)设计三路信号分路器模块,完成接收端仿真;6)设置观测点,观测TDM信号;观察接收端恢复的信号,分析仿真结果一、射频遥控门铃(1人)按发射部分按键(只按一下),接收部分门铃(蜂鸣器)响,延时30秒自动停止。
(3)MFSK数字信号频带传输系统的设计与建模;(2人)要求:1)设计M进制基带信号生成模块,产生M进制基带信号;2)设计MFSK调制模块;3)设计信道模块,加性白噪声信道,噪声功率可调;4)设计MFSK解调模块;5)构成传输系统,设定测试点,观察各点波形,记录相关数据并分析;(4)QPSK数字信号频带传输系统的设计与建模;(1人)要求:1)用两种方法产生QPSK信号(相位选择法、直接调相法);2)设计信道模块,信道噪声可调;测试不同噪声下解调系统性能,记录相关数据并分析仿真结果二、两路遥控开关(1人)发射部分有两个按键,当按下某一键时(只按一下),接收部分相应的继电器接通,同时指示灯亮,需要关断时,在发射部分可再按下相应键(启动键,只按一下),就可关断,在接收部分也有对应的关断键。
(5)第I类部分响应系统设计与建模;(1人)要求:1)设计信号产生模块,产生二进制基带信号(码元)2)设计预编码-相关编码模块(程序);记录编码结果3)设计新到模块,噪声可调;4)设计抽样判决模块,恢复原是基带信号(码元)5)绘制眼图(6)DQPSK数字信号频带传输系统的设计与建模(1人)要求:1)设计绝对码相对码转换电路;2)设计信道模块,信道噪声可调;3)测试不同噪声下解调系统性能,记录相关数据并分析仿真结果三、遥控彩灯控制电路(1人)由发射部分控制接收部分彩灯(灯数自定)旋转。
基于LabVIEW的信道编码系统设计与实现

基于LabVIEW的信道编码系统设计与实现刘巍;薛添【摘要】This paper describes the channel coding, analyzes the principle of linear block code represented by BCH code. Based on theoretical research and with LabVIEW software, the design and simulation of corresponding system is implemented, including coding, decoding and error detection function of linear block code and BCH code. Meanwhile, the analysis on error rate may make the resulted system become more perfect. Finally the friendly human-machine interface is built up via the front panel of LabVIEW.%针对信道编码,分析和介绍线性分组码及其重要的BCH码的相关原理.在理论研究的基础上,通过LabVIEW软件,实现相应的系统设计与仿真,如实现线性分组码、BCH码的编码功能、译码功能及纠查检错功能.实现相应功能的同时,进行误码率分析,使得到的系统更具全面性.最后,为了得到便于操作的人机界面,通过LabVIEW软件的前面板搭建其人机交互界面,得到了利用控件的选项板.【期刊名称】《通信技术》【年(卷),期】2017(050)012【总页数】8页(P2676-2683)【关键词】信道编码;线性分组码;BCH码;误码率【作者】刘巍;薛添【作者单位】四川通信科研规划设计有限责任公司,四川成都 610000;四川通信科研规划设计有限责任公司,四川成都 610000【正文语种】中文【中图分类】TN991.22在现代无线通信技术的快速发展下,数字信号成为主要的传输信号类型并取代了模拟信号。
电子信息工程毕设设计__基于matlab的信道编码仿真

电子信息工程毕设设计__基于matlab的信道编码仿真基于matlab的信道编码仿真海南大学毕业论文(设计)题目:基于matlab的信道编码仿真学号:姓名: 年级: 学院:信息科学技术学院系别:电子信息工程专业:电子信息工程指导教师:完成日期:1基于matlab的信道编码仿真摘要通信技术的飞速发展,信道编码已经成功地应用于各种通信系统中。
以及各种传输方式对可靠性要求的不断提高,信道编码技术作为抗干扰技术的一种重要的手段,在数字通信技术领域和数字传输系统中显示出越来越重要的作用。
信道编码的目的是为了改善通信系统的传输质量。
由于实际信道存在噪声和干扰,使发送的码字与信道传输后所接收的码字之间存在差异,称这种差异为差错。
一般情况下,信道噪声、干扰越大,码字产生差错的概率也就越大。
本文利用matlab对二进制对称信道(BSC),高斯白噪声信道(AWGN)两种信道的仿真,(7,4)Hamming码对信道的仿真,通过误码率的曲线图来了解信道的编码。
并利用matlab的simulink模块仿真,运用simulink里的卷积码viterbi译码器来对二进制对称信道和高斯白噪声信道的仿真,观察误码率的曲线图来了解2个信道的不同。
关键字:matlab,信道,编码,译码,Simulink。
1基于matlab的信道编码仿真AbstractWith the rapid development of communication technology, channelcoding has been successfully applied to various communications systems. And a variety of transmission of the continuous improvement ofreliability requirements, anti-jamming channel coding technology as an important means of technology in the field of digital communications technology and digital transmission systems in a more and more important role.The purpose of channel coding is to improve the transmission quality of communications systems. As the actual existence of the channel noise and interference, the transmitted codewords and channel transmission received after the difference between code words, said this differenceis wrong. Under normal circumstances, channel noise, the greater the interference, the code word generated the greater the probability of error.In this paper, matlab binary symmetric channel (BSC), Gaussian white noise channel (AWGN) two channel simulation, (7,4) Hamming code simulation of the channel, through the bit error rate curve to understand the channel coding. Using matlab to simulink block simulation, using simulink in the viterbi decoder to convolutional codes on the binary symmetric channel and Gaussian white noise channel simulation, observation error rate graphs to understand the two different channelsKeywords: matlab, channel, coding, decoding, Simulink.2基于matlab的信道编码仿真目录1引言 ..................................................................... ...........................................................1 1.1选题的目的和意义 ..................................................................... .................................1 1.2本选题的理论依据、研究内容 ..................................................................... .............1 2.信道编码以及其运行环境MATLAB的介绍 (2)2.1 信道编码的概念及分类 ..................................................................... ........................2 2.2 信道编码定理及信道编码中所包含的各种码类的简介 ...........................................2 2.2.1卷积码 ..................................................................... .................................................2 2.2.2线性分组码 ..................................................................... .........................................3 2.2.3循环码 ..................................................................... .................................................3 2.3 MATLAB语言的简介 ...................................................................................................4 2.4Simulink ............................................................... ........................................................5 3.信道 ..................................................................... ...........................................................5 3.1二进制对称信道(BSC) .................................................................. ..........................5 3.2二进制删除信道(BEC) .................................................................. ..........................6 3.3高斯白噪声信道(AWGN) ................................................................. ............................6 4. Hamming 码...................................................................... .............................................7 4.1汉明码 ..................................................................... ....................................................7 4.2校验方法 ..................................................................... ................................................7 4.3汉明码编码 ..................................................................... ............................................9 4.3.1汉明码对高斯白噪声信道 ..................................................................... ..................9 4.3.2汉明码对二进制对称信道的仿真 ..................................................................... .....11 5.卷积码 ..................................................................... .....................................................15 5.1卷积码定义与原理 ..................................................................... ...............................15 5.2维特比译码原理 ..................................................................... ..................................15 5.3卷积码译码器对高斯白噪声信道的设计与仿真 .....................................................18 5.3.1卷积码译码器的设计与仿真 ..................................................................... (19)3基于matlab的信道编码仿真5.3.2简化维特比译码器的仿真 ..................................................................... ................22 5.3.3卷积码译码器的误码率分析 ..................................................................... ............24 5.4卷积编码器在二进制对称信道(BSC)中的性能 ................................................... 25 6.卷积码译码器对二进制对称信道和高斯白噪声信道仿真比较 .................................30 7.总结 ..................................................................... .........................................................31 致谢.................................................................................................................................32 参考文献 ..................................................................... ....................................................33 附录1: ..................................................................... .....................................................34 附录2: ..................................................................... ..................................................... 37 附录3: ..................................................................... .....................................................40 附录4: ..................................................................... .. (41)4基于matlab的信道编码仿真1引言1.1选题的目的和意义数字信号在传输中往往由于各种原因,使得在传送的数据流中产生误码,从而使接收端产生图象跳跃、不连续、出现马赛克等现象。
信道编码方案设计

信道编码方案设计一、实验目的1、理解信道编码的思想,掌握信道编码的编程实现原理及技术。
2、学习并理解信道编码的根本目的、技术要求与基本目标等基本概念;掌握线性分组码的物理含义、数学基础及检纠错原理;掌握循环码的码型特点、检纠错能力、编译码方法及基本技术;二、实验原理信道编码是为了提高通信的可靠性而采取的一种编码策略。
信道编码的核心基础是纠错编码理论,是在信息码后面附加上一些监督码,以便在接收端发现和纠正误码。
信道是信号从信源传送到信宿的通路。
由于信道有干扰,使得传送的数据流(码流)中产生误码。
误码的处理技术有纠错、交织、线性内插等。
信道编码的目的是提高信息传输或通信的可靠性。
信道编码的任务是降低误码率,使系统具有一定的纠错能力和抗干扰能力,提高数据传输效率。
道编码的过程是在源数据码流中加插一些码元,达到在接收端进行检错和纠错的目的。
在带宽固定的信道中,总的传送码率是固定的,由于信道编码增加了数据量,其结果只能是以降低传送有用信息码率为代价了。
三、实验步骤1、传送二进制码“ 0”的概率P0=0.6,〃1〃的概率p1=1-p0。
2、利用单极性基带信号传输,从判决输入端观测,用电平s0=0传输“0”,用电平s1=A传输“1”,信道中的噪声是加性的零均值高斯噪声,方差为柯西的平方,3、在最佳门限电平判决下传输误码率Pe与A2/柯西平方下的曲线。
4、每一个给定噪声方差下仿真传输序列长度为105bit,四、实验程序clear;s0=0;s1=5;p0=0.6;%信源概率p1=1-p0;A2_over_sigma2_dB=-5:0.5:20;% 仿真信噪比范围A2_over_sigma2=10"(A2_over_sigma2_dB./10);sigma2=s1八2./A2_over_sigma2;N=1e5;for k=1:length(sigma2)X=(randn(1,N)>p0);n=sqrt(sigma2(k)).*randn(1,N);xi=s1.*X+n;C_opt=(s0+s1)/2+sigma2(k)/(s1-s0)*log(p0./p1);y=(xi>C_opt);err(k)=(sum(X-y~=0))./N;end semilogy(A2_over_sigma2_dB,err,'>r');hold on;for k=1:length(sigma2)C_opt=(s0+s1)./2+sigma2(k)./(s1-s0).*log(p0./p1);pe0=0.5-0.5*erf((C_opt-s0)/(sqrt(2*sigma2(k))));pe1=0.5+0.5*erf((C_opt-s1)/(sqrt(2*sigma2(k))));pe(k)=p0*pe0+p1*pe1;endsemilogy(A2_over_sigma2_dB,pe);% 理论误码率曲线xlabel('A八2八sigma八2(dB)');ylabel('错误率p_e');legend('实际误码率','理论误码率');五、实验结果六、分析讨论通过这次实验,是我更加深刻的理解了信道编码的目的,并懂得了误码率的重要意义,此次实验matlab仿真较为简单,但是在画图方面有一定难度,最终我利用semilogy函数和两种不同的线性及颜色将理论误码率和实际误码率清晰的呈现在了同一张图上。
信道编码课程设计

课程设计三信道编解码()本章目标掌握数字频带传输系统调制解调的仿真过程掌握数字频带传输系统误码率仿真分析方法5.1实验目的1.使用MATLAB进行卷积码编/译码器的仿真。
2.熟练掌握MATLAB软件、语句。
3.了解卷积码编/译码器的原理、知识。
5.2实验要求1.编写源程序、准备测试数据。
2.在 MATLAB环境下完成程序的编辑、编译、运行,获得程序结果。
如果结果有误,应找出原因,并设法更正之。
5.3 实验原理(一)卷积码编码器1.连接表示卷积码由3个整数n,k,N描述。
/k n也表示编码效率(每编码比特所含的信息量);但n与线性分组码中的含义不同,不再表示分组或码子长度;N称为约束长度,表示在编码移位寄存器中k元组的级数。
卷积码不同于分组码的一个重要特征就是编码器的记忆性,即卷积码编码过程中产生的n元组,不仅是当前输入k元组的函数,而且N-个输入k元组的函数。
实际情况下,n和k经常取较小的值,而通过N 还是前面1的变化来控制编码的能力和复杂性。
下面以图1中的卷积码编码器为例介绍卷积码编码器。
该图表示一个约束长度3n=,因此,编码效率/1/2k n=。
K=的(2,1)卷积译码器,模2加法器的数目为2在每个输入比特时间上,1位信息比特移入寄存器最左端的一级,同时将寄存器中原有比特均右移一级,接着便交替采样两个模2加法器,得到的码元就是与该输入比特相对应的分支字。
对每一个输入信号比特都重复上述采样过程。
图1卷积码编码器(编码效率1/2,3K =)用于描述反馈移位寄存器实现循环码时所使用的生成多项式也可用户描述卷积码编码器的连接。
应用n 个生成多项式描述编码的移位寄存器与模2加法器的连接方式,n 个生成多项式分别对应n 个模2加法器,每个生成多项式不超过1K -阶。
仍以图1中的编码器为例,用生成多项式1()X g 代表上方连接,2()X g 代表下方连接,则有:2122()1()1X X X X X=++=+g g多项式中的最低阶项对应于寄存器的输入级。
基于FPGA技术的8B10B信道编码设计

ISSN 1002-4956 CN11-2034/T实验技术与管理Experimental Technology and Management第38卷第3期2021年3月Vol.38 No.3 M ar. 2021DOI:10.16791/ki.sjg.2021.03.009基于F P G A技术的8B/10B信道编码设计郑红党,孙彦景,李松,刘辉(中国矿业大学信息与控制工程学院,江苏徐州221116)摘要:该文在分析8B/10B编码原理的基础上,设计了改进型8B/10B编码方案。
该编码在完成高速数据信道编码功能的同时,可另外提供一路实时低速信道。
基于FPGA技术采用查表法实现了改进型编解码电路,通过仿真验证了该编码方案的有效性,并在Spartan6系列FPGA中进行了综合测试。
结果表明,此编解码方法占用的FPGA逻辑资源少,编解码速度可达到上百MB/S。
关键词:8B/10B;信道编码;F P G A;查表法中图分类号:TP306 文献标识码: A 文章编号:1002-4956(2021)03-0040-05Design of 8B/10B channel coding based on FPGAZHENG Hongdang,SUN Yanjing,LI Song,LIU Hui(School of Information and Control Engineering, China University of Mining and Technology, Xuzhou 221116, China)Abstract: Based on analyzing the principle of 8B/10B coding, an improved 8B/10B coding is designed, which can provide another real-time low-speed channel with encoding the high-speed data. Based on FPGA technology, the lookup table method is used to realize the circuit of the improved encoding and decoding. The effectiveness of the encoding scheme is verified by simulation, and the synthesis is carried out in Spartan6 series FPGA. The results show that this design takes up less FPGA logic resources, and the speed of encoding and decoding can reach hundreds of MB/s.Key words: 8B/10B; channel coding; FPGA; lookup table8B/10B编码是1983年由IBM公司提出的数据传 输编码标准,目前已广泛应用于高速串行总线[1]如SATA[2],PCI-Express[3],FiberChannel14'51,USB3.0[6]等。
数字传输系统中的信道编码设计

数字传输系统中的信道编码设计在现代通信技术中,为了保证信息传输的可靠性和安全性,通常采用信道编码的方式进行数据传输。
信道编码是一种在数字传输系统中用于纠正或检错传输信道上出现错误的技术。
它通过对数据进行加密、重复和纠错等处理,提高了数据传输的可靠性和安全性。
本文将详细介绍数字传输系统中的信道编码设计。
一、信道编码的基本原理在数字传输系统中,信号会受到各种因素的干扰和损失,如信道噪声、信号衰减、多径传播等。
这些因素会导致传输数据的出错率增加,影响传输质量。
为了降低传输出错率,可采用信道编码来提高数据传输的可靠性。
信道编码的基本原理是在发送端将信息进行编码,添加一定的冗余信息,然后在接收端根据编码方式进行解码,还原出正确的信息。
这种编码方式可以通过在信道中添加冗余信息来复制数据位,使数据在传输过程中更加稳定,从而提高数据传输的可靠性。
二、信道编码的种类在数字传输系统中,常用的信道编码有三种:前向纠错码(Forward Error Correction, FEC)、迭代解码码(Iterative Decoding Code, IDC)和分布式编码(Distributed Coding, DC)。
FEC编码是最常用的一种信道编码技术,它在发送端对原始数据进行编码处理,生成重复数据,并在接收端根据冗余的数据进行纠错。
FEC编码可以有效地降低错误率,但数据冗余较大,会增加数据传输的时间和带宽成本。
IDC编码则采用了不同的编码方式,它在传输过程中采用反馈机制,通过重复编码并纠错来降低错误率。
IDC编码具有较高的容错性,但需要更多的计算能力,会占用较多的设备资源。
DC编码是一种新型的信道编码技术,也称为网络编码。
它将多个数据流进行编码,并将多流数据随机结合成一个输出流进行传输。
DC编码具有较高的抗干扰能力和更高的传输效率,但实现难度较大,需要进行复杂的编解码处理。
三、信道编码的设计方法在数字传输系统中,可以通过选择不同的编码技术和设计合适的编码参数来实现信道编码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信道编码综合设计与建模摘要以(7,4)线性分组码为例的信道编码译码系统,它对输入的四位信息码进行Hamming编码,对于输入接收到的七位信息码进行译码,当接收到的信息码有一位错误时,可以纠正这一位错误码,进而译出正确的码组。
关键词:编码;译码;纠错;目录信道编码综合设计与建模 (1)目录 (3)1、设计要求 (4)2、设计思路 (4)3、设计原理以及方案 (4)3.1 设计原理 (4)3.2 设计方案 (5)3.2.1主程序流程图 (5)3.2.2编码器程序流程图 (6)3.2.3译码器程序流程图 (7)4、设计实现 (9)4.1 matlaB程序运行代码 (9)5、总结 (11)6、附录:程序代码 (13)1、设计要求以(7,3)或者(7,4)为分组码为例设计信道编码综合系统1.1构造编码器、解码器、信道组成的整个编码系统1.2进行编码理论分析与计算,检错、纠错能力分析与验证1.3调整系统参数,观察各点码速率,功率谱;1.4分析系统性能改善情况;2、设计思路构建一个编码器使实现译码与编码功能并且可供选择,在编码器中在得出代码之后绘制功率谱密度曲线3、设计原理以及方案3.1 设计原理设分组码(n,k)中,k=4,为能纠正一位误码,要求r≥3,现取r=3,则n=k+r=7.我们用a0a1a2a3a4a5a6表示这7个码元,用s0、s1、s2表示有三个校验方正计算得到的校正子,并假设s0、s1、s2校正子码组与五码位置的对应关系如表1所示。
图 1 (7,4)码校正子与误码位置由表可知,当误码位置在时,校正子s0=1;否则s0=0。
因此有s0=a2⊕a4⊕a5⊕a6,同理有S1=a1⊕a3⊕a4⊕a6和S2=a0⊕a3⊕a5⊕a6。
在编码时a6、a5、a4、a3为信息码元,a0、a1、a2为监督码元。
则监督码元可由以下监督方程唯一确定:由上面方程可得到图2所示的16个码组。
在接收端收到每个码组后,计算出s2、s1、s0,如果不全为0,则表示存在错误,可以由表12.2确定错误位置并予以纠正。
例如收到码组为0000011,可算出s1s2s3=011,由图2可知在a3上有一误码。
通过观察可以看出,上述(7,4)码的最小码距为dmin=3,它能纠正一个误码或检测两个误码。
如果超出纠错能力则反而会因“乱纠”出现新的误码。
图2 16个码组上述方法构造的能纠正单个误码的线性分组码又称为汉明码。
它具有以下一些特点:码长n=2m-1,最小码距为d=3,信息码长k=2n-m-1,纠错能力t=1,监督码长r=n-k=m。
这里m为≥2的正整数。
给定m后,就可构造出汉明码(n,k)。
3.2 设计方案3.2.1主程序流程图主程序一开始就有欢迎界面,并对用户显示出了选择提示语句,可以选择编码器、译码器、退出三种选择,当用户做出选择后便会进入各自的子程序,执行相应的功能,整个主程序的流程如下:图 3 主程序流程图3.2.2编码器程序流程图在程序进入编码子程序时,它首先进行清空内存,由已知的监督矩阵求出生成矩阵,接着提示输入信息码组,信息码组与生存矩阵相乘后便会得到相应的Hamming编码序列,其程序流程如下:图 4 编码器流程图3.2.3译码器程序流程图对于译码程序,它同样先对内存进行清零,然后提示用户输入接收码组,输入的接收码组有可能含有误码,故而,程序先进行纠检错,判断程序是否有错,并且有一位错码时对序列进行纠错,输出正确的码组,然后提取出信息码组,流程图如下:图 5 译码器程序流程图4、设计实现4.1 matlaB程序运行代码从程序的一开始运行就显示“(7,4)汉明码编译器:请选择编译器种类: 1:编译器 2:译码器: 0:退出>> ”的一串字样,当你输入“1”时,则又显示“请输入矩阵,不要忘加中括号”。
当输入“2”时,显示“请输入接收码组R:”。
当你输入“0”时,则退出程序。
运行结果如下图:图 6 信道功能提示界面由以上运行结果可以看出刚开始就有,接着提示界面来提示用户选择相关的编译器,来实现相关的功能,当用户做出选择后,系统又提示要输入相关的信息。
整个体系就是按照这中思路联系在了一块,这一块提示程序完成了整个系统的提示功能。
4.1 程序运行编码代码分析对于信道编码程序而言,当看到界面显示“(7,4)汉明码编译器:请选择编译器种类:请选择编译器种类: 1:编译器 2:译码器: 0:退出>> ”的一串字样,输入“1”则会显示“请输入n*4的信息码组:”,然后从提示符后输入:[0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1;0 1 0 0;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 0;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]一串信息码组后回车,便会得到编码后的码组。
运行结果如下图:图 7 程序代码过程由所示的结果可以看出编码的结果的十六种情况和设置结果是一致的,可以见得程序的编码过程是正确的。
4.1 程序运行译码代码分析图 8 编码程序分析在译码的过程中出现了顺序倒置的情况,所译码不准确,说明程序在译码这一功能不正确。
分析原因:有可能是信道编码的过程中出现了移位倒置的错误使得编码不正确。
5、总结这次编码器系统的构建在编码方面可以完成要求的功能但是在译码方面和功率谱分析方面还不完善,我又在功率谱分析上做了分析并加入功率谱代码Fs=1000; %采样频率?n=0:1/Fs:1;nfft=1024;cxn=xcorr(code,'unbiased'); %计算序列的自相关函数?CXk=fft(cxn,nfft);Pxx=abs(CXk);index=0:round(nfft/2-1);k=index*Fs/nfft;plot_Pxx=10*log10(Pxx(index+1));plot(k,plot_Pxx);图 9 编码器代码图 10 编码器功率谱密度经过改进使得编码程序得到完善可以实现基本要求功能。
6、附录:程序代码%=========================%线性分组码编译器及译码器%可实现汉明码编译器%----------********-----------*****------%Function: Hammingcodes'encode and decode%programme name:BianYi%----------********-----------*****------function BianYi%------$$$$$--------% Define variables:% H 校验矩阵% G 生成矩阵% I 输入信息序列% F 信道输出码% A 纠错输出码序列% E 差错图案% S 校验子矩阵% M 校验子矩阵的十进制序列%==========================Q=input('(7,4)汉明码编译器:\n 请选择编译器种类:\n 1:编码器 2:译码器 0:退出>>'); while(Q)%信道编码程序if(Q==1)N=7; %N为总长,包括数据位和汉明码位msg=input('请输入矩阵,不要忘加中括号'); %外部输入信号,同行的元素以空白或逗号隔开,不同行以分号隔开。
[m,n]=size(msg); %返回矩阵的行数m(即几组信号),列数n(即数据的位数)code=encode(msg,N,n,'hamming') %直接调用matlab库函数进行汉明编码Fs=1000; %采样频率?n=0:1/Fs:1;nfft=1024;cxn=xcorr(code,'unbiased'); %计算序列的自相关函数?CXk=fft(cxn,nfft);Pxx=abs(CXk);index=0:round(nfft/2-1);k=index*Fs/nfft;plot_Pxx=10*log10(Pxx(index+1));plot(k,plot_Pxx);%信道译码程序elseif(Q==2)clear allclose allH=[1 1 1 0 1 0 0;1 0 1 1 0 1 0;1 1 0 1 0 0 1]; %校验矩阵R=input('请输入接收码组R;');[a,b]=size(R);E=[0 0 0 0 0 0 0;0 0 0 0 0 0 1;0 0 0 0 0 1 0;0 0 0 0 1 0 0;0 0 0 1 0 0 0;0 0 1 0 0 0 0;0 1 0 0 0 0 0;1 0 0 0 0 0 0];S=rem(R*H',2);i=1;for i=1:1:aM(i,1)=S(i,1).*4+S(i,2).*2+S(i,3); %求校验矩阵子所表示的整数 endfor i=1:1:aswitch(M(i,1))case 0A(i,:)=R(i,:)+E(1,:);case 1A(i,:)=R(i,:)+E(2,:);case 2A(i,:)=R(i,:)+E(3,:);case 4A(i,:)=R(i,:)+E(4,:);case 3A(i,:)=R(i,:)+E(5,:);case 6A(i,:)=R(i,:)+E(6,:);case 5A(i,:)=R(i,:)+E(7,:);case 7A(i,:)=R(i,:)+E(8,:);otherwise'不可能实现'endendA=rem(A,2);disp('纠错后的码组A=');disp(A);j=1;while j<=4I(:,j)=A(:,j);j=j+1;enddisp('译出的信息序列I=');disp(I); %显示原信息码else'对不起,您输入有错误!'endQ=input('继续操作:\n 1:编码器 2:译码器 0:退出>>'); enddisp('结束');。