实验1_CA码生成器
- 格式:pdf
- 大小:864.56 KB
- 文档页数:5
信息理论与编码实验教学指导书(试用教材)电子信息工程系2019年4月实验1.1 汉明码的编译码实验板实验一、实验目的1. 学习汉明码编译码的基本概念; 2. 掌握汉明码的编译码方法; 3. 验证汉明码的纠错能力。
二、实验仪器1. RZ9681实验平台 2. 实验模块: ● 主控模块● 信道编码与频带调制模块-A4 ● 频带解调与信道译码模块-A5 3. 100M 双通道示波器 4. 信号连接线 5. PC 机(二次开发)三、实验原理3.1汉明编译码介绍汉明码(Hamming Code )是一个可以有多个校验位,具有检测并纠正一位错误代码的纠错码,所以它也仅用于信道特性比较好的环境中,如以太局域网中,因为如果信道特性不好的情况下,出现的错误通常不是一位。
汉明码的检错、纠错基本思想是将有效信息按某种规律分成若干组,每组安排一个校验位进行奇偶性测试,然后产生多位检测信息,并从中得出具体的出错位置,最后通过对错误位取反(也是原来是1就变成0,原来是0就变成1)来将其纠正。
3.2汉明编译码原理汉明码编码采用()4,7汉明码,信息位数4=k ,监督位数3=-=k n r ,可以纠一位错码,生成矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1101000101010001100101110001G ,编码情况见表 1。
表 1()4,7 Hamming 编码表汉明码译码计算校正子[]321,,S S S S =,其中24561a a a a S ⊕⊕⊕= 13562a a a a S ⊕⊕⊕= 03463a a a a S ⊕⊕⊕=校正子S 的值决定了接收码元中是否有错码,并且指出错码的位置,见表2。
表2 错码位置示意3.3 举例说明信息位10013456=a a a a ,根据表 1()4,7 Hamming 编码表,编码为1001100,如果在信道传输的过程中产生一位误码,编码接收时变为1101100,我们计算校正子:124561=⊕⊕⊕=a a a a S 113562=⊕⊕⊕=a a a a S 003463=⊕⊕⊕=a a a a S校正子110=S ,查找表2 错码位置示意,5a 产生误码,则译码输出信息位1001。
浙江省杭州市九年级上科学期中专项练习实验题可能用到的相对原子质量:H1 C12 O16 Cl35.5 Ca40 Fe56 Al27 Mg24 Cu64 Zn65 Na23 Ba137Ag108 Na23浙江省杭州市华东师范大学附属杭州学校20222023学年九年级上学期科学期中实验探究题 (每空 2 分,共 42 分)1.锌和稀硫酸反应的速率与锌粒的颗粒大小和硫酸溶液的溶质质量分数大小有关。
在实验过程中,小金发现添加少量硫酸铜溶液也能加快反应。
硫酸铜溶液量的多少会影响反应速率吗?在6支试管中分别加入2颗大小形状都相同的锌粒,倒入等质量、等质量分数的稀硫酸;按下表所示条件进行实验,并测量收集50毫升氢气)锌和稀硫酸反应的化学方程式(2)小金是根据来判断稀硫酸和锌的反应速率;(3)六组实验中,小金都将水和CuSO4溶液的总体积设定为相同值,目的是。
(4)由上表可得,CuSO4溶液的量对稀硫酸与锌反应速率的影响是。
2.某矿石由MgO、Fe2O3、CuO和SiO2组成,用它制备氢氧化镁的流程如图所示:(1)溶液A中所含的阳离子有种(选填“2”或“3”或“4”)。
(2)部分金属阳离子以氢氧化物形成沉淀时溶液的pH 如表所示,则反应I中加入熟石灰,调节溶液的pH(的化学方程式。
3.华师附化学兴趣小组同学在实验室中发现一瓶忘了盖瓶盖的NaOH 固体,对其是否变质以及变质程度产生了兴趣,同学们作出了以下猜想,并进行如下实验探究:(1)[提出问题]这瓶NaOH 固体样品的成分是什么呢?[作出猜想]猜想1:只含NaOH;猜想2:只含Na2CO3;猜想3:。
(2)[实验探究]请你设计实验来说明猜想一不成立。
你的实验方案是:;(包括实验操作、实验现象和结论)(3)进一步探究过程如下:根据上述探究过程回答:①加入过量BaCl2溶液的作用是;②下列溶液可用来代替酚酞试液检验猜想3成立的是。
A.CuCl2323溶液4.小金同学在体育活动中,从铅球下落陷入沙坑的深度情况受到启发,并产生了如下猜想。
实验:基于CA的安全Web访问(可以直接使用,可编辑实用优秀文档,欢迎下载)天津理工大学实验报告学院(系)名称:计算机与通信工程学院姓名吕帅霖学号20215872 专业网络工程班级1班实验题目实验2:基于CA的安全Web访问课程名称网络安全课程代码实验时间2021 实验地点7-219 批改意见成绩教师签字:一、实验目的1.掌握证书服务的安装,理解证书的发放过程2.掌握在Web服务器上配置SSL,使用HTTPS协议访问网站以验证结果二、实验环境三台PC 一台交换机三、操作步骤(1)安装证书服务CA输入CA识别信息,此处可随意取名。
保证证书数据库及日志信息的位置默认值:开始安装:在开始—管理工具中单击证书颁发机构,打开证书颁发机构:使用IIS管理器,观察默认网站下有certsrv等虚拟目录。
在虚拟目录certsrv属性-目录安全性-身份验证和访问控制-启用匿名访问,以便允许Internet来宾账户通过访问此站点提交证书申请。
(2)在Web服务器上配置WWW服务(真实机里已有IIS),如下图所示:安装完成后,打开并设置来宾用户的访问权限:配置网站,可通过客户端IE浏览网站。
(3)接下来为web网站申请证书,打开web服务器,属性—目录安全性,选择服务器证书:选择新建证书:接着选择下一步输入名称:输入地理信息,单击下一步:按提示完成certreq.txt证书申请文件。
(4)web方式提交证书申请:打开IE浏览器,(这是运行证书服务的计算机的IP地址)选择申请一个证书,下一步:选择高级证书申请:在这里选择的是用base64编码:复制certreq.txt文件内容到下拉列表框,提交。
出现如下图所示,证书挂起:(5)手工颁发证书:打开证书颁发机构,可以查看到挂起的证书,右击所有任务—颁发证书:可以看到已经颁发了的证书:(6)下载证书:打开IE浏览器,(这是运行证书服务的计算机的IP地址),选择查看挂起的证书申请的状况:选择保存的申请证书,选择下载证书:下载证书到本地:(7)为WEB服务器安装证书,打开web服务器,属性-选择目录安全—服务器证书:选择处理挂起的请求并安装证书:浏览到刚才下载到本地的证书:保持默认端口443:查看证书:(8)下载ca证书到本地添加到信任的证书机构:打开IE浏览器,(这是运行证书服务的计算机的IP地址)在这里选择下载一个ca证书,证书链或CRL接下来下载ca证书到本地在运行里输入 mmc打开管理控制台:选择添加/删除管理单元—选择添加—选择证书:选择计算机帐户:保持默认,完成展开管理控制台,选择证书,右击出现所有任务选择导入:如下图:导入刚下载ca的证书,如下图:查看刚才打红叉的证书,现在正常了,如下图:(9)在web服务器上启用安全通道,如图选择编辑:勾选“要求安全通道(SSL)”。
实验二--卷积码编码及译码实验实验二卷积码编码及译码实验一、实验目的通过本实验掌握卷积编码的特性、产生原理及方法,卷积码的译码方法,尤其是维特比译码的原理、过程、特性及其实现方法。
二、实验内容1、观察NRZ基带信号及其卷积编码信号。
2、观察帧同步信号的生成及巴克码的特性。
3、观察卷积编码信号打孔及码速率匹配方法。
4、观察接收端帧同步过程及帧同步信号。
5、观察译码结果并深入理解维特比译码的过程。
6、观察随机差错及突发差错对卷积译码的影响。
三、基本原理1、卷积码编码卷积码是一种纠错编码,它将输入的k个信息比特编成n个比特输出,特别适合以串行形式进行传输,时延小。
卷积码编码器的形式如图17-1所示,它包括:一个由N段组成的输入移位寄存器,每段有k 段,共Nk 个寄存器;一组n 个模2和相加器;一个由n 级组成的输出移位寄存器,对应于每段k 个比特的输入序列,输出n 个比特。
12…k 12…k …12…k12…n 卷积码输出序列信息比特一次移入k 个Nk 级移位寄存器…图17-1 卷积编码器的一般形式由图17-1可以看到,n 个输出比特不仅与当前的k 个输入信息有关,还与前(N -1)k 个信息有关。
通常将N 称为约束长度(有的书中也把约束长度定为nN 或N -1)。
常把卷积码记为:(n 、k 、N ),当k =1时,N -1就是寄存器的个数。
编码效率定义为:/c R k n (17-1)卷积码的表示方法有图解表示法和解析表示法两种:解析法,它可以用数学公式直接表达,包括离散卷积法、生成矩阵法、码生成多项式法;图解表示法,包括树状图、网络图和状态图(最的图形表达形式)三种。
一般情况下,解析表示法比较适合于描述编码过程,而图形法比较适合于描述译码。
(1)图解表示法(2)解析法下面以(2,1,3)卷积编码器为例详细讲述卷积码的产生原理和表示方法。
(2,1,3)卷积码的约束长度为3,编码速率为1/2,编码器的结构如图17-2所示。
Harbin Institute of Technology信息论与编码报告题目:循环码编译码实验院(系)电子与信息工程学院班级通信1班学生学号序号哈尔滨工业大学循环码编译码实验1 设计内容循环码是线性分组码中最重要的一类码,它的结构完全建立在有限域多项式的基础上,它具有两个基本特点:一是编码电路与译码电路非常简单,易于实现;二是其代数性质好,分析方便,有一定的成熟的译码方法。
一个(n ,k )线性分组码C ,如果码组中的一个码字的循环移位也是这个码组中的一个码字,则称C 为循环码。
本实验主要完成以下四项内容:(1)利用(7,4)系统循环码的生成多项式为:3()1g x x x =++,请设计该循环码的编码器。
(2)随机产生重量为0或1的八种错误图样中的一种,得到实际接收码字。
(3)根据接收到的码字进行译码,译码方式分为校验子译码和梅吉特译码两种。
(4)对于在BSC 信道传输时的情形进行讨论,验证(7,4)系统循环码的纠错能力。
2 编程环境本实验采用Matlab 作为编程工具,所有代码均在Matlab 软件中运行,此软件功能强大,应用广泛,在此不再赘述。
3 各模块设计3.1 编码器模块利用(7,4)系统循环码的生成多项式为:3()1g x x x =++,请设计该循环码的编码器。
流程图为:图1 (7,4)循环码编码流程图图2 4位信息码元编码流程图在学生设计的演示工具中输入的信息码元可以为任意多个,系统自动按每4个连续的码字一组进行编码,当输入的信息码元不是4的倍数时,自动补零到与信息码元长度最接近的4的倍数。
译码时也是按照每7个连续的码字一组进行译码。
但是为了流程图的清晰明了,在本文的流程图除流程图1以外,其余均按一个循环码码字(即7位)来描述。
编码器模块源程序如下:%%%函数功能:(7,4)系统循环码编码器%%%编程时间:2013-11-29%%%该系统循环码编码器的生成多项式是g(x) = x^3 + x + 1;% %%系统循环码编码的原理是,首先用x^r乘以信息码字多项式m(x),这里r = 3;然后用x^r*m(x)除以生成多项式g(x),% %%得余式r(x);最后得系统循环码多项式c(x) = x^r*m(x) + r(x)function [code_out,code_in_L] = coder(code_in)%%code_in:输入信息码字%%code_out:输出编码后的码字%%L:输入的信息码元的长度n=7;%%每个码字长度k=4;%%每个码字中信息码元长度code_in_L=length(code_in);a=rem(code_in_L,k);%信息码元的长度除以k后的余数if a~=0 %%%信息码元长度不是k的整数倍,则补0array_0=zeros(1,k-a);%%%补零个数code_in=[code_in ,array_0];endcode_in_4=(reshape(code_in,k,length(code_in)/k))';%%%将补零后的码元变成length(code_in)/4行,4列矩阵for loop=1:length(code_in)/kmes_code = [code_in_4(loop,:),zeros(1,3)]; % 在信息码字后面补上三个零,相当于乘上x^rgen = [1 0 1 1]; % 生成多项式向量% 在二元域进行运算,必须把信息码字多项式向量和生成多项式向量转到二元域GF(2)上% 函数gf(X,M)用于从向量X生成GF(2^M)上对应的向量mes_g = gf(mes_code,1);gen_g = gf(gen,1);% 用x^r*m(x)除以生成多项式g(x)[Q,rem_g] = deconv(mes_g,gen_g); % 多项式除法其实就是解卷积运算,得到除法的商式Q,余式rem_g%%相应的,多项式乘法其实是系数的卷积code_rem = rem_g.x; % rem_g.x表示二元域向量rem_g的一个属性,即多项式的系数。
《导航接收机技术》实验讲义
仿真实验1:C/A码生成器(1学时)
一、实验要求:
利用Matlab软件中的Simulink进行建模分析,构建C/A码生成器并对输出结果进行正确性分析。
二、实验系统模型构建及参数配置:
在Simulink软件中,构建下列系统模型
其中R11~R1X和R21~R2X都是UnitDelay模块,来自库中的Simulink\Discrete 路径下。
对于Unit Delay模块,双击之后,弹出参数配置界面如下。
点击“Help”按钮会弹出该模块的详细使用文档,会仔细介绍各个参数的具体含义。
在本次试验中,示例工程里,所有的Unit Delay模块必须设定的两个参数:Initial Condition:用于设定该寄存器的初始值,在理论授课中指出,C/A码发生器G1和G2寄存器在复位信号触发下,各寄存器赋初始值1。
Sample time:设定采样速率,等同于寄存器的clk时钟频率。
根据理论授课讲授的知识,C/A码发生器的驱动时钟是1.023MHz
XOR是两输入的异或运算符,数据类型为boolen,采样频率由系统根据输入数据的频率自行设定。
系统模型中的下列部分功能是为了实现boolen型的0,1数据向double类型的
-1,+1转变的模块。
其中,Data Type Conversion来自库中的Simulink\Commonly Used Blocks。
示例工程中,该模块的参数配置如下图,主要是确定输出数据类型为double。
SubSystem是一个用户自行封装的子模块,双击能够打开显示该子模块的内部结构。
通过Switch模块,根据输入数据的大小切换输出常量1或常量-1。
Switch模块和Constant模块均来自库文件中的Simulink\Commonly Used Blocks 子模块。
Switch模块的参数配置如下所示。
主要是配置判决条件和门限值。
Scope是Simulink软件中最长使用的模块,其功能类似于示波器。
可以设置输入端口的数量。
To Workspace模块用来将仿真数据保存成变量,便于查看的后继的分析处理。
三、实验结果分析:
由于寄存器Unit Delay模块的采样时钟设定为1/1.023MHz,示例工程的数据比特率即为1.023MHz,每个码片的宽度为1/1.023MHz,如果想要显示10个码片以上,仿真时间需要大于10*(1/1.023MHz)=9.78×10-6=0.00001s。
本次仿真设定仿真时间为0.0004s,仿真结果如下所示。
Scope1模块输出结果:
该结果证明G2寄存器的选择抽头只是使得G2寄存器的输出序列发生不同程度的延时,并不能改变G2寄存器的数据格式。
Scope2模块的输出结果:
显示了PRN=1的C/A序列的前41个比特的波形,以及电平转换。
同时在Matlab软件的WorkSpace工程中会出现设定的变量(CA_PRN1),通过变量观察窗口,可以得到序列的数值形式,进行比对验证C/A码发生器设计是否正确。
作业:
请同学根据本次实验学习的知识,自行完成下列任务:
(1)生成其余PRN值得CA码序列,并进行验证。