通信原理题目

更新时间:2023-03-08 05:15:43 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2015学年春学期

姓名: 班级: 学号: 通信原理 试题

考试形式(开、闭卷):开卷

题号 分数 得分

一、分析与计算题(40分)

1、 数字基带通信系统传输二进制数据序列1000000010, 画出该数据序列的米勒

码、传号差分码、双相码、AMI码、HDB3码的编码波形。

一 40 二 30 三 30 卷面总分 100 课 程 总 成 绩

教研室主任签字:

第1页

姓名: 班级: 学号: 2、设数字调制通信系统的载波频率为2000Hz,码元频率1000B,画出2ASK、2PSK和2DPSK的调制波形;给出调制器与解调器的组成框图,并分析其工作原理。 解:2ASK调制器与解调器:

2PSK:

教研室主任签字:

第2页

姓名: 班级: 学号:

2DPSK:

教研室主任签字:

第3页

姓名: 班级: 学号:

3、 若采用最佳接收机接收上题中的数字调制信号, 画出接收机组成框图,并分

析解调的过程。最佳接收机与普通接收机相比有何特点?

教研室主任签字:

第4页

姓名: 班级: 学号:

最佳系统与普通接收机两者之间的差别在普通接收机并没有充分利用码元时间内的信号,而只是取了其中的一个点作为判决,而最佳接收机充分利用了整个码元时间内的信号(信息)。

在理想情况下(即信道是无限宽的),两者是等价的。但是在实际应用中,最佳接收机比普通接收机性能好,非最佳接收机的性能由r?a2a2/2其中,r?2?(是信号经过带通后的信噪比)。

N0B2?nS信噪比来体现。N例如,2PSK普通接收系统的误码率为Pe误码率 Pe??1erfc2?r?,而2PSK 最佳接收系统的

?Es?EsSTSS1? ,???erfc?其中?N?2N0N0N0BTN0??而非最佳系统的N?N0B,这里B

是带通的带宽。

因此,只有当带通带宽B?T时,第六章所述的接收机才与最佳接收机性能一样。然而,实际系统中,带通滤波器的带宽要求信号完全通过(即对信号不造成失真)。假设基带信号波形为矩形的话,则1/T是基带信号频谱的第一个零点,如果带通滤波器带宽为B?T,则信号的失真太大,达不到实际接收系统的带通要求。因此,实际系统的性能肯定要比最佳接收系统的性能差。

11 教研室主任签字:

第5页

最佳接收系统相当于是最小带通带宽的接收机,因此进入判决的噪声也小。接收系统为了让信号尽可能通过,因此在接收机前端的带通滤波器带宽适当放大,

姓名: 班级: 学号: 而相关接收机相当于将信号全部通过,噪声进行再次的滤波,因此性能自然得到改善。

4、试构造(6,3)线性分组码。给出该码的生成矩阵、监督矩阵、许用码表和纠正一位错码的译码表。举例说明接收端进行检错和纠错的方法。 信息组 000 001 010 011 100 101 110 码字 000000 001011 010110 011101 100101 101110 110011 111000 111

教研室主任签字:

第6页

姓名: 班级: 学号:

教研室主任签字:

第7页

姓名: 班级: 学号:

5、试构造(7,4)循环码。给出该码的生成多项式、许用码表和纠正一位错码的译码表。举例说明接收端进行检错和纠错的方法。

教研室主任签字:

第8页

姓名: 班级: 学号:

6、要发送的数据为1101110100,采用循环冗余校验的生成序列是10011。应添加在数据后面的冗余校验码是什么? 若数据在传输过程中最后一位出现错误,接收端能否发现? 为什么? 解:1000;

不能,CRC只有一下特点: (a)可检测出所有奇数个错误; (b)可检测出所有双比特的错误;

(c)可检测出所有小于等于校验位长度的连续错误; (d)以相当大的概率检测出大于校验位长度的连续错误。

7、学生的学习成绩有A、B、C、D、E五种等级。若五种等级的概率依次为:1/16、1/4、1/2、1/8、1/16,采用算术编码对序列S=(C,E,B)进行编码。若接收端接收到二进制码流为11010,试对其进行算术译码。 解:DBC

教研室主任签字:

第9页

姓名: 班级: 学号:

8、计算机终端通过电话信道传输数据,信道带宽为4KHz,信道输出端的信噪比为30db,该终端发出由512个符号组成的独立符号序列,各符号等概率出现。计算该信道的信息传输速率和每秒钟发送的字符数。

解:由:10log10(S/N)=30dB

得:S/N=1000;

根据香农定理: C=B·Log2(l十S/N)(bps)

其中,C为信道容量,B为信道带宽,S为信号功率,N为噪声功率,S/N为信噪比。 得:C=39900bps。。

H(X)=Log2N= Log2512=9bit R=C/H=39900/9=4430符号/S

二、简答题(30分) 1、移动通信技术概述。

要点:移动通信的特点、移动通信系统的分类、组成及各组成单元的作用、GSM移动通信系统和CDMA移动通信系统中用到的通信技术及其原理介绍、移动通信系统进行呼叫管理、位置管理、信道分配、越区切换和安全控制的方法、移动通信未来的发展趋势、移动通信技术与本专业的关系等。 特点:

移动通信的电波传播环境恶劣。 多普勒频移产生附加调制。 移动通信受干扰和噪声的影响。 频谱资源紧缺。 建网技术复杂。

数字移动通信系统的特点是:

教研室主任签字:

第10页

频谱效率高。 容量大。 抗噪性能强。

姓名: 班级: 学号: 开放的接口。 网络管理与控制灵活。 安全性能好。 业务范围广。 移动通信系统的分类 1.按设备的使用环境分类

按这种方式分类,主要分为陆地移动通信、海上移动通信和航空移动通信三种类型,还有地下隧道矿井、水下潜艇和太空航天等移动通信。 2.按服务对象分类

按这种方式分类,可以分为公用和专用移动通信两种类型。在公用移动通信中,目前我国有中国移动、中国联通经营的移动电话业务。由于公用移动通信是面向社会各阶层人士的,因此称为公用网。专用移动通信是为保证某些特殊部门的通信所建立的通信系统,由于各个部门的性质和环境有很大区别,因而各个部门使用的移动通信网的技术要求也有很大差异。这些部门包括公安、消防、急救、防汛、交通管理、机场调度等。

2、在数字通信系统中,信源编码、信道编码和加密编码的作用分别是什么?试分别举出信源编码、信道编码和加密编码的算法实例,并对其原理进行介绍。 3.按系统组成结构分类

(1)蜂窝移动电话系统。蜂窝移动电话是移动通信的主体,它是具有全球性用户容量的最大移动电话网。

(2)集群调度移动电话。它可将各个部门所需的调度业务进行统一规划建设,集中管理,每个部门都可建立自己的调度中心台。它的特点是共享频率资源,共享通信设施,共享通信业务,共同分担费用,是一种专用调度系统的高级发展阶段,具有高效、廉价的自动拨号系统,频率利用率高

(3)无中心个人无线电话系统。它没有中心控制设备,这是与蜂窝网和集群网的主要区别。它将中心集中控制转化为电台分散控制,由于不设置中心控制,故可节约建网投资,并且频率利用率最高。该系统采用数字选呼方式,采用共用信道传送信令,接续速度快。由于该系统没有蜂窝移动通信系统和集群系统那样复杂,

教研室主任签字:

第11页

建网简易,投资低,性价比最高,因而适用于个人业务和小企业的单区组网分散小系统。

(4)公用无绳电话系统。公用无绳电话是公共场所,例如商场、机场、火车站等

姓名: 班级: 学号: 使用的无绳电话系统。通过无绳电话的手机可以呼入市话网,也可以实现双向呼叫。它的特点是不适用于乘车使用,只适用于步行。

(5)移动卫星通信系统。21世纪通信的最大特点是卫星通信终端手持化,个人通信实现全球化。所谓个人通信,是移动通信的进一步发展,是面向个人的通信。其实质是任何人在任何时间、任何地点,可与任何人实现任何方式的通信。只有利用卫星通信覆盖全球的特点,通过卫星系统与地面移动通信系统的结合,才能实现名符其实的全球个人通信。 4.按移动通信的业务分类

(1)按使用对象可分为民用设备和军用设备;

(2)按使用环境可分为陆地通信、海上通信和空中通信;

(3)按多址方式可分为频分多址(FDMA)、时分多址(TDMA)和码分多址(CDMA)等。

(4)按覆盖范围可分为宽域网和局域网;

(5)按业务类型可分为电话网、数据网和综合业务网;

(6)按工作方式可分为同频单工、异频单工、异频双工和半双工; (7)按服务范围可分为专用网和公用网; (8)按信号形式可分为模拟网和数字网。 移动通信系统的组成

移动通信系统一般由移动台(MobileSet,MS)、基站(BaseStation,BS)、移动业务交换中心(MobileSwitchCenter,MSC)等组成,如下图所示。

教研室主任签字:

第12页

姓名: 班级: 学号:

基站和移动台设有收发信机和天线等设备。每个基站都有一个可靠通信的业务范围,称为无线小区(通信服务区)。无线小区的大小,主要由发射功率和基站天线的高度决定。根据服务面积的大小可将移动通信网分为大区制、中区制和小区制(CellularSystem)三种。大区制是指一个通信服务区(比如一个城市)由一个无线区覆盖,此时基站发射功率很大(50W或100W以上,对手机的要求一般为50W以下),无线覆盖半径可达25km以上。其基本特点是:只有一个基站,覆盖面积大,信道数有限,一般只容纳数百到数千个用户。大区制的主要缺点是系统容量不大。为了克服这一限制,满足更大范围(大城市)、更多用户的服务,就必须采用小区制。小区制一般是指覆盖半径为2~10km的多个无线区联合而成整个服务区的制式,此时的基站发射功率很小(8~20W)。由于通常将小区绘制成六角形(实际的小区覆盖地域并非六角形),多个小区结合后看起来很像蜂窝,因此称这种组网为蜂窝网。用这种组网方式可以构成大区域、大容量的移动通信系统,进而形成全省、全国或更大的系统。 GSM移动通信系统中用到的通信技术及其原理:

GSM系统属于小区制大容量移动通信网,在它的服务区内设置有很多基站。移动通信网在此服务区内具有控制、交换功能,可实现位置更新、呼叫接续、过区切换及漫游服务等功能。

(1)GSM服务区。它是指移动台可获取服务的区域,一个服务区可由一个或若干个公用陆地移动通信网(PLMN)组成。

(2)公用陆地移动通信网(PLMN)区。它可由一个或若干个交换中心组成,在该区内具有共同的编号制度和共同的路由计划。PLMN与各种固定通信网之间的接口是MSC,由MSC完成呼叫接续。

(3)MSC区。它是指一个移动交换中心所控制的区域,通常连接一个或若干个基站控制器,每个基站控制器控制多个基站收发信机。

教研室主任签字:

第13页

(4)位置区。它一般由若干个小区(或基站区)组成,移动台在位置区内移动时无需进行位置更新。通常,呼叫移动台时向一个位置区内的所有基站同时发出呼叫信号。 (5)基站区。它是指基站收发信机有效的无线覆盖范围区,简称小区。 (6)扇区。当基站收发信天线采用定向天线时,基站区分为若干个扇区。 CDMA移动通信系统中用到的通信技术及原理:

在CDMA通信系统中,不同用户传输信息所用的信号不是靠频率不同或时隙不同来区分的,而是用各不相同的编码序列来区分的。如果从频域和时域来观察,多个CDMA信号是互相重叠的,接收机用相关器可以在多个CDMA

在CDMA蜂窝通信中,用户之间的信息传输也是由基站进行转发和控制的。为了实现双工通信,正向传输和反向传输各使用一个频率,即通常所谓的频分双工(FDD)。无论是正向传输还是反向传输,除去传输业务信息外,还必须传输相应的控制信息。为了传输不同的信息,需要设置不同的信道。但是,CDMA通信系统既不分频道又不分时隙,无论传输何种信息,其信道都靠采用不同的码型来区分。

移动通信系统进行呼叫管理、位置管理、信道分配、越区切换和安全控制的方法:

在CDMA蜂窝系统中,除去要传输业务信息外,还必须传输各种必需的控制信息。为此,CDMA蜂窝系统在基站到移动台的传输方向上设置了导频信道、同步信道、寻呼信道和正向业务信道;在移动台到基站的传输方向上设置了接入信道和反向业务信道。这些信道的示意图如图所示。

姓名: 班级: 学号:

反向业务信道如下图所示:

教研室主任签字:

第14页

姓名: 班级: 学号:

移动通信网络未来的发展趋势:

21世纪我们将进入信息社会——一个以人为本、更加注重精神粮食的社会,人性、环境和信息将成为这个社会的关键词。因此在21世纪的信息通信系统必须围绕以人为本来进行研究开发。潜在的研究方向包括:如何满足人性的需求和充分利用五个感官(触、尝、听、看、闻)及人工智能;如何通过智能化来补充人的能力;如何通过机器人和可佩带设备来实现新的通信方式;如何克服通信质量的限制来扩大人的空间。在人类通信中,如何很好地实现感情的相互传递是今后十分重要的课题。虽然可视电话和虚拟现实能够完成用户影像和活动情况(在电脑空间的有限范围之内)的传递,但是对传递感情而言它们是远远不够的。如果我们能把声音、图像或数据加在一起,再加入真实的感觉(包括通信时的感情、用户周围的氛围以及用户实际活动情况),那么就有可能建立更加充满感情的通信方式,有人把这种通信方式称作“遥现”(Telepresence)。例如,日本现正在开发一种叫“替身”(Avatar)的接口。这种接口能把你自己的实际感觉传送给有形的机器人,利用手势和机器人的摄像头来遥控机器人,完成与另一方的通信。人的脑电波、肌电能力和其它生物信息通过无线网传给替身机器人,此机器人不仅用作虚拟替身,而且还用作有重量和大小的实际替身。这种全新的无线通信方式的应用领域将极其广泛,包括公共场所、住家和娱乐场所等。 移动通信技术与本专业的关系:

软件工程:计算机学科的分支科学,是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的独立学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。

通信工程:电子工程的一个重要分支,为电子信息类子专业及基础学科,是信息科学技术发展迅速并极具活力的一个领域,典型实用有:数字移动通信、光纤通信、Internet网络通信等。主要研究方向为:实时信号与信息处理、语音与图像处理、现代传感与测量技术、信息系统与信息安全、智能信息处理、信息电力、现代电子系统、嵌入式

教研室主任签字:

第15页

系统与智能控制、模式识别与人工智能。

移动通信技术是软件与网络连接的载体,实现了软件用户之间的通讯和沟通。通过通信技术这一媒介,使得软件的应用范围更加广泛,软件的功能更加强大。

2、在数字通信系统中,信源编码、信道编码和加密编码的作用分别是什么?试分别举出信源编码、信道编码和加密编码的算法实例,并对其原理进行介绍。

信源编码作用:在二进制数字系统中,将信源的各种符号转变为1,0;

信道编码作用:由于移动通信存在干扰和衰落,在信号传输过程中将出现差错,故对

数字信号必须采用纠、检错技术,即纠、检错编码技术,以增强数据在信道中传输时抵御各种干扰的能力,提高系统的可靠性。对要在信道中传送的数字信号进行的纠、检错编码就是信道编码。通常纠错码分为两大类,即分组码和卷积码。在移动通信系统中另一种纠错方法就是信令重发,解码时先存储再逐位判决,如重发五次,三次或三次以上均为1,则判1。信道编码之所以能够检出和校正接收比特流中的差错,是因为加入一些冗余比特,把几个比特上携带的信息扩散到更多的比特上。为此付出的代价是必须传送比该信息所需要的更多的比特。

加密编码作用:把重要信息通过某种变换转换成秘密形式的信息。

信源编码算法实例: 1、香农(Shannon)编码

(1)将信源消息符号按其出现的概率大小依次排列。 (2)确定满足下列不等式的整数码长Ki。

姓名: 班级: 学号: -log2?pi??Ki??log2?pi??1

(3)计算第i个消息的累加概率。

(4)将累加概率Pi变换成二进制数,取Pi二进数的小数点后Ki位做为二进制码字。 2、费诺编码方法

(1)将信源消息符号按概率大小依次排列。

(2)将依次排列的信源符号按概率值分为两大组,使两个组的概率之和近于相同,并

对各组赋予一个二进制码元“0”和“1”。

(3)将每一大组的信源符号进一步再分成两组,使划分后的两个组的概率之和近于相

同,并又赋予两个组一个二进制符号“0”和“1”。

(5) 如此重复,直至每个组只剩下一个信源符号为止。 (5)信源符号所对应的码字即为费诺码。 3、哈夫曼编码方法

(1)将信源消息符号按其出现的概率大小依次排列。

教研室主任签字:

第16页

(2)取两个概率最小的字母分别配以0和1两个码元,并将这两个概率相加作为一个

新字母的概率,与未分配的二进符号的字母重新排队。 (3)对重排后的两个概率最小符号重复步骤(2)的过程。

(4)不断继续上述过程,直到最后两个符号配以0和1为止。 (5)从最后一级开始,向前返回得到各个信源符号所对应的码字。 信道编码算法-实例: 1、二维奇偶监督码 a0j为第j行的奇偶校验位 jjja?a?????a n?1n?20?0 能够检出第j行出现的奇数个错码

Ci为第i列的奇偶校验位

ai1?ai2?????aim?ci?0

能够检出第i列出现的奇数个错码

2、正反码:

(1)生成监督码: r=k

若k中1的个数为奇数,监督码=信息码

若k中1的个数为偶数,监督码=(信息码)反 (2)校验过程: 若k中1的个数为奇数,校验码=监督码⊕信息码

若k中1的个数为偶数,校验码=(监督码⊕信息码)反

若校验码为全0:无错码

若校验码有一个0:信息码中有一个错码,0指示错码位置。 若校验码有一个1:监督码中有一个错码,1指示错码位置。 其它:错码多于一个。

加密编码算法:

DES密码算法:DES密码就是在上述换位和替代密码的基础上发展的。将输入明

文序列分成组,每组64比特。 64比特的密钥源循环移位产生16

教研室主任签字:

姓名: 班级: 学号: 第17页

个子密钥。

三、设计题(30分)

姓名: 班级: 学号: 按下面的流程图编程实现加密算法和信源编码算法。

1、原理介绍;

2、方案论证及程序; 3、运行结果及分析。

附:英文字母的概率分布表 符号 空格 E 概率 0.2 0.105 符号 I R 概率 0.055 0.054 符号 C F,U 概率 0.023 0.0225 符号 B V 概率 0.0105 0.008 教研室主任签字:

第18页

T O A 姓名: 班级: 学号: N 0.072 0.0654 0.063 0.059 S H D L 0.052 0.047 0.035 0.029 M P Y,W G 0.021 0.0175 0.012 0.011 K X J,Q Z 0.003 0.002 0.001 0.001 1、原理、方案介绍及论证

此程序可以实现的功能有

1. 对文字进行进行 RSA 非对称加密或者置换及换位加密,确保数据的安全性 2. 对密文进行 huffman ,fano,Shannon 编码。以较高的编码效率对密文进行编码。使之占用更低的带宽。

3. 可以自动分析对一段文字的三种编码方式分别得出的编码效率。自动的选择编码效率最高的一种编码方式进行编码

4. 完成上诉一系列的功能以后,输出生成的密文和密钥

5. 通过所选定的编码方式的对输入文本信息进行二进制码元的编码。 6.解密恢复明文

本题的开发环境为matlab。方案介绍及论证如下:

1.根凯RSA 加密算法和对称加密算法,对一段文字进行加密

2.根据 huffman,fano ,shanoon 编码的原理,利用 MATLAB 语言实现 三种编码方式编码。

3. 通过相应的加密方法对输入的文字进行加密,然后通过相应的码字对输 入的字符串进行编码。得到相应的二进制码组

1.RSA 加密算法基本原理

RSA 是目前最有影响力的公钥加密算法, RSA 算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。 RSA 算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。RSA 的算法涉及三个参数,n、e1、e2。其中,n 是两个大质数 p、q 的积,n 的二进制表示时所占用的位数,就是所谓的密钥长度。e1 和 e2 是一对相关值,e1 可以任意取,但要求 e1 与(p-1)*(q-1)互质;再选择 e2,要求(e2*e1)mod((p-1)*(q-1))=1。(n 及 e1),(n 及 e2)就是密钥对。RSA 加解密的算法完全相同,设 A 为明文,B 为密文,则:A=Bê1 modn;B=Aê2 mod n;e1 和 e2 可以互换使用,即:1A=Bê2 mod n;B=Aê1 mod n;

2.对称加密算法的基本原理(在这里使用的是凯撒算法)

凯撒加密是基于一个移位替换的思想,把原为的每一个字符替换为其后面的第 n

教研室主任签字:

第19页

个字符。这种方法简单,并且保密性不好,但是这种方法体现了一个最基本的加密思想。--替换。

3.字符概率统计的基本原理

统计出输入文字中每一个字符出现的概率,为之后编码工作做好准备,因为本例中所选用的三种高效率的编码方式都是以每个字符出现概率为基础的。

4.Huffman编码原理

霍夫曼(Huffman)编码是为文本文件而建立,是一种统计编码。属于无损压缩编码。霍夫曼编码的码长是变化的,对于出现频率高的信息,编码的长度较短;而对于出现频率低的信息,编码长度较长。这样,处理全部信息的总码长一定小于实际信息的符号长度。 步骤进行:

l)将信号源的符号按照出现概率递减的顺序排列。

2)将两个最小出现概率进行合并相加,得到的结果作为新符号的出现概率。 3)重复进行步骤 1 和 2 直到概率相加的结果等于 1 为止。

4)在合并运算时,概率大的符号用编码 0 表示,概率小的符号用编码 1 表 示。

5)记录下概率为 1 处到当前信号源符号之间的 0,l 序列,从而得到每个符 号的编码。

5.Fano编码原理

首先,将信源符号以概率递减的次序排列起来,将排列好的信源符号划分成两大组。使每组的概率和近于相同,并各赋值予一个二元符号”0”,”1”然后将每一个二元码符号以此下去,直至每个小组只剩一个信源符号为止,最后有前向后读取码符号序列。这样信源符号所对应的码符号序列则为编的的码字。将概率按从大到小的顺序排列按编码进制数将概率分组,使每组概率和尽可能接近或相等。给每组分配一位码元将每一分组再按同样原则划分,重复 b 和 c,直到概率不再可分为止

6.Shanoon编码原理

香农第二定理(有噪信道编码定理)

设某信道有 r 个输入符号,s 个输出符号,信道容量为 C,当信道的信息传输率 R 码长 N 足够长,总可以在输入的集合中(含有 r^N 个长度为 N 的码符号序列),找到 M (M<=2^(N(C-a))),a 为任意小的正数)个码字,分别代表 M 个等可能性的消息,组成一个码以及相应的译码规则,使信道输出端的最小平均错误译码概率 Pmin 达到任意小。 2

教研室主任签字:

姓名: 班级: 学号: 第20页

首先信源概率降序排列,然后计算各个概率的累加概率 si。接着取 li=-log (p(si))

Li 向上取整,为码长。将累加概率 f(si)变化成二进制小数,根据码长去 相应的若干位的码字。得到香农编码

姓名: 班级: 学号: 2、程序及说明;

(1)RSA 算法的 matlab 实现. RSA 具体算法:公私钥生 随机选定两个大素数 p, q.

计算公钥和私钥的公共模数 n = pq . 计算模数 n 的欧拉函数 φ(n) .

选定一个正整数 e, 使 1 < e < φ(n) , 且 e 与φ(n)互质. 计算 d, 满足 de ≡ 1 (mod φ(n) ), (k 为某个正整数). n 与 e 决定公钥, n 与 d 决定私钥.

RSA 编码的 matlab 实现的子程序源代码 function RSA1=rsa(minwen) %minwen=input('明文序列:'); m=1;

for i=300:1:2000 k=0;

for j=2:1:(i-1) if rem(i,j)==0 k=1; break; end end if k==0 f(m)=i; m=m+1; end end n1=10;

h=ceil(n1.*rand(1,2));%产生两个随机数 p=f(h(1,1));

q=f(h(1,1)+h(1,2)); %产生两个随机互异素数

教研室主任签字:

第21页

n=p*q; %计算公钥 n Q=(p-1)*(q-1); for j=1:1:100000 k=0;

E=ceil(500*rand); for i=2:1:(Q-1)

if rem(Q,i)==0&&rem(E,i)==0 k=1; break; end end if k==0 e=E; break; end

end %计算公钥 e l1=length(minwen); b=dec2bin(e); l2=length(b); for j=1:1:l1 c=0; d=1;

for i=1:1:l2 c=2*c;

d=mod(d*d,n); if b(i)=='1' c=c+1;

d=mod(d*minwen(j),n); end end

if minwen(j)>=97&&minwen(j)<=122

miwen(j)=char(mod(d,26)+97); %明文是小写字母 elseif minwen(j)>=65&&minwen(j)<=90

miwen(j)=char(mod(d,26)+65); %明文是大写字母 else miwen(j)=d; %明文是数字 end end '密钥是'

教研室主任签字:

姓名: 班级: 学号: 第22页

disp(Q) %Q=(p-1)(q-1) disp(e)

disp(n) %私钥 n '密文是' disp(miwen) RSA1=miwen;

(2)对于对称加密算法的 MATLAB 实现。(使用的是凯撒算法)

凯撒密码算法的核心思想是密码字符向后移动若干位。将字符转换称为 ASCII 码以后,就很容易实现相应的字符的运算。其 matlab 实现的源程序如下 1.对于凯撒加密算法的 MATLAB 实现。

凯撒密码算法的核心思想是密码字符向后移动若干位。将字符转换称为 ASCII 码以后,就很容易实现相应的字符的运算。其 matlab 实现的源程序如下 function w=kaisa(w)

i=input('请输入移位个数'); w=abs(w);

for n=1:length(w) if w(n)<122-i w(n)=w(n)+i; else

w(n)=w(n)-26+i; end end '密文是' disp(w) w=setstr(w);

(3)计算出每个字符出现的概率并按照概率的大小进行排序。

排序的基本思想是利用字符串寻找函数 strfin 的。通过此函数可以知道某一个 字符在原文中出现的次数。用此数除以原文的总的长度 length(w)即为此字符 出现的概率。

function[zi,pr]=pro(w) pr=[]; zi=[];

lang=length(w); b=abs(w); i=1; c=0;

教研室主任签字:

姓名: 班级: 学号: 第23页

for m=0:1:127 l=strfind(b,(c+m)); cd=length(l); if cd~=0 p=cd/lang; pr(i)=p; zi(i)=c+m; i=i+1;

%sprintf('字符%c 的个数为%f 此字符出现的概率是%f',b+m,cd,p) End end

zi=setstr(zi) pr=pr;

(4)对计算得到的概率数据进行 huffman 编码,进行 huffman 编码时利用的 function c = huffman(p) n = size(p , 2) ;

if n == 1 %此时已合并到一棵树上了,直接返回 c = cell(1,1) ; c{1} = '' ; return end

%找最小的

[p1 , i1] = min(p) ;

index = [(1:i1-1) , (i1+1:n)] ; %这里的 index 是一个 trick

%他跟踪了现在的 p 的每个分量,在原来的 p 里面的下标 %在最后,将依据这个下标来成码 p = p(index) ; n = n - 1 ;

%找第二小的。 [p2 , i2] = min(p) ;

index2 = [(1:i2-1) , (i2+1:n)] ;

%index2 是在上一个 p 中的下标 p = p(index2);

i2 = index(i2) ;%i2 变为在原 p 中次小值的下标

index = index(index2) ;%继续跟踪现在的 p 在原 p 中的下标 p(n) = p1 + p2 ;%生成一个新节点,即合并的两个最小节点的和

教研室主任签字:

姓名: 班级: 学号: 第24页

c = huffman(p) ;%对新的 p 的序列做 huffman 编码 c{n+1} = strcat(c{n} , '1') ;%p(n)是开始合并的节点

c{n} = strcat(c{n} , '0') ;%这里从 c(n)分出两枝,对开始合并的两节点成码 %恢复原顺序

index = [index , i1 , i2] ; c(index) = c ;

(5)对计算得到的概率数据进行 fano 编码 function c = fano(p)

% p = [0.25 0.25 0.20 0.15 0.10 0.05] % c = fano(p) n = size(p , 2) ; %已经编码完成 if n == 1 c = cell(1,1); c{1} = '' ; return end

[p , index] = sort(p);%按概率排序 p = fliplr(p) ;

total = sum(p) ;%总概率 acc = 0 ;%累积概率

flag = 0 ;%是否到达尾部的标志 for i = 1:n-1

newacc = acc + p(i) ;

if abs(total - 2 * newacc) >= abs(total - 2 * acc) flag = 1 ; break; end

acc = newacc ; end if ~flag i = n ; end

split = i ;

%从分界点对两边的码递归做 fano c1 = fano(p(1:split-1)) ; c2 = fano(p(split:n)) ;

教研室主任签字:

姓名: 班级: 学号: 第25页

本文来源:https://www.bwwdw.com/article/1vb.html

Top