ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:57.88KB ,
资源ID:7154453      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7154453.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机通信课设循环码编译码.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机通信课设循环码编译码.docx

1、计算机通信课设循环码编译码摘要循环码是线性分组码中一个重要的子类,具有检错纠错能力强,实现方便 等特点。它具有严密的代数学理论,封闭性与循环性。(n,k)循环码表示信息 位为 k 位,监督位为(n-k)位。本次设计实验首先分析了(7,4)循环码的编码 与译码原理,然后,用 C 语言实现其编码与译码功能。 通过 C 语言平台运行 所编写的程序, 观察了在输入信息码情况下输出对应的编码结果以及相反的译 码功能。 通过多组的对比验证了该(7,4) 循环码的编译码程序的正确性。 最后, 在程序运行的过程中进一步分析循环码的编译码原理, 并通过比较仿真模型与 理论计算的性能,证明了仿真模型的可行性。关键

2、词 : 循环码,编码与译码,C 程序。前言现代通信的发展趋势为数字化,随着现代通信技术的不断开发,差错控制 技术已日趋成熟,在各个领域都得到了广泛的应用和认同。本文就(7,4)循环 码的编码与译码原理进行 C 语言的编程及运行仿真。 现代社会发展要求通信系 统功能越来越强,可靠性越来越高,构成也越来越复杂;这就要借助于功能强 大的计算机辅助分析设计技术和工具才能实现。现代计算机科学技术快速发 展,已经研发出了新一代的可视化的仿真软件。这些功能强大的仿真软件,使 得通信系统仿真的设计和分析过程变得相对直观和便捷, 由此也使得通信系统 仿真技术得到了更快的发展。本文使用的是功能强大的 C 语言软件

3、。 C 语言是一种使用简便的、特别适用于科学研究和工程计算的高级语言, 与其他计算机语言相比,它的特点是简洁和智能化,具有极高的编程和调试效 率。通过使用 C 工具箱函数对数字调制进行仿真,更能直观彻底的掌握循环码 的编码与译码原理。有助于我们的学习和研究,加深对知识的理解和运用。 C 的 便利 性还 体现 在 它的 仿真 结果 还可 以 存放 到的 工作 空间 里 做事 后处 理。方便我们修改参数对不同情况下的输出结果进行对比。目录第 1 章 概 述 .1第 2 章 计算机通信与纠错码 . 22.1 计算机通信的概念 . 22.2 通信的发展史简介 . 2 2.3 计算机通信介绍 . 32.

4、4 纠错码 . 32.5纠错原理 . 4第 3 章 循环码原理与介绍 . 63.1 循环码介绍 . 63.2循环码的多项式表示 . 63.3(n,k)循环码的生成多项式 . 73.4 循环码的生成矩阵和一致校验矩阵 . 7 3.5 循环码编码原理 . 83.6 循环码的译码原理 . 9第 4 章 开发平台简介 . 12 4.1 C 语言简介 . 124.2 C 语言优缺点 . 134.3 C语言结构特点 . 14第 5 章 详细编程及运行 . 165.1 基于 C 语言程序编写. 16 5.2运行结果理论分析 . 165.3程序运行结果 . 17参考文献 . 20课程设计总结 . 21致 谢

5、. 22附 录 . 23第1章 概述随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发 展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济 文化水平的显著提高,人们对生活质量及工作软件的要求也越来越高。在计算 机通信信息码中循环码是线性分组码的一个重要子集, 是目前研究得最成熟的 一类码。它有许多特殊的代数性质,它使计 算 机 通 信 以 一 种 以 数 据 通 信 形 式 出现, 现了在计算机与计算机之间或计算机与终端设备之间进行有效的 实 与正确地信息传递,它使得现代通信的可靠性与有效性实现了质的飞跃。 它是现代计算机技术与通信技术飞速发展的产物,在日常生活通

6、信领域、 武器控制系统等领域都被广泛应用。 C 语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇 编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作 为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范 围广泛,不仅仅是在软件开发上,而且各类科研都需要用到 C 语言。本 次 课 程 设 计 就 是 用 C 语 言 实 现 (7,4)循 环 码 的 编 译 码 , 通过 C 语言平台运行所 编写的程序, 观察了在输入信息码情况下输出对应的编码结果以及相反的译码 功能。通过多组的对比验证了该(7,4)循环码的编译码程序的正确性。通过程 序运行有助于按

7、所要求的纠错能力系统地构造这类码; 同时接此分析循环码检 错与纠错原理与能力。 本次课程设计就是用 C 语言编程去实现(7,4)循 环 码 的 编 码 与 译 码 ,进 而借助于此去分析其循环特性与纠错能力。第2章计算机通信与纠错码2.1.1 计算机通信的概念通信就是克服距离上的障碍,从一地向另一地传递和交换消息。消息是信 息源所产生的,是信息的物理表现,例如,语音、文字、数据、图形和图像等 都是消息(Message) 。消息由模拟消息(如语音、图像等)以及数字消息(如 数据、文字等)之分。所有消息必须在转换成电信号(通常简称为信号)后才 能在通信系统中传输。所以,信号(Signal)是传输消

8、息的手段,信号是消息 的物资载体。 相应的信号可以分为模拟信号和数字信号,模拟信号的自变量可以是连续 的或离散的,但幅度是连续的,如电话机、电视摄像机输出的信号就是模拟信 号。数字信号的自变量可以是连续的或离散的,但幅度是离散的,如计算机等 各种数字终端设备输出的信号就是数字信号。 通信的目的是传递消息,但对受信者有用的是消息中包含的有效内容,即 信息(Information) 。消息是具体的、表面的,而信息是抽象的、本质的,且 消息中包含的信息的多少可以用信息量来度量。通信技术,特别是数字通信技 术近年来发展非常迅速,它的应用越来越广泛。 数字通信系统较模拟通信系统而言,具有抗干扰能力强、便

9、于加密、易于实 现集成化、便于与计算机连接等优点。因而,数字通信更能适应对通信技术的 高要求。2.1.2 通信的发展史简介 远古时代,远距离的传递消息是以书信的形式来完成的,这种通信方式明 显具有传递时间长的缺点。为了在尽量短的时间内传递尽量多的消息,人们不 断地尝试所能找到的各种最新技术手段。1837 年发明的莫尔斯电磁式电报标志 着电通信的开始。之后,利用电进行通信的研究取得了长足的进步。1866 年利 用海底电缆实现了跨大西洋的越洋电报通信。1876 年贝耳发明了电话,利用电 信号实现了语音信号的有线传递,使信息的传递变得既迅速又准确,这标志着 模拟通信的开始,由于它比电报更便于交流使用

10、,所以直到 20 世纪前半叶这种采用模拟技术的电话通信技术比电报得到了更为迅速和广泛的发展。1937 年瑞 威斯发明的脉冲编码调制标志数字通信的开始。20 世纪 60 年代以后集成电路、 电子计算机的出现,使得数字通信迅速发展。在 70 年代末在全球发展起来的模 拟移动电话在 90 年代中期被数字移动电话所代替,现有的模拟电视也正在被数 字电视所代替。数字通信的高速率和大容量等各方面的优越性也使人们看到了 它的发展前途。2.1.3 计算机通信介绍 计算机通信是一种以数据通信形式出现, 计算机与计算机之间或计算 在 机与终端设备之间进行信息传递的方式。它是现代计算机技术与通信技术 相融合的产物,

11、在军队指挥自动化系统、武器控制系统、信息处理系统、 决 策 分 析 系 统 、情 报 检 索 系 统 以 及 办 公 自 动 化 系 统 等 领 域 得 到 了 广 泛 应 用 。 计算机通信按照传输连接方式的不同,可分为直接式和间接式两种。 直接式是指将两部计算机直接相联进行通信,可以是点对点,也可以是多 点通播。间接式是指通信双方必须通过交换网络进行传输。 按照通信覆盖地域的广度,计算机通信通常分为局域式、城域式和广 域式三类。 局域式是指在一局部的地域范围内(例如一个机关、学校、军营等) 建立计算机通信。局域计算机通信覆盖地区的直径在数公里以内。 城域式是指在一个城市范围内所建立的计算机

12、通信。城域计算机通信 覆盖地区的直径在十公里到数十公里。 广域式是指在一个广泛的地域范围内所建立的计算机通信。通信范围 可以超越城市和国家,以至于全球。广域计算机通信覆盖地区的直径一般 在数十公里到数干公里乃至上万公里。 在通常情况下,计算机通信都是由多台计算机通过通信线路连接成计 算机通信网进行的,这样可共享网络资源,充分发挥计算机系统的效能。2.2.1 纠错码 纠错码(error correcting code),在传输过程中发生错误后能在收端自行发现或纠正的码。仅用来发现错误的码一般常称为检错码。为使一种码具有检 错或纠错能力,须对原码字增加多余的码元,以扩大码字之间的差别 ,即把原 码

13、字按某种规则变成有一定剩余度(见信源编码)的码字,并使每个码字的码 之间有一定的关系。关系的建立称为编码。码字到达收端后,可以根据编码规 则是否满足以判定有无错误。当不能满足时,按一定规则确定错误所在位置并 予以纠正。纠错并恢复原码字的过程称为译码。检错码与其他手段结合使用, 可以纠错。 纠错编码又称信道编码,它与信源编码是信息传输的两个方面。它们之 间存在对偶的关系。应用信道译码直接对一些自然信息进行处理,可以去 掉剩余度,以达到压缩数据的目的。 为 了 使 一 种 码 具 有 检 错 或 纠 错 能 力 ,必 须 对 原 码 字 增 加 多 余 的 码 元 ,以 扩大码字之间的差别,使一个

14、码字在一定数目内的码元上发生错误时,不 致错成另一个码字。准确地说,即把原码字按某种规则变成有一定剩余度 的码字,并使每个码字的码元间有一定的关系。关系的建立称为编码。码 字到达收端后,用编码时所用的规则去检验。如果没有错误,则原规则一 定 满 足 ,否 则 就 不 满 足 。由 此 可 以 根 据 编 码 规 则 是 否 满 足 以 判 定 有 无 错 误 。 当不能满足时,在可纠能力之内按一定的规则确定错误所在的位置,并予 以纠正。纠错并恢复原码字的过程称为译码;码元间的关系为线性时,称 为线性码;否则称为非线性码。检错码与其他手段结合使用,可以纠错。 检 错 反 馈 重 发 系 统 (

15、ARQ 系 统 ) 就 是 一 例 。 在 构 造 纠 错 码 时 ,将 输 入 信 息 分 成 k 位 一 组 以 进 行 编 码 。若 编 出 的 校 验 位 仅 与 本 组 的 信 息 位 有 关 , 则 称 这 样 的 码 为 分组码。 若 不 仅 与 本 组 的 k 个 信息位有关,而且与前若干组的信息位有关,则称为格码。这种码之所以 称为格码,是因为用图形分析时它象篱笆或格架。线性格码在运算时为卷 积 运 算 , 所 以 叫 卷积码。 2.2.2 纠错原理纠 错 码 能 够 检 错 或 纠 错 ,主 要 是 靠 码 字 之 间 有 较 大 的 差 别 。这 可 用 码 字 之 间

16、的 汉 明 距 离 d ( x , y )来 衡 量 。 它 的 定 义 为 码 字 x 与 y 之 间 的 对 应 位 取 不同值的码元个数。一种纠错码的最小距离 d 定义为该种码中任两个码字 之 间 的 距 离 的 最 小 值 。一 种 码 要 能 发 现 e 个 错 误 ,它 的 最 小 距 离 d 应 不 小 于e +1。若 要 能 纠 正 t 个 错 误 ,则 d 应 不 小 于 2 t +1。一 个 码 字 中 非 零 码 元 的 个数,称为此码字的汉明重量。一种码中非零码字的重量的最小值,称为该码的最小重量。对线性码来说,一种码的最小重量与其最小距离在数值上 是相等的。 在构造线

17、性码时,数字上是从 n 维空间中选一 k 维子空间,且使此子 空 间 内 各 非 零 码 字 的 重 量 尽 可 能 大 。当 构 造 循 环 码 时 ,可 进 一 步 将 每 一 码 字 看 成 一 多 项 式 ,将 整 个 码 看 成 是 多 项 式 环 中 的 理 想 ,这 一 理 想 是 主 理 想 ,故 可 由 生 成 多 项 式 决 定 ;而 多 项 式 完 全 可 由 它 的 根 规 定 。这 样 ,就 容 易 对 码 进 行 构 造 和 分 析 。 这 是 BCH 码 等 循 环 码 构 造 的 出 发 点 。 一 般 地 说 , 构 造 一 种 码时,均设法将它与某种代数结构

18、相联系,以便对它进行描述,进而推导 它 的 性 质 ,估 计 它 的 性 能 和 给 出 它 的 译 码 方 法 。若 一 种 码 的 码 长 为 n ,码 字 数 为 M ,或 信 息 位 为 h ,以 及 最 小 距 离 为 d ,则 可 把 此 码 记 作【 n , M , d 】码 。若 此 码 为 线 性 码 ,常 简 记 作 ( n , k )或 ( n , k , d )码 。人 们 还 常 用 R =log2 M / n 表 示 码 的 信 息 率 或 简 称 码 率 ,单 位 为 比 特 /码 元 。 R 越 大 ,则 每 个 码 元 所 携 带 的 信 息量越大,编码效率越

19、高。 纠错码实现中最复杂的部分是译码。它是纠错码能否应用的关键。根 据 式 (1),采 用 的 码 长 n 越 大 ,则 误 码 率 越 小 。但 n 越 大 ,编 译 码 设 备 也 越 复 杂 ,且 延 迟 也 越 大 。 人 们 希 望 找 到 的 译 码 方 法 是 :误 码 率 随 码 长 n 的 增 加 按 指 数 规 律 下 降 ;译 码 的 复 杂 程 度 随 码 长 n 的 增 加 接 近 线 性 地 增 加 ;译 码 的 计 算量则与码长 n 基本无关。可惜,已经找到的码能满足这样要求的很少。 不过由于大规模集成电路的发展,既使应用比较复杂的但性能良好的码, 成本也并不太高

20、。因此,纠错码的应用越来越广泛。 纠错码传输的都是数字信号。这既可用硬件实现,也可用软件实现。 前者主要用各种数字电路,主要是采用大规模集成电路。软件实现特别适 合计算机通信网等场合。因为这时可以直接利用网中的计算机进行编码和 译码,不需要另加专用设备。硬件实现的速度较高,比软件可快几个数量 级。 在传信率一定的情况下,如果采用纠错码提高可靠性,要求信道的传 输率增加,带宽加大。因此,纠错码主要用于功率受限制而带宽较大的信 道,如卫星、散射等系统中。纠错码还用在一些可靠性要求较高,但设备 或器件的可靠性较差,而余量较大的场合,如磁带、磁盘和半导体存储器 等。 在分组码的研究中,谱分析的方法受到

21、人们的重视。纠同步错误码、算术 码、不对称码、不等错误纠正码等,也得到较多的研究。 第3章 循环码原理与介绍 循环码 原理与介绍3.1 循环码介绍循环码是线性分组码的一种,所以它具有线性分组码的一般特性,此外还具 有循环性。循环码的编码和解码设备都不太复杂,且检(纠)错能力强。它不但 可以检测随机的错误,还可以检错突发的错误。 (n,k)循环码可以检测长为 n-k 或更短的任何突发错误,包括首尾相接突发错误。 循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图中 的邻接条件,即相邻两个数码之间只有一位码元不同,码元就是组成数码的单 元。符合这个特点的有多种方案,但循环码只能是表中

22、的那种。循环码的优点 是没有瞬时错误,因为在数码变换过程中,在速度上会有快有慢,中间经过其 它一些数码形式,称它们为瞬时错误。这在某些数字系统中是不允许的,为此 希望相邻两个数码之间仅有一位码元不同,即满足邻接条件,这样就不会产生 瞬时错误。循环码就是这样一种编码,它可以在卡诺图中依次循环得到。循环 码又称格雷码( Grey Code ) 。 循环码最大的特点就是码字的循环特性,所谓循环特性是指:循环码中任一 许用码组经过循环移位后,所得到的码组仍然是许用码组。若( )为一循环码组,则()、 ()、还是许用码组。也就是说,不论是左移还是右移,也不论移多少位,仍然是许 用的循环码组。3.1.1

23、循环码的多项式表示 设码长为 n 的循环码表示为 ( a n 1 , a n 2 , a i ,a ,a10)(1)其中 a i 为二进制数,通常把码组中各码元当做二进制的系数,即把上式中 长为 n 的各个分量看做多项式: T(x) = a n 1xn 1+ a n 2xn2+ a i6xn i+ a1x +a0(2)的各项系数,则码字与码多项式一一对应,这种多项式中,x 仅表示码元位置的 标记,因此我们并不关心 x 的取值,这种多项式称为码多项式。 3.1.2 (n,k)循环码的生成多项式 (n,k)循环码的生成多项式写为 g(x),它是(n,k)循环码码集中唯一的,幂次 为 n-k 的码多

24、项式,则 x g(x)是一个幂次为 n 的码多项式。按模( x +1)运 算,此时:k nx g(x) = Q(x)+ Rn( x) x +1 x +1nk(3)k即xkg(x) R (x) 且因 ,xkg(x)也是 n 阶幂, Q(x)=1.由于它是循环码, 故 故xg(x)按模(xn+1)运算后的“余式”也是循环码的一个码字,它必能被 g(x)整除,即:R( x) =F(x) G ( x) 由以上两式可以得到:(4)xkg(x)= Q(x)( xnn+1 )+R(x)k=( xn+1 )+f(x)g(x)(5)和 x +1= x +f(x)g(x)=h(x)g(x)n(6)从上式中可以看出

25、,生成多项式 g(x)应该是 x +1 的一个因式,即循环码 多项式应该是 x +1 的一个 n-k 次因式。 3.1.3 循环码的生成矩阵和一致校验矩阵n k +i n对所有的 i=0,1,2,k-1,用生成多项式 g(x)除 x,有:xn k +i= a i (x)g(x)+ b i (x)(7)式中 b i (x)是余式,表示为:b (x)= bii , n k 1xn k 1+ b i ,1x +bi ,0(8)因此, xn k +i+ b i (x)是 g(x)的倍式,即 xn k +i+ b i (x)是码多项式,由此得到系统形式的生成矩阵为:71 0 G= M 0 0 L 0 1

26、 L 0 M O M 0 L 0b bk 1, n k 1 k 2, n k 1L L O Lb bk 1,1 k 2,1b bMMb0, n k 1b0,1k 2,0 M b 0,0 k 1,0(9)它是一个 k n 阶的矩阵。 同样,由 G H T =0 可以得到系统形式的一致校验矩阵为:bk 1,nk 1 M H= bk 1,1 bk 1,0bk 2, nk 1L O L Lb0,nk 1MMb bk 2,1k 2,0b b0,10,01 L 0 0 M O M M 0 L 1 0 0 L 0 1 (10)如已知(7,4)循环码的生成多项式和校验多项式分别为:g(x) = x 3 + x

27、 +1, h(x) = x 4 + x 2 + x +1。写得其生成矩阵和校验矩阵分别为:1 0 G= 0 0 0 1 0 01 0 1 01 1 0 10 1 1 00 0 1 10 0 0 1 (11)1 H= 0 0 3.21 1 01 1 10 1 11 0 10 1 00 0 1 (12)3.2.1循环码编译码原理 循环码编码原理(1) 有 信 息 码 构 成 信 息 多 项 式 m(x)= k-1;m xk 1k 1+ m 0 其 中 高 幂 次 为8(2) 用 xnk乘以信息多项式 m(x),得到的 xnkm(x)最高幂次为 n-1,该过程相当于把信息吗( m k 1 , m k

28、 2 , m1 , m 0 )移位到了码字 德前 k 个信息位,其后是 r 个全为零的监督位; (3) 用 g(x)除 xnkm(x)得到余式 r(x),其次数必小于 g(x)的次数,即小nk于(n-k),将此 r(x)加于信息位后做监督位,即将 r(x)于 x 相加,得到的多项式必为一码多项式。m(x)根据上面的讨论,可得到在(7,4)循环码编码的程序框图如图 1 所下图 示:初始化确定余式 r(x):确定 c(x):储存 c(x) 图 2 编码程序框图3.2.2 循环码的译码原理 纠错码的译码是该编码能否得到实际应用的关键所在。译码器往往比 编码较难实现,对于纠错能力强的纠错码更复杂。根据不同的纠错或检错 目 的 ,循 环 码 译 码 器 可 分 为 用 于 纠 错 目 的 和 用 于 检 错 目 的 的 循 环 码 译 码 器 。 通常,将接收到的循环码组进行除法运算,如果除尽,则

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1