文档库 最新最全的文档下载
当前位置:文档库 › 增量调制编译码实验系统的设计与实现

增量调制编译码实验系统的设计与实现

增量调制编译码实验系统的设计与实现
增量调制编译码实验系统的设计与实现

增量调制编译码实验系统的设计与实现

摘要:随着集成电路和信息技术的不断发展,通信技术得到广泛的应用。而通讯系统中的模拟信号能否有效地转换为数字信号,让信号无失真的数字化传输,很大程度上依赖于增量调制有无很好的编译码过程。增量调制编译码技术就是基本的通信调制解调方式之一。

数字通信中,增量调制是预测编码中最简单的一种。它将信号瞬时值与前一个抽样时刻的量化值之差进行量化,而且只对这个差值的符号进行编码,而不对差值的大小编码。它是继PCM后出现的又一种模拟信号数字化的方法。目的在于简化模拟信号的数字化方法。主要在军事通信和卫星通信中广泛使用,有时也作为高速大规模集成电路中的A/D转换器使用。目前,随着集成电路的发展,DM的优点已不再那么显著。为了提高增量调制的质量,出现了一些改进方案,例如,增量总和调制、数字压扩式自适应增量调制等。

本文首先介绍了简单增量调制编译码系统的电路组成及工作原理。然后介绍了在数字通信中广泛采用的数字压扩自适应增量调制方式中比较简单并且实用的一种——连续可变斜率增量调制方式(CVSD)。其电路的核心部分是MC34115大规模集成电路芯片。最后根据原理知识设计出能实现增量调制编译码实验系统功能的硬件电路,得到了增量调制、解调波形。该电路具有结构简单、成本低廉、工作可靠等优点,在生活中有很强的适应性。

关键词:通信技术;增量调制;编译码;CVSD

Design for Experiment System of Delta Modulation Encoding

and Decoding

Abstract:With integrated circuits and the continuous development of information technology, communication technologies are widely applied. The communication system can efficiently convert analog signals into digital signals, so that the digital signal transmission without distortion, largely depend on the availability of good delta modulation encoding and decoding process. In particular,the DM (Delta Modulation) technology is a basic one way of communication modem.

In digital communications, delta modulation is the simplest predictive coding.It will signal the instantaneous value with a sampling time of the quantitative values to quantify the difference, and only the sign of this difference is encoded, and not the size of the difference coding. It is the second after another PCM an analog signal the digital method. Aimed at simplifying the digital method of analog signals. Mainly in military communications and satellite communications in widespread use, sometimes as large scale integrated circuits in high-speed A / D converter. Now, with the development of integrated circuits, DM advantages are less significant. In order to improve the quality of delta modulation, there have been some improvements program, for example, the total incremental modulation, digital compression and expansion-type adaptive delta modulation.

This paper describes the circuit construction and principles of the simple delta modulation encoding and decoding system,and shows a simple and practical technology about Continuously Variable Slope Delta modulator(CVSD) of expansion-type adaptive delta modulation,which is widely used in digital communications.The kernel of the circuit is a large scale integrated chip named MC34115.According to the theory of principle,design a module which is as same as delta modulation encoding and decoding experiment system,finaly get the modulating and demodulation waveform. The circuit is simple in structure, low-cost and reliable work of the advantages, in life it has a strong adaptability.

Keywords:communication technologies;Delta Modulation;encoding and decoding;CVSD

目录

1 绪论 (1)

1.1引言 (1)

1.2课题的意义 (1)

1.3目前国内外研究现状及应用 (2)

1.4本课题的主要任务和内容安排 (2)

1.4.1 主要任务 (2)

1.4.2 内容安排 (3)

2 通信系统 (4)

2.1通信系统的定义 (4)

2.2通信系统的分类 (5)

2.3通信方式的分类 (6)

2.4数字通信系统简介 (7)

2.4.1 数字通信系统模型 (7)

2.4.2 数字通信的特点 (8)

2.5调制的原因 (9)

2.6调制方式 (9)

2.7数字调制概述 (10)

3 增量调制基本原理 (11)

3.1简单增量调制 (11)

3.1.1 增量调制的基本概念 (11)

3.1.2ΔM的调制原理 (12)

3.1.3 ΔM的解调原理 (13)

3.2连续可变增量调制(CVSD)系统 (14)

4 增量调制编译码实验系统的设计 (17)

4.1关于Protel99SE的介绍 (17)

4.1.1 Protel99SE的概述 (17)

4.1.2Protel99SE的功能特点及运行设计环境 (17)

4.1.3利用Protel99SE设计电路板步骤 (18)

4.1.4 电路原理图的设计过程 (19)

4.2关于MC34115的介绍 (19)

4.3编码电路工作原理 (22)

4.3.1 电路组成 (22)

4.3.2 设计电路编码基本工作原理 (22)

4.4译码电路工作原理 (25)

4.4.1 电路组成 (25)

4.4.2 设计电路工作原理 (27)

5 设计的结果 (30)

5.1各个测量点的说明 (30)

5.2实际测量波形 (30)

6 总结 (34)

参考文献 (35)

致谢 (36)

1 绪论

1.1 引言

在科学飞速发展的今天,世界已经进入了数字化、信息化的时代。其中,通讯技术的发展最为迅速。

所谓通信就是传输数据信息,如果从发送端到接收端没有很好模数转换,即没有将模拟信号经过抽样、量化、编译码,即使能收到信号,也是一堆失真的信号。因此,在通信中为了使模拟信号很好地数字化传输,使其量化信噪比高、抗误码性能好、简单化,以便接收端能正常接收原信号,这就是调制问题。而通讯系统中的模拟信号能否有效地转换为数字信号,让信号无失真的数字化传输,很大程度上依赖于增量调制有无很好的编译码过程。

增量调制在通信系统中至关重要,为了满足网络中日益迫切的语音通信的需求,提出了一种基于增量调制算法的语音通信方案。在码率较低的情况下,获得了较好的语音通信效果,这证明了在网络中进行语音通信的可行性及其发展潜力。数字通信中,增量调制是预测编码中最简单的一种。它将信号瞬时值与前一个抽样时刻的量化值之差进行量化,而且只对这个差值的符号进行编码,而不对差值的大小编码。它是继PCM后出现的又一种模拟信号数字化的方法。目的在于简化模拟信号的数字化方法。主要在军事通信和卫星通信中广泛使用,有时也作为高速大规模集成电路中的A/D 转换器使用。目前,随着集成电路的发展,DM的优点已不再那么显著。为了提高增量调制的质量,出现了一些改进方案,例如,增量总和调制、数字压扩式自适应增量调制等。

增量(ΔM)调制是在PCM系统的基础上发展起来的,它是用一位码的PCM系统,实现模拟信号数字化的另一种方法。在PCM系统中以一组代码序列表示模拟信号的抽样值,即使采用非线性编码,抽样值也需采用7~8bit编码,一路数字话的数码率为

64kb/s,编译码设备较复杂,频带占用较宽。而ΔM是用一位二进位制码表示相邻抽样值的相对大小的方法,将模拟信号变成数字信号,一路数字话的数码率为16~

32kb/s,编译码设备较PCM系统简单,频带占用较窄。编译码设备简单,因而在军事、石油、电力等小容量通信系统中得到了广泛的应用。实用表明,该调制方式运行可靠,造价低廉,本文从实用的角度出发,对ΔM原理进行分析。

1.2 课题的意义

随着通信技术的快速发展,继PCM后又出现一种模拟信号数字化的方法,即增量调制简称ΔM或增量脉码调制方式(DM)。主要在军事通信和卫星通信中广泛使用,有时也作为高速大规模集成电路中的A/D转换器使用。

它是一种把信号上一采样的样值作为预测值的单纯预测编码方式。它将信号瞬时值与前一个抽样时刻的量化值之差进行量化,而且只对这个差值的符号进行编码,而不对差值的大小编码。因此量化只限于正和负两个电平,只用一比特传输一个样值。增量调制与PCM比较有如下特点:在比特率较低时,增量调制的量化信噪比高于PCM;增量调制抗误码性能好,可用于比特误码率为10-2—10-3的信道,而PCM 则要求10-4—10-6;增量调制通常采用单纯的比较器和积分器作编译码器(预测器),结构比PCM简单。

由于增量调制方式只考虑信号的增量,因此编译码器很简单。另外,ΔM是以单路进行编译码的,因此分路方便,对中小容量的系统既简单又经济。ΔM系统只需位同步,不要求群同步,设备简单,为小型化提供了极为有利的条件。

可见,增量调制具有设备简单,路际串音小,上下话路灵活方便,定时同步要求低,相对可靠性高,可用较低的数码率进行编码等突出优点。可广泛应用于任意选址通信、扩频通信、数字微波中继通信和卫星通信。目前,是话音数字化通信的主要通信方式之一。

1.3 目前国内外研究现状及应用

增量调制,最早是由法国工程师De Loraine于1946年提出来的,其目的在于简化模拟信号的数字化方法。在之后的几十年间有了很大发展,特别是在军事和工业部门的专用通信网和卫星通信中得到广泛应用,不仅如此,近年来在高速超大规模集成电路中已被用作A/D转换器。

八十年代不少人建议用ΔM作为信源编码,所以国内外不少科技人员在研究ΔM,希望能找出动态范围大、量化噪声小、功耗小、电路简单便于集成和成本低的系统。

我国鞍山电业局与台安微波站之间,与1997年开通了中国人民解放军第6904工厂生产的CPT-376数字微波接力特高频设备,该设备采用的就是ΔM编码。

增量调制的研究方兴未艾,新系统、新电路层出不穷。增量凋制的研究主要集中在如何以较低的速率来获得较高的话音质量。降低传输速率意味着节省了宝贵的频带。同时研究动态范围大、功耗小、电路简单便于集成的增量调制电路。如混合压扩和可变取样率混合压扩增量调制均能以16Kb/s的速率来获得近似32Kb/s的话音质量,其动态范围均能达到60分贝,既能用于话音偏码,也能用于图象偏码。一种功耗只有一般增量调制功耗四十分之一的低功耗增量调制电路也已出现。ΔM近几年来发展很快,从简单的增量调制到总和增量调制、自适应增量调制和步、可变取样率增量调制和异步增量调制等。

1.4 本课题的主要任务和内容安排

1.4.1 主要任务

1.学习增量调制编译码的基本理论知识和电路原理图。

2.在调研的基础上,运用通信原理中关于增量调制编译码的原理以及相关知识,对通信原理实验箱中的增量调制编译码电路模块进行模拟, 所设计的电路板应具有对增量调制信号进行编码和译码的功能, 并能测出相应测量点的波形。

1.4.2 内容安排

1.根据查阅的资料进行设计前期的准备工作,初步完成电路原理图。

2.根据设计的电路图将电子元件和集成芯片插装在面包板上进行电路功能的验证,包括测量各点波形。

3.验证可实现功能后,对电子元件和集成芯片进行焊接,用数字万用表对焊接电路的连通性进行反复测量,并修复虚焊点以及在焊接过程中损坏的电子元器件。

4.焊接完成并且测量无误后,按照设计任务书要求进行参数的测量、分析与比较,记录测量结果。

5.认真撰写毕业设计论文,并在指导老师的指导下补充、完善,等待最终的验收与答辩。

2 通信系统

2.1 通信系统的定义

谈到通信,我们每个人都不陌生。古代的烽火报警,就是把敌人入侵的消息通过烽火传达给远方的人们(类似的例子还有抗日战争时期的“消息树”);舰船上的灯语和旗语通过灯的闪烁和旗子的挥动与另一舰船或港口进行无声的对话;尽管通信的方式各种各样,传递的内容千差万别,但都有一个共性,那就是进行信息的传递。因此,我们对通信下一个简练的定义:所谓通信,就是信息的传递。这里“传递”可以认为是一种信息传输的过程或方式。随着计算机技术和计算机网络技术的飞速发展,计算机网络通信也进入了我们的生活。通过因特网(Internet),我们足不出户就可看报纸、听新闻、查资料、逛商店、玩游戏、上课、看病、下棋、购物、发电子邮件。网络通信丰富多彩的功能极大地拓宽了通信技术的应用领域,使通信渗入到人们物质与精神生活的各个角落成为人们日常生活中不可缺少的组成部分我们所讨论的通信不是广义上的通信,而是特指利用各种电信号和光信号作为通信信号的电通信与光通信。作为一门科学、一种技术,现代通信所研究的主要问题概括地说就是如何把信息大量地、快速地、准确地、广泛地、方便地、经济地、安全地从信源通过传输介质传送到信宿。

用于进行通信的设备硬件、软件和传输介质的集合叫做通信系统。需要强调的是,过去对通信系统的定义没有软件部分,但随着计算机进入通信系统,通信软件就成为组成通信系统的基本要素,因此我们在定义中加入软件这一模块。

从硬件上看,通信系统主要由信源、信宿、传输介质和收信、发信设备五部分组成,如图2-1所示(注意,图中的干扰可以理解为是通信系统的一部分,因为在实际应用中,一个通信系统无法彻底消除干扰)。

图2-1 模拟通信系统的一般模型

2.2 通信系统的分类

一、根据信道传输信号种类的不同,通信系统可分为两大类:模拟通信系统和数字通信系统。信道中传输模拟信号的系统称为模拟通信系统,如大家熟悉的电话、广播和电视系统;信道中传输数字信号的系统称为数字通信系统,比如数字电话通信系统。数字通信系统与模拟通信系统的主要区别是多了信源编码(解码)和信道编码(解码)功能模块,而这正是数字通信系统的特点所在。信源编码完成的是将模拟信息(模拟信号)转换成数字信号的功能(信源解码功能相反);信道编码是将信源编码输出的数字信号(一般是经自然编码后的数字信号。

自然编码指的是用高电平表示“1”,低电平表示“0”的简单编码方式)变成适合于信道传输的码型(信道解码功能相反),以提高传输的有效性和可靠性。

需要说明的是,自从有了数据通信系统之后,这种以信道传输信号的种类为标准对通信系统进行的分类就显得不够严谨,因为数据通信系统的信道可以是传输数字信号的信道,也可以是传输模拟信号的信道,或者说数据通信中的数据信号既可以以数字信号的形式在数字信道中传输(比如局域网),也可以转换成模拟信号。在模拟信道中传输(比如通过“猫”——调制解调器上网)。

根据通信技术的现状,我们认为应该在传统分类方式的基础上,结合信源和信宿所处理的信号种类对通信系统重新进行分类。这样,我们就把通信系统分为三种:模拟通信系统、数字通信系统和数据通信系统。这里需要明确模拟通信、数字通信和数据通信的概念:

(1)模拟通信一般指的是信源发出的、信宿接收的和信道传输的都是模拟信号的通信过程或方式。因此,模拟通信系统可以说是以模拟信道传输模拟信号的系统。

(2)数字通信是指信源发出和信宿接收的是模拟信号,而信道传输的是数字信号的通信过程或方式。因此,数字通信系统可以说是以数字信号的形式传输模拟信号的系统。

(3)数据通信是随计算机和计算机网络的发展而出现的一种新的通信方式,它是指信源、信宿处理的都是数字信号,而传输信道既可以是数字信道也可以是模拟信道的通信过程(方式)。

通常,数据通信主要指计算机(或数字终端)之间的通信。数字通信产生的直接原因是为了提高模拟通信的质量,所以,数字通信可以理解为是模拟通信的升级。因为对通信双方而言,它们接触的仍然是模拟信号(或模拟信息),如果只从信号传输的角度上看(不考虑保密等),数字通信与模拟通信的主要差别仅仅是前者信宿接收到的信号质量更好一点而已,但它们的信号传输方式(传输系统)却迥然不同;而数据通信在信号传输上与数字通信大致相同(先不考虑模拟信道传输),但它的信息源一般为数字信息(离散信息),所以数据通信在功能上可以认为是数字通信的延伸或分支。因此,

从技术体制上看,通信方式仍然只分为模拟通信和数字通信两种。

二、按传输介质分类

按传输介质的不同,通信系统又有无线通信系统与有线通信系统之分。利用无线电波、红外线、超声波、激光进行通信的系统统称为无线通信系统。广播系统、移动电话系统、传呼通信系统、电视系统等都是无线通信系统。而用导线(包括电缆、光缆和波导等)作为介质的通信系统就是有线通信系统,如市话系统、闭路电视系统、普通的计算机局域网等。随着通信技术、计算机技术和网络技术的飞速发展,单纯的有线或无线通信系统越来越少,实际通信系统常常是“无线”中有“有线”,“有线”中有“无线”。因此,无论是作为科学知识还是学科专业,当代的无线通信、有线通信和计算机网络三者的关系密不可分。

三、按调制方式分类

按调制与否,可分为基带通信系统和调制通信系统。所谓基带系统,传输的是基带信号(指没有经过任何调制处理的信号),而调制通信传输的是已调信号。

四、按传送信息的物理特征分类

分为电话通信系统、电报通信系统、广播通信系统、电视通信系统、数据通信系统等。

五、按工作波段分类

按使用波长可分为长波通信系统、中波通信系统、短波通信系统、微波通信系统和光通信系统等。

一种通信系统可以分属不同的种类,比如我们所熟悉的无线电广播既是中波通信系统(短波通信系统),调制通信系统、模拟通信系统,也是无线通信系统。无论怎样划分通信系统,都只是在信号处理方式、传输方式或传输介质等外在特征上做文章,其通信的实质并没改变,即大量地、快速地、准确地、广泛地、方便地、经济地、安全地传送信息。因此,我们在分析、研究、设计、搭建和使用一个通信系统时,只要抓住这个实质,就不会被系统复杂的结构、先进的技术和生涩的技术术语所迷惑。

2.3 通信方式的分类

通信方式指通信双方(或多方)之间的工作形式和信号传输方式,它是通信各方在通信实施之前必须首先确定的问题。

根据不同的标准,通信方式也有多种分类法。

(1)按通信对象数量的不同,通信方式可分为点到点通信(即通信是在两个对象之间进行)、点到多点通信(一个对象和多个对象之间的通信)和多点到多点通信三种(多个对象和多个对象之间的通信)。

(2)根据信号传输方向与传输时间的不同,任意两点间的通信方式可分为单工通信(Simplex):在任何一个时刻,信号只能从甲方向乙方单向传输,甲方只能发信,乙

方只能收信。比如广播电台与收音机、电视台与电视机的通信(点到多点)、遥控玩具、航模(点到点)、寻呼等均属此类。

半双工通信(Half―Duplex):在任何一个时刻,信号只能单向传输,或从甲方向乙方,或从乙方向甲方,每一方都不能同时收、发信息。比如对讲机、收发报机以及问询、检索等之间的通信。

双工通信(Full―Duplex):在任何一个时刻,信号能够双向传输,每一方都能同时进行收信与发信工作。比如普通电话、手机。

(3)按通信终端之间的连接方式可划分为两点间直通方式和交换方式。直通方式是通信双方直接用专线连接;而交换式的通信双方必须经过一个称为交换机的设备才能连接起来,如电话系统。

(4)按数字信号传输的顺序,在数据通信中(主要指计算机通信),通信方式又有串行通信与并行通信之分。

(5)按同步方式的不同,又分为同步通信和异步通信。

2.4 数字通信系统简介

2.4.1 数字通信系统模型

图2-2 数字通信系统模型

1.信源编码与译码

信源编码主要有两个作用:一是完成模拟信源的数字化,如果信源产生的信号是模拟信号时,首先需要对模拟信号进行数字化后才能够在数字通信系统中传输。模拟信源的数字化包括采样、量化和编码三个过程,电话系统中话音信号的数字化就是典型的模拟信源数字化的过程。信源编码的另外一个作用是为提高信息传输的有效性而采用适当的压缩技术减小信息速率。如电话系统中采用PCM编码的语音速率为64kbps,而如果采用压缩编码后,单路话音的速率则可以降低到32kbps或更低,这样在同样的信道中能够同时传输的话路就增加了。

2.信道编码与译码

信道编码的目的是为了增强通信信号的抗干扰能力。由于信号在信道传输时受到

噪声和干扰的影响,接收端恢复数字信息时可能会出现差错,为了减小接收差错,信道编码器对传输的信息按照一定的规则加入保护成分(监督元),组成差错控制编码。接收端的信道译码器按照相应的逆规则进行解码,从中发现错误或纠正错误,提高通信系统的抗干扰性。在计算机中广泛使用的奇偶校验码就是最简单的一种差错控制编码,它具有一比特差错的检错能力。

3.加密和解密

在需要实现保密通信的情况下,为了保证所传输信息的安全,人为地将被传输信息的数字序列扰乱,即加上密码,这种处理过程称为加密。接收端(通常是授权或指定的接收机)对接收到的数字序列解密,恢复明文信息。

4.数字调制和解调

基本的数字调制方式有振幅键控(ASK)、频移键控(FSK)和相移键控(PSK)。在接收端可以采用相干解调或非相干解调还原基带信号,此外还有在三种基本调制方法上发展起来的其它数字调制方式,如QPSK、QAM、OQPSK、MSK、GMSK等。

5.同步

同步是使收发两端的信号在时间上保持步调一致,是保证数字通信系统有序、准确和可靠工作的前提条件。按照同步的不同作用,可以将同步分为位同步、帧同步和网同步。同步分散在系统的各个部分,如码元同步主要在调制和基带处理部分,而帧同步通常是处在调制解调之后。

需要指出的是,图2-2给出的只是点到点数字通信系统的一般化模型,实际的数字通信系统不一定包括所有的环节,例如数字基带传输系统无需调制和解调;实际通信系统也有可能增加部分处理环节,如在信道编码或调制之前经过时分复用处理,在解调或信道解码之后加入时分解复用处理等环节。

此外,模拟信号经过数字化和编码后可以在数字通信系统中传输,如在程控电话交换网中,电话线上传输的模拟话音信号到达程控数字交换机后,在交换机内进行数字化与编码,程控数字交换机之间传输的就是数字话音信号,信号到达对端交换机后,再由数字信息恢复出模拟话音,通过电话线将模拟话音传输到对端用户电话。

2.4.2 数字通信的特点:

数字通信具有以下特点:

(1)抗干扰能力强。由于数字信号的取值个数有限(大多数情况只有0和1两个值),因此在传输过程中我们不太关心信号的绝对值,只注意相对值即可。比如设高电平5V 为1,低电平0V为0,在传输时受噪声影响,5V变成8V,而我们只要看到大于5V的值认为是5V就行了(当然,0V受干扰也可能变成8V,以致于把数据0误认为数据1。但经过信道编码后,数据0不是用简单的低电平表示,因此,这样的误码就不会出现)。同时,传输中继器可再生信号,消除噪声积累。比如一个中继器收到一个受干扰而变成

8V的信号,若是模拟通信,中继器就会原封不动地把这个8V信号放大后送往下一级,下一级接着放大再往下送,这样一级一级下去,噪声被不断地放大,形成噪声积累直到通信终端。如果是数字通信,第一个收到这个8V信号的中继器先认为该信号为一高电平信号,然后并不将该信号往下传,而是重新生成一个标准高电平信号(比如为5V)传往下一级,这样,噪声就不会像模拟通信那样被一级一级地放大,而是被中继器“隔离”,从而消除了噪声积累。

(2)便于进行信号加工与处理。由于信号可以储存,因此可以像处理照片一样对信号随意加工处理(在技术允许的范围内)。

(3)传输中出现的差错(误码)可以设法控制,提高了传输质量。

(4)数字信息易于加密且保密性强。

(5)能够传输话音、电视、数据等多种信息,增加了通信系统的灵活性和通用性。

总之,数字通信的优点很多,但事物总是一分为二的。数字通信的许多长处是以增加信号带宽为代价的。比如,一路模拟电话信号的带宽为4kHz,而一路数字电话信号大概要占20~60kHz的带宽。这说明数字通信的频带利用率低。尽管如此,数字通信仍将是未来通信的发展方向。

2.5 调制的原因

调制是把基带信号变换成适合在信道中传输的信号的技术。基带信号是原始的电信号,一般是指基本的信号波形,在数字通信中则指相应的电脉冲。在无线遥测遥控系统和无线电技术中调制就是用基带信号控制高频载波的参数(振幅、频率和相位),使这些参数随基带信号变化。用来控制高频载波参数的基带信号称为调制信号。未调制的高频电振荡称为载波(可以是正弦波,也可以是非正弦波,如方波、脉冲序列等)。被调制信号调制过的高频电振荡称为已调波或已调信号。已调信号通过信道传送到接收端,在接收端经解调后恢复成原始基带信号。解调是调制的反变换,是从已调波中提取调制信号的过程。在无线电通信中常采用双重调制。第一步用数字信号或模拟信号去调制第一个载波(称为副载波)。或在多路通信中用调制技术实现多路复用(频分多路复用和时分多路复用)。第二步用已调副载波或多路复用信号再调制一个公共载波,以便进行无线电传输。第二步调制称为二次调制。用基带信号调制高频载波,在无线电传输中可以减小天线尺寸,并便于远距离传输。应用调制技术,还能提高信号的抗干扰能力。

2.6 调制方式

调制方式按照调制信号的性质分为模拟调制和数字调制两类;按照载波的形式分为连续波调制和脉冲调制两类。模拟调制有调幅(AM)、调频(FM)和调相(PM)。数字调制有振幅键控(ASK)、移频键控(FSK)、移相键控(PSK)和差分移相键控(DPSK)

等。脉冲调制有脉幅调制(PAM)、脉宽调制(PDM)、脉频调制(PFM)、脉位调制(PPM)、脉码调制(PCM)和增量调制(ΔM)。

按照传输特性,调制方式又可分为线性调制和非线性调制。广义的线性调制,是指已调波中被调参数随调制信号成线性变化的调制过程。狭义的线性调制,指把调制信号的频谱搬移到载波频率两侧而成为上、下边带的调制过程。此时只改变频谱中各分量的频率,但不改变各分量振幅的相对比例,使上边带的频谱结构与调制信号的频谱相同,下边带的频谱结构则是调制信号频谱的镜像。狭义的线性调制有调幅(AM)、抑制载波的双边带调制(DSB-SC单边带调制(SSB)。

2.7 数字调制概述

数字信号的载波调制是信道编码的一部分,之所以在信源编码和传输通道之间插入信道编码是因为通道及相应的设备对所要传输的数字信号有一定的限制,未经处理的数字信号源不能适应这些限制。由于传输信道的频带资源总是有限的,因此在充分得利用现有资源的前提下,提高传输效率就是通信系统所追求的最重要指标之一。模拟通信很难控制传输效率,最常见到的单边带调幅(SSB)或残留边带调幅(VSB)可以节省近一半的传输频带。由于数字信号只有“0”和“1”两种状态,所以数字调制完全可以理解为像报务员用开关键控制载波的过程,因此数字信号的调制方式一般均为较简单的键控方式。

常用的数字调制技术有2ASK(Amplitude Shift Keying,幅移键控)、4ASK、8ASK、BIT/SK(Phase Shift Keying,相移键控)、QPSK、8PSK、2FSK、4FSK等,频带利用率从1bit/s/Hz~3bit/s/Hz。更有将幅度与相位联合调制的QAM(Quadrature Amplitude Modulation,正交振幅调制)技术,目前数字微波中广泛使用的256QAM,其频带利用率可达8bit/s/Hz,8倍于2ASK或BIT/SK。此外,还有可采用减小相位跳变的MSK 等特殊的调制技术,为某些专门应用环境提供了强大的工具。近年来,四维调制等高维调制技术的研究也得到了迅速发展,并已应用于高速MODEM中,为进一步提高传输效率奠定了基础。总之,数字通信所能够达到的传输效率远远高于模拟通信,调制技术的种类也远远多于模拟通信,大大提高了用户根据实际应用需要选择系统配置的灵活性。

3增量调制基本原理

3.1 简单增量调制

3.1.1 增量调制的基本概念

增量调制就是一个传输相邻两个取样瞬间差值信息的一比特编码系统,可用来将模拟话音信号波形转变成二进制比特序列的数字信号的一种调制方法。增量调制技术是在脉冲编码调制技术接近成熟的基础上,作为模拟信号数字化的另一种调制方式而提出来的。这种调制方式为模拟信号变成二进制数码提供了一种简单的编译技术。

增量调制或称增量编码,是将连续变化的模拟信号变成二进制数码的一种调制方法,它是用一位二进制数码来表示信号在此时刻的值相对于前一个取样时刻的值是增大还是减小。增大发“1”码,减小发“0”码。在增量调制中,数码“1”和“0”只表示信号相对于前一时刻是增大还是减小,不代表信号的绝对值。接收端译码每收到一个“1”码,译码器的输出相对于前一时刻的值上升一个量阶,每收到一个“0”码,相对于前一时刻的值下降一个量阶。当收到连“1”码时,表示每隔一个取样时间,连续上升一个量阶,即表示信号的建续增长。收到连“0” 码时,表示每隔一个取样时间,连续下降一个量阶,即表示信号的连续下降。这就是增量编码和译码的规则。

增量调制(DM)可以看成是一种最简单的DPCM。当DPCM系统中量化器的量化电平数取为2时,DPCM系统就成为增量调制系统。如图3-1所示,在模拟信号m(t)的曲线附近,有一条阶梯状的变化曲线m′(t),m′(t)与m(t)的形状相似。显然,只要阶梯“台阶”σ和时间间隔Ts(Δt)足够小,则m′(t)与m(t)的相似程度就会提高。对m′(t)进行滤波处理,去掉高频波动,所得到的曲线将会很好地与原曲线重合,这意味着m′(t)可以携带m(t)的全部信息。因此,m′(t)可以看成是用一个给定的“台阶”σ对m(t)进行抽样与量化后的曲线。我们把“台阶”的高度σ称为增量,用“1”表示正增量,代表向上增加一个σ;用“0”表示负增量,代表向下减少一个σ。

则这种阶梯状曲线就可用一个“0”、“1”数字序列来表示,也就是说,对m′(t)的编码只用一位二进制码即可。此时的二进制码序列不是代表某一时刻的抽样值,每一位码值反映的是曲线向上或向下的变化趋势。这种只用一位二进制编码将模拟信号变为数字序列的方法(过程)就称为增量调制(Delta Modulation),缩写为DM或ΔM调制。

增量调制最早由法国人De Loraine于1946年提出,目的是简化模拟信号的数字化方法。其主要特点是:

(1) 在比特率较低的场合,量化信噪比高于PCM。

(2) 抗误码性能好。能工作在误比特率为102~103的信道中,而PCM则要求信

道的误比特率为104~106。

(3) 设备简单、制造容易。

图3-1 增量调制波形示意图

它与PCM 的本质区别是只用一位二进制码进行编码,但这一位码不表示信号抽样值的大小,而是表示抽样时刻信号曲线的变化趋向。 3.1.2 ΔM 的调制原理

分析一下图3-1,比较在每个抽样时刻t 处的m(t)和m’(t)的值可以发现,当m(i Δt )>m’(i Δt)时,上升一个σ,发“1”码;当m(i Δt )

根据上述分析,我们给出增量调制器框图如图3-2所示。m’(i Δt)可以由编码输出的二进制序列反馈到一个理想的积分器以后得到。由于该积分器又具有解码功能,因此又称为本地解码器(译码器)。m(i Δt)和m’(i Δt)的差值,可以用一个比较电路(减法器)来完成。量化编码可以用一个双稳判决器来执行,并生成双极性二进制码序列。具体调制过程描述如下:

设m ’(0-)=0(即t=0时刻前一瞬间的量化值为零),因此有 t=0时,e(0)=m(0)-m ’(0-)>0,则Po(0)=1;

t=Δt 时,e(Δt)=m(Δt)-m ’(Δt_)>0,则Po(Δt)=1; t=2Δt 时,e(2Δt)=m(2Δt)-m ’(2Δt_)<0,则Po(2Δt)=0; t=3Δt 时,e(3Δt)=m(3Δt)-m ’(3Δt_)>0,则Po(3Δt)=1; t=4Δt 时,e(4Δt)=m(4Δt)-m ’(4Δt_)<0,则Po(4Δt)=0; t=5Δt 时,e(5Δt)=m(5Δt)-m ’(5Δt_)>0,则Po(5Δt)=1; t=6Δt 时,e(6Δt)=m(6Δt)-m ’(6Δt_)>0,则Po(6Δ

t)=1;

输出二进制波形

Ts

图3-2 增量调制器(编码器)框图

3.1.3 ΔM 的解调原理

为了完成整个通信过程,发送端调制出的信号必须在接收端通过解调恢复出原始模拟信号。ΔM 信号的解调比较简单,如图3-3所示,

用一个和本地解码器一样的积分器即可。在接收端和发送端的积分器一般都是一个RC 积分器。解调过程就是积分过程。当积分器输入“1”码时,积分器输出产生一个正斜变的电压并上升一个量化台阶σ;而当输入“0”码时,积分器输出电压就下降一个量化台阶σ。

图3-3 增量解调器(译码器)原理框图

对积分器的输出信号进行低通滤波,滤除波形中的高频成分,即可得到与原始模拟信号十分近似的解调信号,如图3-4所示。

图3-4 增量调制译码波形示意图

对解码器有两个要求:(1)每次上升或下降的大小要一致,即正负斜率大小一样。(2)解码器应具有“记忆”功能,即输入为连续“1”或“0”码时,输出能连续上升或下降。

由于简单增量调制的信号量化噪声比小,主要是量化阶距σ固定不变,即为均匀量化。对均匀量化而言,如果量阶σ取值较大,则信号斜率变化较小的信号的量化噪声就大;如果量阶取值较小,则信号斜率较大的量化噪声就大。均匀量化无法使两种噪声同时减小,以至于信号的动态范围变窄,所以简单增量调制在实际通信中没有得到应用,但是它为增量调制技术提供了理论基础。

3.2 连续可变增量调制(CVSD)系统

在语音通信中应用较为广泛的是音节压扩自适应增量调制,它是在数字码流中提取脉冲控制电压,经过音节平滑,按音节速率(也就是语音音量的平均周期)去控制量化阶距σ的。在各种音节压扩自适应增量调制中,连续可变斜率增量调制(CVSD)系统用到较多。

连续可变斜率增量调制(Continuously Variable Slope Delta Modulation),其英文缩写为CVSD,有其专用集成芯片,其型号有MC3417,MC3418,MC3517,MC34115等等。它只需要一个时钟信号,在该集成芯片的外围适当接上一些分立元器件做为辅助电路,即可实现音节压扩自适应增量调制。图3-5为CVSD编、解码器的方框图。

(a)发送端的编码器

(b) 接收端的解码器

图3-5 CVSD编码器、解码器方框图

由图3-5可知,与简单增量调制相比,发端的编码器在反馈回路中增加了自适应控制电路,即音节压扩控制电路,它由三个部分组成:

(1)斜率过载检测电路,用来检测斜率过载状态,它是由一个3比特移位寄存器构成的输出三连“1”码或三连“0”码数字逻辑电平信号,其电路由D触发器作移位寄存器电路以及与门、或门组成。因此,斜率过载检测电路也称为电平检测电路。

(2)斜率量值控制电路:用来控制量化阶距σ的大小,其电路由RC音节平滑滤波器、电压电流转换器和非线性网络组成。

(3)斜率极性控制电路:用来转化量化阶距σ的极性,当ΔS≥0时,输出为正极性,当ΔS<0,输出为负极性,其电路由脉冲幅度调制器和积分网络组成。

其电路的工作过程是这样的:在输入端,话音信号S(t)与话音信号S(t)进行比较,将其比较的结果ΔS值进行判决,若ΔS>0,则P(t)输出“1”码,若ΔS<0,则P(t)输出为“0”码,这同简单增量调制器编码方式是相同的,但是当输入话音信号S(t)中,连续出现上升沿或连续出现下降沿,或者输入信号中正斜率增大或负斜率增大,这样,在编码器的输出端P(t)中将出现连续的“1”码或连续的“0”码,这样如果不增加自适应控制电路,则将会出现S’(t)无法跟踪S(t)信号,而出现过载现象。

若电路中增加自适应控制电路,则当P(t)中连续出现“1”码或“0”码时,斜率过载检测电路则立即工作,当P(t)出现连续的“1”或“0”码时,斜率过载检测器从P(t)的返回信号中即输出码流中按三个连“1”和三个连“0”检测,其输出是一些不同宽度的正脉冲,其宽度为Tn=(K-2)Ts,K是连码的个数,Ts是取样信号周期,它们输入到斜率量值控制电路,因斜率量值器由RC音节滤波器、电压电流转换器和非线性网络组成,因而RC音节平滑滤波器把正脉冲序列进行平滑滤波,变成连续缓慢变化和直流控制电压,其变化的周期等于一个音节时间(约10ms),当P(t)出现“1”码增多时,斜率过载检测器输出的正脉冲数就相对增多,通过R对C的充电时间相对增长,放电时间相对缩短,因此,直流控制电压愈高,电压电流转换器把音节平滑滤波器输出的控制电压转换为控制电流,非线性网络使控制电流的变化规律能更好地跟随输入信号斜率的变化,提高自适应能力,扩大其动态范围。另外,斜率过载检测电路内部的P(t)输出信号还接至斜率极性控制电路内的脉幅调制器的输入端,与来自斜率量值控制电路的输入信号一起加到脉幅调制器的另一输入端,因斜率极性控制电路由脉幅调制器和积分网络组成,经过脉幅调制电路和积分网络后就形成了有正负斜率变化的再生信号P(t),脉幅调制电路的作用有二:一是使送往积分网络的电压,有正负极性的量阶;二是根据音节平滑滤波器输出的电压来改变量阶,使量阶的变化为自适应的变化,有量阶值由自适应逻辑控制。此时,当检测到三个“1”码或是“0”码,则称为3bit规则,若为四个连“1”码或是“0”码,则称为4bit规则。也就是说,CVSD的量阶变化,主要是由连码检测规则决定的,因发端的编码器是反馈方式工作,即量阶σ是从输出码流中检测的。因此,随输入信号正斜率增加,码流中连“1”

码就增多;如果负斜率增加,则连“0”码增多,对CVSD而言,只有把包络音节时间内连“1”码或连“0”的次数逐一检测出来,经过音节平滑,形成控制电压,就能得到不同输入信号斜率的量阶值,以至于再生信号S’(t)始终能跟踪上话音信号S(t)的变化,也就是当话音信号斜率小时,它的量阶值则小,当话音信号的斜率大时,则它的量阶值自适应的增大,也就是量阶值随输入信号S(t)的斜率变化而作自适应和调整,这正是连续可变斜率调整(CVSD)的工作原理。

基于MATLAB的循环码实验报告

课程名称:信息论与编码 课程设计题目:循环码的编码和译码程序设计指导教师: 系别:专业: 学号:姓名: 合作者 完成时间: 成绩:评阅人:

一、实验目的: 1、通过实验了解循环码的工作原理。 2、深刻理解RS 码构造、RS 编译码等相关概念和算法。 二、实验原理 1、RS 循环码编译码原理与特点 设C 使某 线性分组码的码字集合,如果对任C c c c C n n ∈=--),,,(021 ,它的循环 移位),,,(1032)1(---=n n n c c c c C 也属于C ,则称该 码为循环码。 该码在结构上有另外的限制,即一个码字任意循环移位的结果仍是一个有效码字。其特点是:(1)可以用反馈移位寄存器很容易实现编码和伴随式的计算;(2)由于循环码有很多固有的代数结构,从而可以找到各种简单使用的译码办法。 如果一个 线性码具有以下的属性,则称为循环码:如果n 元组 },,,{110-=n c c c c 是子空间S 的一个码字,则经过循环移位得到的},,,{201)1(--=n n c c c c 也 同样是S 中的一个码字;或者,一般来说,经过j 次循环移位后得到的 },,,,,,,{11011)(---+--=j n n j n j n j c c c c c c c 也是S 中的一个码字。 RS 码的编码系统是建立在比特组基础上的,即字节,而不是单个的0和1,因此它是非二进制BCH 码,这使得它处理突发错误的能力特别强。 码长:12-=m n 信息段:t n k 2-= (t 为纠错符号数) 监督段:k n t -=2 最小码段:12+=t d 最小距离为d 的本原RS 码的生成多项式为:g(x)=(x-α)(x -α2)(x -α3)…(x -αd -2) 信息元多项式为::m(x)=m0+m1x+m2x2+…+mk -1xk-1 循环码特点有: 1)循环码是线性分组码的一种,所以它具有线性分组的码的一般特性,且具有循环性,纠错能力强。 2)循环码是一种无权码,循环码编排的特点为相邻的两个数码之间符合卡诺中的邻接条件,即相邻数码间只有一位码元不同,因此它具有一个很好的优点是它满足邻接条件,没有瞬时错误(在数码变换过程中,在速度上会有快有慢,中间经过其他一些数码形式,即为瞬时错误)。 3)码字的循环特性,循环码中任一许用码经过牡环移位后,所得到的码组仍然是许用码组。

编译原理课程设计

《编译原理》课程设计大纲 课程编号: 课程名称:编译原理/Compiler Principles 周数/学分:1周/1学分 先修课程:高级程序设计语言、汇编语言、离散数学、数据结构 适用专业:计算机科学与技术专业、软件工程专业 开课学院,系或教研室:计算机科学与技术学院 一、课程设计的目的 课程设计是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,设计题中的问题比平时的练习题要复杂,也更接近实际。编译原理这门课程安排的课程设计的目的是旨在要求学生进一步巩固课堂上所学的理论知识,深化理解和灵活掌握教学内容,选择合适的数据逻辑结构表示问题,然后编制算法和程序完成设计要求,从而进一步培养学生独立思考问题、分析问题、解决实际问题的动手能力。 要求学生在上机前应认真做好各种准备工作,熟悉机器的操作系统和语言的集成环境,独立完成算法编制和程序代码的编写。 设计时间: 开发工具: (1) DOS环境下使用Turbo C; (2) Windows环境下使用Visual C++ 。 (3) 其它熟悉语言。 二、课程设计的内容和要求 设计题一:算术表达式的语法分析及语义分析程序设计。 1.目的

通过设计、编制、调试一个算术表达式的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词 法检查和分析。 2.设计内容及要求: 算术表达式的文法: 〈无符号整数〉∷= 〈数字〉{〈数字〉} 〈标志符〉∷= 〈字母〉{〈字母〉|〈数字〉} 〈表达式〉∷= [+|-]〈项〉{〈加法运算符〉〈项〉} 〈项〉∷= 〈因子〉{〈乘法运算符〉〈因子〉} 〈因子〉∷= 〈标志符〉|〈无符号整数〉|‘(’〈表达式〉‘)’ 〈加法运算符〉∷= +|- 〈乘法运算符〉∷= *|/ (1) 分别选择递归下降法、算符优先分析法(或简单优 先法)完成以上任务,中间代码选用逆波兰式。 (2) 分别选择LL(1)、LR法完成以上任务,中间代码选 用四元式。 (3) 写出算术表达式的符合分析方法要求的文法,给出 分析方法的思想,完成分析程序设计。 (4) 编制好分析程序后,设计若干用例,上机测试并通 过所设计的分析程序。 设计题二:简单计算器的设计 1.目的 通过设计、编制、调试一个简单计算器程序,加深对语法及语 义分析原理的理解,并实现词法分析程序对单词序列的词法检 查和分析。 2.设计内容及要求 算术表达式的文法:

汉明码编码实验报告

重庆工程学院 电子信息学院 实验报告 课程名称:_ 数据通信原理开课学期:__ 2015-2016/02_ 院(部): 电子信息学院开课实验室:实训楼512 学生姓名: 舒清清梁小凤专业班级: 1491003 学号: 149100308 149100305

重庆工程学院学生实验报告 课程名 称 数据通信原理实验项目名称汉明码编译实验 开课院系电子信息学院实验日期 2016年5月7 日 学生姓名舒清清 梁小凤 学号 149100308 149100305 专业班级网络工程三班 指导教 师 余方能实验成绩 教师评语: 教师签字:批改时间:

一、实验目的和要求 1、了解信道编码在通信系统中的重要性。 2、掌握汉明码编译码的原理。 3、掌握汉明码检错纠错原理。 4、理解编码码距的意义。 二、实验内容和原理 汉明码编码过程:数字终端的信号经过串并变换后,进行分组,分组后的数据再经过汉明码编码,数据由4bit变为7bit。 三、主要仪器设备 1、主控&信号源、6号、2号模块各一块 2、双踪示波器一台 3连接线若干

四、实验操作方法和步骤 1、关电,按表格所示进行连线 2、开电,设置主控菜单,选择【主菜单】→【通信原理】→【汉明码】。 (1)将2号模块的拨码开关S12#拨为10100000,拨码开关S22#、S32#、S42#均拨为00000000;(2)将6号模块的拨码开关S16#拨为0001,即编码方式为汉明码。开关S36#拨为0000,即无错模式。按下6号模块S2系统复位键。 3、此时系统初始状态为:2号模块提供32K编码输入数据,6号模块进行汉明编译码,无差错插入模式。 4、实验操作及波形观测。 (1)用示波器观测6号模块TH5处编码输出波形。 (2)设置2号模块拨码开关S1前四位,观测编码输出并填入下表中: 五、实验记录与处理(数据、图表、计算等) 校对输入0000,编码0000000 输入0001,编码0001011 输入0010,编码0010101 输入0011,编码0011110 输入0100,编码0100110 输入0101,编码0101101 输入0110,编码0110011输入0111,编码0111000

实验6 BCH循环码的编码与译码的matlab实现

实验6 BCH循环码的编码与译码 一、实验内容 用VC或Matlab软件编写循环BCH码的编码与译码程序。利用程序对教科书的例题做一个测试。 二、实验环境 1.计算机 2.Windows 2000 或以上 3.Microsoft Visual C++ 6.0 或以上 4.Matlab 6.0或以上 三、实验目的 1.通过BCH循环码的编码与译码程序的编写,彻底了解并掌握循环BCH的编码与译码原理 2.通过循环BCH码的编码与译码程序的编写,提高编程能力。 四、实验要求 1.提前预习实验,认真阅读实验原理以及相应的参考书。 2.对不同信道的进行误码率分析。特别是对称信道,画出误码性能图。即信道误码率与循环汉明码 之间的关系。 3.认真填写实验报告。 五、实验原理 1.循环BCH的编码与译码原理(略) 2.循环BCH的程序实现。 六、实验步骤 bch_en_decode.m文件 function bch_en_decode() code=bch155 code=code+randerr(5,15,1:3); code=rem(code,2); code=gf(code) %随机产生1-3位错误 decode=debch155(code) end function decode=debch155(code) code=gf(code); M=4; code = gf(code.x,M); [m , n]=size(code);decode=[]; code1=[]; for i=1:m ;code1=code(i,:); M=code1.m;T2=6;N=15; S = code1* ((gf(2,M,code1.prim_poly)).^([N-1:-1:0]'*([1:T2]))); LambdaX = gf([1 zeros(1,T2)],M,code1.prim_poly);

7,3循环码

****************** 实践教学 ******************* 兰州理工大学 计算机与通信学院 2014年秋季学期 计算机通信课程设计 题目:(7,3)循环码编译码软件设计 专业班级: 姓名: 学号: 指导教师: 成绩:

摘要 随着计算机通信的日益发展,传输数据的场合越来越多。串行数据的差错检验是保证数据传输正确的必要手段,而循环码是差错码中最常用的一种编码。 循环码是线性分组码中最重要的一种子类,它除了具有分组码的线性外,还具有循环性,其码字结构一般用符号(n,k)表示,其中,n是该码组中的码元数,k是信息码元位数,r=n-k是监督码元位数。循环码具有许多特殊的代数性质,这些性质有助于按照要求的纠错能力系统地构造这类码,能简化译码算法,并且目前发现的大部分线性码与循环码有密切关系。已有循环码编译码系统大多以标准逻辑器件(如中小规模TTL系列、CMOS系列)按传统数字系统设计方法设计而成,其主要缺点是逻辑规模小、功耗大、可靠性低。随着大规模、超大规模集成电路的发展,以及电子设计自动化水平的提高,这种制约正在被逐渐消除。 本文通过C 语言平台运行所编写的程序,观察了在输入信息码情况下输出对应的编码结果以及相反的译码功能。通过多组的对比验证了该(7,4)循环码的编译码程序的正确性。最后,在程序运行的过程中进步分析循环码的编译码原理,并通过比较仿真模型与理论计算的性能,证明了仿真模型的可行性。 关键词:循环码;编码;译码;程序仿真

目录 前言 (1) 1、目的及意义 (2) 2、设计原理 (3) 2.1循环码的介绍 (3) 2.1.1循环码的定义 (3) 2.1.2循环码的特点 (3) 2.1.3循环码的多项式表示 (4) 2.1.4(n,k)循环码的生成多项式 (4) 2.1.5循环码的生成矩阵和一致校验矩阵 (6) 2.2循环码编码原理 (8) 2.2.1多项式除法电路 (8) 2.3循环码译码原理 (9) 3、设计结果及分析 (11) 3.1程序运行结果 (11) 3.2运行结果理论分析 (14) 3.3软件可行性分析 (15) 4、总结 (16) 附录 (17) 参考文献 (22)

实验6 循环码的软件编、译码实验

实验六循环码的软件编、译码实验 一、实验目的 (1)通过实验了解循环码的工作原理。 (2)了解生成多项式g(x)与编码、译码的关系。 (3)了解码距d与纠、检错能力之间的关系。 (4)分析(7.3)循环码的纠错能力。 二、实验要求 用你熟悉的某种计算机高级语言或单片机汇编语言,编制一(7,3)循环码的编、译码程序,并改变接受序列R(x)和错误图样E(x),考查纠错能力情况。 设(7,3)循环码的生成多项式为:g(x)=x4+x3+x2+1 对应(11101)(1)按编、译码计算程序框图编写编、译码程序 (2)计算出所有的码字集合,可纠的错误图样E(x)表和对应的错误伴随式表。 (3)考查和分析该码检、纠一、二位错误的能力情况。 (4)整理好所有的程序清单,变量名尽量用程序框图所给名称,并作注释。 (5) 出示软件报告. 三、实验设计原理 循环码是一类很重要的线性分组码纠错码类,循环码的主要优点是编、译码器较简单,编码和译码能用同样的反馈移存器重构,在多余度相同的条件下检测能力较强,不检测的错误概率随多余度增加按指数下降。另外由于循环码具有特殊的代数结构,使得循环码的编、译码电路易于在微机上通过算法软件实现。 1、循环码编码原理 设有一(n,k)循环码,码字C=[C n-1…C r C r-1…C0],其中r=n-k。码字多项式为: C (x ) = C n-1x n-1+ C n-2x n-2+… +C1x+C0。 码字的生成多项式为: g(x)= g r-1x r-1+g r-2x r-2+…+g1x+g0 待编码的信息多项式为:m(x)=m K-1x K-1+…+m0 x n-k.m(x)=C n-1x n-1+…+C n-K x n-K

编译原理课程设计

编译原理课程设计报告 课题名称: C-语言编译器设计(scanner和parser) 提交文档学生姓名: 提交文档学生学号: 同组成员名单:无 指导教师姓名:金军 指导教师评阅成绩: 指导教师评阅意见: . . 提交报告时间: 2011年 6 月 17 日

1.课程设计目标 设计C-Minus编译器分为scanner和parser两个部分。scanner主要作用是对目标代码进行扫描,列出关键字,变量等内容;parser主要对语法进行分析并生成语法树。 2.分析与设计 ●实现方法:代码用C语言编译而成。其中scanner为手工实现,主要采用switch-case结构实现 状态转换;parser部分采用递归下降分析方法实现。 ●扫描器:C-的词法如下: 1、语言的关键字:i f el se i nt return void while 2、专用符号:+ - * /< <= > >= == != =; , ( ) [ ] { } /* */ 3、其他标记是变量(ID)和数字(NUM),通过下列正则表达式定义: ID = letter letter* NUM = di git digi t* letter = a|..|z|A|..|Z digi t = 0|..|9 4、空格由空白、换行符和制表符组成。空格通常被忽略,除了它必须分开ID、NUM关键字 5. 注释用通常的C语言符号/ * . . . * /围起来。注释可以放在任何空白出现的位置(即注释不能放在 标记内)上,且可以超过一行。注释不能嵌套 其DFA图如下:

分析器:以下为C-的语法规则BNF:

循环码编译码matlab程序

循环码编译码matlab程序 循环码编码程序 function [ C ] = cyclic_encoder( Si ) %C为循环编码的输出编码结果 %对x^8+1进行模2因式分解得到:x^8+1=(x^3+x^2+x+1)*(x^5+x^4+x+1) y=size(Si,2);%y表示Si的列数,即输入码元的个数 M=ceil(y/5);%将信息码元分成M帧,一帧5个信息码元 n=8;%循环编码的一帧码长 k=5;%信息位的个数 r=n-k;%监督位的个数 gx=[1,1,1,1];%(8,5)循环码的生成多项式g(x)=x^3+x^2+x+1 Ai=zeros(1,8*M);%Ai用来存放所输入的码元经过循环编码后的码字 Axi=zeros(1,8);%Axi用来表示循环编码后的一帧的编码输出码字 mi=zeros(1,5);%mi用来存放每一帧的信息码元 for i=1:M for j=1:5 mi(j)=Si(j+(i-1)*5); end Axi(4:8)=mi(1:5); Axi=circshift(Axi',-r)';%实现(x^(n-k))*m(x),其中m(x)的系数由mi决定 [qx,rx]=deconv(Axi,gx);%实现((x^(n-k))*m(x))/g(x),得到商q(x)和余数r(x) Axi=Axi+rx;%实现Axi(x)=Axi(x)+r(x),得到的Axi就是循环编码的编码输出码字 Ai(8*i-4:8*i)=Axi(1:5); Ai(8*i-7:8*i-5)=Axi(6:8); end %for循环是为了实现模2相加,使循环编码的输出码字Ai中只有0,1 for i=1:8*M if rem(abs(Ai(i)),2)==0 Ai(i)=0; else Ai(i)=1; end end C=Ai;%循环编码的输出码字C=Ai end

汉明码编译码

汉明码编译码 一设计思想 汉明码是一种常用的纠错码,具有纠一位错误的能力。本实验使用Matlab平台,分别用程序语言和simulink来实现汉明码的编译码。用程序语言实现就是从原理层面,通过产生生成矩阵,错误图样,伴随式等一步步进行编译码。用simulink实现是用封装好的汉明码编译码模块进行实例仿真,从而验证程序语言中的编译码和误码性能分析结果。此外,在结合之前信源编码的基础上,还可实现完整通信系统的搭建。 二实现流程 1.汉明码编译码 图 1 汉明码编译码框图 1)根据生成多项式,产生指定的生成矩阵G 2)产生随机的信息序列M 得到码字 3)由C MG 4)进入信道传输 S RH得到伴随式 5)计算=T 6)得到解码码流 7)得到解码信息序列 2.汉明码误码性能分析 误码率(SER)是指传输前后错误比特数占全部比特数的比值。 误帧率(FER)是指传输前后错误码字数占全部码字数的比值。 通过按位比较、按帧比较可以实现误码率和误帧率的统计。

3. 构建完整通信系统 图 2 完整通信系统框图 三 结论分析 1. 汉明码编译码 编写了GUI 界面方便呈现过程和结果。 图 3 汉明码编译码演示GUI 界面 以产生(7,4)汉明码为例说明过程的具体实现。 1) 根据生成多项式,产生指定的生成矩阵G 用[H,G,n,k] = hammgen(3,'D^3+D+1')函数得到系统码形式的校验矩阵H 、G 以及码字长度n 和信息位数k 100101101011100010111H ????=?????? 1 10100001101001 1100101 010001G ????? ?=?? ?? ?? 2) 产生随机的信息序列M 输入信息序列 Huffman 编码 Hamming 编码 信道Hamming 译码 Huffman 译码输出信息序列噪声

CMinus词法分析和语法分析设计编译器编译原理课程设计报告书

编译原理课程设计报告 课题名称:C- Minus词法分析和语法分析设计 提交文档学生姓名:X X X 提交文档学生学号:XXXXXXXXXX 同组成员名单:X X X 指导教师姓名:X X 指导教师评阅成绩: 指导教师评阅意见: . . 提交报告时间:2015年6月10日

1.课程设计目标 实验建立C-编译器。只含有扫描程序(scanner)和语法分析(parser)部分。 2.分析与设计 C-编译器设计的整体框架,本实验实现扫描处理和语法分析程序(图中粗黑部分)。 2.1 、扫描程序scanner部分 2.1.1系统设计思想 设计思想:根据DFA图用switch-case结构实现状态转换。 惯用词法:

①语言的关键字:else if int return void while ②专用符号:+ - * / < <= > >= == != = ; , ( ) [ ] { } /* */ ③其他标记是ID和NUM,通过下列正则表达式定义: ID = letter letter* NUM = digit digit* letter = a|..|z|A|..|Z digit = 0|..|9 大写和小写字母是有区别的 ④空格由空白、换行符和制表符组成。空格通常被忽略,除了它必须分开ID、NUM 关键字。 ⑤注释用通常的C语言符号/ * . . . * /围起来。注释可以放在任何空白出现的位置(即注释不能放在标记内)上,且可以超过一行。注释不能嵌套 scanner的DFA

说明:当输入的字符使DFA到达接受状态的时候,则可以确定一个单词了。初始状态设置为START,当需要得到下一个token时,取得次token的第一个字符,并且按照DFA与对此字符的类型分析,转换状态。重复此步骤,直到DONE为止,输出token类型。当字符为“/”时,状态转换为SLAH再判断下一个字符,如果为“*”则继续转到INCOMMENT,最后以“*”时转到ENDCOMMENT状态,表明是注释,如果其他的则是字符停滞于当前字符,并且输出“/”。 2.1.2程序流程图

循环码的编码方法研究

摘要本文对循环码的编码方法进行了深入的分析和探讨,循环码具有很高的可靠性,在通信、军事等领域应用非常广泛。关键词循环码编码中图分类号:G202文献标识码:A 0 引言循环码是线性分组码最重要的子集。它除了具有线性分组码的一般性质外,还有许多特殊的性质,这些性质有助于按照要求的纠错能力系统地构造这类码,并且简化译码算法。循环码还有易于实现的特点,很容易用带反馈的移位寄存器实现其硬件。正是由于循环码具有码的代数结构清晰、检纠错能力强、编译码易于实现,具有很高的可靠性等特点,因此在通信、军事等领域应用非常广泛。 1 循环码的相关概念 1.1 循环码的特性表1给出了(7,3)循环码的所有码字,我们可以直观的看出循环码具有如下特性:(1)封闭性。(线性性):任何许用码组的线性和还是许用码组。(2)循环性:任何许用的码组循环移位后的码组还是许用码组。表1 (7,3)循环码 1.2 循环码的码多项式用码多项式来表示来表示循环码,可以方便的利用代数理论对其进行研究。若许用码字为C = (,,…,):,码多项式可表示为:C(x) = … c1x c0其中:对于二元码组,多项式的每个系数是0或者1; x仅是码元位置的标志,并不关心x的取值。利用码多项式可以方便的表示循环移位特性。若C(x) 是一个长为n的许用码字,则xi C(x) (左乘xi)在按模xn 1运算下,亦是一个许用码字,也就是:xiC(x) = Ci(x) (模xn 1),正是C(x) 代表的码组向左循环移位次的结果。 1.3 循环码的生成多项式和生成矩阵循环码的生成多项式g(x)是一个常数项为1,且能除尽xn 1的r = n - k次多项式;循环码中其它码多项式都是g(x)的倍式。由生成多项式可以表示出生成矩阵G(x)为: 1.4 循环码的监督多项式和监督矩阵利用循环码的特点来确定监督矩阵H, 由于循环码中是的因式,因此可令:h(x) == xk hk-1xk-1 … h1x 1,这里称为监督多项式。与G(x)相对应,监督矩阵表示为: 其中:h*(x)是h(x)逆多项式,h*(x) = xk h1xk-1 h2xk-2 … hk-1x 1。 2 循环码编码的具体实现方法 2.1 利用生成矩阵编码 2.1.1 求解生成多项式根据g(x)的特性,g(x)是xn 1的一个r次因式。因此,先对xn 1进行因式分解,找到它的r次因式。以(7,3)循环码为例进行分析: 第一步:对x7 1进行因式分解得:x7 1 = (x 1)(x3 x2 1)(x3 x 1) 第二步:构造生成多项式g(x),即找r = n - k = 4次因子。不难看出,这样的因子有两个,即: (x 1)·(x3 x2 1) = x4 x2 x 1 (x 1)·(x3 x 1) = x4 x3 x2 1 2.1.2 编码由g(x)得到生成矩阵为: 循环码是线性码的一种,根据线性码编码的特点,生成矩阵确定,码组也就确定了。 C = mG 其中,C是编码之后的码字,m是信息码元序列,G是生成矩阵。 2.2 利用监督矩阵编码由h*(x)得到监督矩阵为: 根据线性码编码的特点,监督矩阵确定,码组也就确定了。 HCT = 0其中,C是编码之后的码字,H是监督矩阵。 2.3 循环码的系统码编码方法设要产生(n,k)循环码,m(x)表示信息多项式,编码步骤如下: (1)用xn-k乘m(x)。根据码多项式的特点,左乘xn-k实际上是把信息位左移位(n-k),即在信息码后加上(n-k)个“0”。例如,信息码为110,它相当于m(x) = x2 x。当n-k = 7-3 = 4时, xn-k·m(x) = x6 x5,它相当于1100000。而希望的到得系统循环码多项式应当是C(x) = xn-k·m(x) r(x) (2)求r(x)。由于循环码多项式C(x)都可以被g(x)整除,也就是: == (3)求C(x),C(x) = xn-k·m(x) r(x) 例如,对于(7,3)循环码,若选用g(x) = x4 x2 x 1,信息码110时,则: = ,求得r(x) = x2 1,这时的编码输出为:1100101。 3 结论本文深入系统地分析了循环码的编码技术。随着数字技术的高速发展,循环码纠错技术已经广泛应用于各种通信系统中。其编码和译码都可以通过简单的反馈移位寄存器来完成,实现简单,纠错能力强 ,可以降低误码率,保证数据传输的可靠性,大大提高通信质量。

编译原理课程设计

编译原理课程设计 自顶向下语法分析器 学院(系):计算机科学与技术学院学生姓名:xxxxxxxxx 学号:xxxxxxxxx 班级:电计1102 大连理工大学 Dalian University of Technology

目录

1 系统概论 语法分析是编译过程的核心部分。它的任务是在词法分析识别出单词符号串的基础上,分析并判定程序的语法结构是否符合语法规则。语法分析器在编译程序中的地位如图1所示: 图1 语法分析器在编译程序中的地位 语言的语法结构是用上下文无关文法描述的。因此,语法分析器的工作本质上就是按文法的产生式,识别输入符号串是否为一个句子。这里所说的输入串是指由单词符号(文法的终结符)组成的有限序列。对一个文法,当给你一串(终结)符号时,怎样知道它是不是该文法的一个句子呢?这就要判断,看是否能从文法的开始符号出发推导出这个输入串。或者,从概念上讲,就是要建立一棵与输入串相匹配的语法分析树。 自顶向下分析法就是语法分析办法中的一类。顾名思义,自顶向下就是从文法的开始符号出发,向下推导,推出句子。这种方法是带“回溯”的。 自顶向下分析的主旨是,对任何输入串,试图用一切可能的办法,从文法开始符号(根结)出发,自上而下地为输入串建立一棵语法树。或者说,为输入串寻找一个最左推导。这种分析过程本质上是一种试探过程,是反复使用不同产生式谋求匹配输入串的过程。 实现这种自顶向下的带回溯试探法的一个简单途径是让每个非终结符对应一个递归子程序。每个这种子程序可作为一个布尔过程。一旦发现它的某个候选与输入串相匹配,就用这个候选去扩展语法树,并返回“真”值;否则,保持原来的语法树和IP值不变,并返回“假”值。 2 需求分析 以前,人们对语法的分析都建立在人工的基础上,人工分析虽然能够做到侧类旁推,但终究人力有限,再精密的分析都会出现或多或少的错误。为减少因人为产生的错误,并加快

(7,4)循环码的编码和译码

(7,4)循环码的编码译码 编码的实验原理: 根据循环码的代数性质建立系统编码的过程,可以把消息矢量用如下多项式表示: 要编码成系统循环码形式,把消息比特移入码字寄存器的最右边k 位,而把监督比特加在最左边的n-k 个中,则要用k n x -乘以m(x)得到 k n x - m(x)= k n x - m(x)= q(x) g(x)+ p(x),其中p(x)可以表示为 p(x)= ,则p(x)+ k n x - m(x) = + 另U(x)= p(x)+ k n x - m(x),则U=(0p ,1p ,2p ,·,1--k n p ,0m ,1m ,·,1-k m )。 本实验根据以上原理,用matlab 实现书上例6.8系统形式的循 环码,生成多项式为g(x)= (7,4)循环码的编码的程序如下:clear; clc; a=[1 0 1 1]; %高次项系数在前的生成多项式 Gx=[1 0 1 1]; %将数组a 的高位依次放在数组Data 的低位 Data=zeros(1,7); Data(1)=a(4); Data(2)=a(3); Data(3)=a(2); Data(4)=a(1); %Data 除以Gx 得到余数Rx [Qx,Rx]=deconv(Data,Gx); 12211...)(m x m x m x m x m k k k k ++++=----k n k n n k n k x m x m x m x m -+-----++++0112211 (011) 1...p x p x p k n k n +++----0 111...p x p x p k n k n +++----k n k n n k n k x m x m x m x m -+-----++++0112211 (3) 1x x ++

编译原理课程设计

编译原理: 编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。编译原理是计算机专业设置的一门重要的专业课程。编译原理课程是计算机相关专业学生的必修课程和高等学校培养计算机专业人才的基础及核心课程,同时也是计算机专业课程中最难及最挑战学习能力的课程之一。编译原理课程内容主要是原理性质,高度抽象。 编译原理课程设计: 《编译原理课程设计》是2007年11月浙江大学出版社出版的图书,作者是冯雁、鲁东明、李莹。 内容简介: 本书围绕着编译技术的基本原理和方法,以模拟程序设计语言SPL的编译器的设计和实现为主线,结合词法分析、语法分析、语义分析、代码生成、代码优化、错误处理等各个基本模块,对原理和实现方法进行了详细分析。该编译器可接受SPL的程序,并将其翻译成汇编语言程序,最终实现汇编语言到8086/8088机器语言的翻译。本书为编译技术等相关课程的实验提供了参考。在附件中还提供了三类不同类型和难度的实验题,可供课程实验选择。 第1章引论: 1.1本书介绍 1.2SPL语言的特点及实验安排

1.2.1SPL语言的特点 1.2.2SPL语言编译器的主要结构1.2.3实验安排 1.3平台的选择和介绍 1.3.1LEX简介 1.3.2YACC简介 第2章词法分析: 2.1词法分析器的基本框架 2.2词法分析器的基本原理 2.2.1DFA的构造和实现 2.2.2词法分析的预处理 2.2.3实现词法分析器的注意要点2.3词法分析器的实现 2.3.1SPL语言单词属性字 2.3.2SPL词法分析器的输入和输出2.3.3SPL词法分析器的分析识别第3章语法分析: 3.1语法分析的基本框架 3.1.1上下文无关文法 3.1.2语法分析过程 3.1.3语法分析过程中的数据结构3.2语法分析的基本方法

编译原理课程设计

先简要分析一下语法分析的大致流程: 当有句子要进行处理时,首先要对其进行词法分析来分解出该句子中的每个符号,然后将该句子按照算符优先算法压入归约栈中,如果可以顺利归约,则说明这是一个合法的句子,否则该句子非法。 这里有一个需要考虑的地方,就是如何进行归约。由于文法已经给定,所以我们考虑设计一个文法表,文法表中的内容就是可归约串的种别码的顺序,比如v=E可以表示为9,1,13。这样的话当我们要进行一次归约时,只用按顺序存储最左素短语中符号的种别码,然后拿这个种别码序列与文法表进行匹配,就可知道当前归约需要执行哪些操作。 还有一点需要注意,就是如何对一个表达式进行求值。这里需要我们设计一个二元组的变量名表,这个变量名表可以根据变量的名称来返回变量的数据。变量名表的具体设计见详细设计部分。 由于是简化分析,所以这个程序只考虑整数的处理。 有了上面的分析,可以构造出算符优先分析算法的流程图,如下图所示。

详细设计 (1)词法分析部分 由于词法分析的内容在课程设计1中已经介绍,并且这次的状态转换图与课程设计1中的非常相似,所以这里就不过多介绍。(2)优先关系表 在程序中我们用一个二维数组priTable[][]来存储算符间的优先关系。priTable[a][b]=1表示a>b; 。priTable[a][b]=0表示a=b; 。priTable[a][b]=-1表示a

简述简易循环码编译码器设计

简述简易循环码编译码器设计 摘要通信系统可靠性要求系统可靠地传输消息,而信道编码旨在解决可靠性问题。循环码属于线性代码,具有严密的代数理论基础,具有良好的错误检测和纠正功能。循环码编译电路大多用移位寄存器和模2构成的线性时序网络来完成。基本电路简单,容易实现,但在体积和功能扩展上受到了限制而不能发挥更大的作用。本设计充分运用单片机的软件功能进行编码及译码纠错,可有效克服来自通信信道的干扰,保证数据通信的可靠及系统的稳定,使误码率大幅度的降低。只要改变软件算法,即可适用于不同微机、不同字长的需要。 关键词信道编码;循环码;单片机;编译码;可靠 前言 信息在有线或无线信道传输时,受外界干扰或信噪比恶化的影响,信息的传递容易发生错误,需要有效检测出错状况,进行纠错,保证信息传输的质量。前向纠错编码技术在发送端引入冗余可以实现检错和纠错,一种广泛应用前向纠错码循环码它是线性分组码中最重要的一种类别码,不光具备分组码的线性性质,还具有自身的循环性[1]。现阶段国内外基于循环码编译码方法的研究都取得了很大的进展,例如循环码在卫星通信与移动通信方面中起到很重要的作用。采用单片机编程的方法可以实现循环码编译码,成本小,通过软件升级可以适配多种码型。 1 循环码编译码原理 1.1 循环码特点 循环码隶属于线性代码,具有嚴密的代数理论基础,良好的错误检测和纠正功能,具有如下特点[2]:循环码具有线性码的封闭性,意味着线性码中的任何两个码组总和仍为这种码中的一个码组。两个信息码组之间的长度差一定是后一个信息码组的权重,码的最小距离等同于码的最小权重。循环码还具有循环的性质,任一码组不管是从按左到右还是从右到左方向循环移位,仍为该码中的一个码组。 1.2 编码原理 设信息元多项式表达式: 编码步骤可以归纳如下: ⑴用信息集合m(x)乘以信息集得到,这种运算操作其实就是在信息码后添加上(n-k)个“0”。

编译原理课程设计 C语言编译器的实现

编译原理课程设计报告 设计题目编译代码生成器设计 学生姓名 班级 学号 指导老师 成绩

一、课程设计的目的 编译原理课程兼有很强的理论性和实践性,是计算机专业的一门非常重要的专业基础课程,它在系统软件中占有十分重要的地位,是计算机专业学生的一门主修课。为了让学生能够更好地掌握编译原理的基本理论和编译程序构造的基本方法和技巧,融会贯通本课程所学专业理论知识,提高他们的软件设计能力,特设定该课程的课程设计,通过设计一个简单的PASCAL语言(EL语言)的编译程序,提高学生设计程序的能力,加深对编译理论知识的理解与应用。 二、课程设计的要求 1、明确课程设计任务,复习编译理论知识,查阅复印相关的编译资料。 2、按要求完成课程设计内容,课程设计报告要求文字和图表工整、思路清晰、算法正 确。 3、写出完整的算法框架。 4、编写完整的编译程序。 三、课程设计的内容 课程设计是一项综合性实践环节,是对平时实验的一个补充,课程设计内容包括课程的主要理论知识,但由于编译的知识量较复杂而且综合性较强,因而对一个完整的编译程序不适合平时实验。通过课程设计可以达到综合设计编译程序的目的。本课程的课程设计要求学生编写一个完整的编译程序,包括词法分析器、语法分析器以及实现对简单程序设计语言中的逻辑运算表达式、算术运算表达式、赋值语句、IF语句、While语句以及do…while语句进行编译,并生成中间代码和直接生汇编指令的代码生成器。 四、总体设计方案及详细设计 总体设计方案: 1.总体模块 主程序 词法分析程序语法分析 程序 中间代码 生成程序

2. 表2.1 各种单词符号对应的种别码 单词符号种别码单词符号种别码bgin 1 :17 If 2 := 18 Then 3 < 20 wile 4 <> 21 do 5 <= 22 end 6 > 23 lettet(letter|digit)* 10 >= 24 dight dight* 11 = 25 + 13 ;26 —14 ( 27 * 15 ) 28 / 16 # 0 详细设计: 4.1界面导入设计 (1)一共三个选项: ①choice 1--------cifafenxi ②choice 2--------yufafenxi ③choice 3--------zhongjiandaima (2)界面演示 图一

卷积码实验报告

卷积码实验报告 篇一:卷积码实验报告 实验五信道编解码() 本章目标 掌握数字频带传输系统调制解调的仿真过程掌握数字频带传输系统误码率仿真分析方法 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?1个输入k元组的函数。实际情况下,n和k经常取较小的值,而通过N的变化来控制编码的能力和复杂性。 下面以图1中的卷积码编码器为例介绍卷积码编码器。该图表示一个约束长度 K?3的(2,1)卷积译码器,模2加法器的数目为n?2,因此,编码效率k/n?1/2。 在每个输入比特时间上,1位信息比特移入寄存器最左端的一级,同时将寄存器中原有比特均右移一级,接着便交替采样两个模2加法器,得到的码元就是与该输入比特相对应的分支字。对每一个输入信号比特都重复上述采样过程。 图1卷积码编码器(编码效率1/2,K?3) 用于描述反馈移位寄存器实现循环码时所使用的生成多项式也可用户描述卷积码编码器的连接。应用n个生成多项式描述编码的移位寄存器与模2加法器的连接方式,n个生成多项式分别对应n个模2加法器,每个生成多项式不超过K?1阶。仍以图 1中的编码器为例,用生成多项式g1(X)代表上方连接,g2(X)代表下方连接,则有: g1(X)?1?X?X2g2(X)?1?X 2 多项式中的最低阶项对应于寄存器的输入级。输出序

编译原理课程设计---一个简单编译器的设计与分析

摘要 使用过现代计算机的人都知道,多数用户是应用高级语言来实现他们所需要的计算的。现在计算机系统一般都含有不只一个的高级语言的编译程序,对有些高级语言甚至配置了几个不同性能的编译程序,供用户按不同需要进行选择。高级语言编译程序是计算机系统软件最主要的组成部分之一,也是用户最直接关系的工具之一。 计算机上执行一个高级语言程序一般分为两步:第一,用一个编译程序把高级语言翻译成机器语言程序;第二,运行所得的机器语言程序求得计算结果。 通常说的翻译程序是指能够把某一种语言程序转换成另一种语言程序(目标语言程序)。如果源语言诸如Fortran,Pascal,C,Ada或java这样的高级语言,而目标程序是诸如汇编语言或者机器语言这类的低级语言,这样的一个翻译程序就是称为编译程序。 一个编译程序的工作过程一般可以划分为五个阶段:词法分析、语法分析、语义分析与中间代码生成、优化、目标代码生成。每个阶段都是从上一个阶段得到结果,对他进行分析,并且根据一些外部环境(例如符号表等)得到最终的输出结果。要构造一个编译程序,可以按照这样的阶段来分别构造,最后来连调。 现在人们已经建立了多种编制部分编译程序或整个编译程序的有效工具。有些能用于自动生成扫描器(如LEX),有些可以用于自动产生语法分析器(如YACC),有些甚至可以用来自动产生整个的编译程序。这些构造编译程序的工具成为编译程序-编译程序、编译程序产生器或翻译程序书写系统,他们是按照编译程序和目标语言的形式描述而自动产生编译程序的。 编译程序是一极其庞大而又复杂的系统,掌握它比较苦难。但是一旦对其掌握,对以后的程序语言设计,系统软件分析,系统软件设计,形式语言研究等方面都是非常有好处的。 关键字:C语言、、编译、扫描器、语法分析

循环码

实验、循环码编译码系统 一、 实验目的: 1、熟悉循环码的编译码原理; 2、掌握Quartus Ⅱ开发软件的运用,在该软件下熟练的运用多种输入方式完成各种电路设计的要求; 3、初步掌握VHDL 语言,能够运用该语言编写简单的程序,完成设计要求; 4、熟悉对PLD 的下载和仿真,学会观察测试结果的正确性; 5、学会运用各方面知识,设计并实现一个系统。 二、 实验要求: 使用Quartus Ⅱ软件,用m 序列发生器作为信号源设计循环码编译码,速率可自定,并在实验箱上调试出编码和译码波形,比较信号源和译码后的信号波形。 三、实验设备: Quartus II 软件、Modelsim 软件、FPGA 实验箱、微机1台、示波器1台 四、实验原理: 1、 循环码的编码 循环码最大的特点就是码字的循环特性,所谓循环特性是指:循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码组。若(1n a - 2n a -…… 1a 0a )为一循环码组,则(2n a - 3n a -……0a 1n a -)、(3n a - 4n a -……1n a - 2n a -)、……还是许用码组。也就是说,不论是左移还是右移,也不论移多少位,仍然是许用的循环码组。表1-2给出了一种(7,3)循环码的全部码字。 可以将循环码码组用代数多项是来表示,这个多项式被称为码多项式,对于表1-2中的任一码组可以表示为: 654326543210()A x a x a x a x a x a x a x a =++++++ (1-4) 表1-2一种(7,3)循环码的全部码字

在码多项式运算中采用按模运算法则。若一任意多项式F (x )被一个n 次多项式N (x )除,得到商式Q (x )和一个次数小于n 的余式R (x ),也就是: ()() ()()() F x R x Q x N x N x =+ (1-5) 则可以写为:F (x )≡R (x )(模N (x ))。 这时,码多项式系数仍按模2运算,即只取值0和1,假设:计算x 4+x 2+1除以x 3+1的值可得: 42233 11 11 x x x x x x x ++++=+++ (1-6) 循环码的生成多项式和生成矩阵:(全0码字除外)称为生成多项式,用g (x )表示。 可以证明生成多项式g (x )具有以下特性: (1)g (x )是一个常数项为1的r=n-k 次多项式; (2)g (x )是1n x +的一个因式; (3)该循环码中其它码多项式都是g (x )的倍式。 一旦生成多项式g (x )确定以后,该循环码的生成矩阵就可以确定,进而该循环码的所有码字就可以确定。 以表1-2的(7,3)循环码为例,来构造它的生成矩阵和生成多项式,这个循环码主要参数为,n =7,k =3,r =4。从表中可以看到,其生成多项式可以用第1码字构造: 421()()1g x A x x x x ==+++ (1-7) 2643253242()()()()1x g x x x x x G x xg x x x x x g x x x x ???? +++???? ==+++????????+++???? (1-8) 一个较简单的系统循环码编码方法:设要产生(n ,,k )循环码,m (x )表示信息多项式,则其次数必小于k ,而()n k x m x -?的次数必小于n ,用()n k x m x -?除以g (x ), 可得余数r (x ),r (x )的次数必小于(n-k ),将r (x )加到信息位后作监督位,就得到了系统 循环码。下面就将以上各步处理加以解释。 (1)用n k x -这一运算实际上是把信息码后附加上(n-k )个“0”。例如,信息码为110, 它相当于2 ()m x x x =+。当n-k =7-3=4时,65()n k x m x x x -?=+,它相当于1100000。而希望的到得系统循环码多项式应当是()()()n k A x x m x r x -=?+。 (2)求r (x )。由于循环码多项式A (x )都可以被g (x )整除,也就是:

相关文档