HDB3编码实验报告

HDB3编码实验报告
HDB3编码实验报告

HDB3编码与译码实验

一、实验前准备工作

(1)预习本实验的相关内容

(2)熟悉实验箱面板分布及测试孔位置,定义本实验相关模块的跳线状态。

(3)实验前重点掌握的内容:HDB 3 编码和解码原理、定时提取原理(4)思考 HDB 3输出波形应该什么样、编码输入和解码输出波形相位应该相同吗、本实验用到哪几个模块及每个模块的主要作用是什么。

二、实验目的

(1)掌握HDB3编码规则,编码和解码原理。

(2)了解锁相环的工作原理和定时提取原理。

(3)了解输入信号对定时提取的影响。

(4)了解信号的传输延时。

(5)了解HDB3编译码集成芯片CD22103。

三、实验仪器

(1)ZH5001A通信原理综合实验系统一台

(2)(2)20MHZ双踪示波器一台

四、基本原理

1.HDB3编译码电路

在通信原理综合试验箱中,采用了CD22103专用芯片(UD01)实现HDB3码的编译码实验。在该电路模块下,没有采用复杂的线圈耦合的方法来实现HDB3码字的转换,而是采用运算放大器(UD02)完成对HDB3输出进行电平

变换。变换输出为双极性码或单极性码。HDB3编译码系统组成如图一:

CD22013集成电路进行HDB3编译码。当它第三脚接+5V时为HDB3编译码器。编码时,需要输入NRZ码及时钟信号,CD22103编码输出两路并行信号+HDB3out(15脚TPD03)和-HDB3out(14脚TPD04),它们都是半占空比的正弦冲信号,分别与HDB3码的正极信号及负极信号相对应,这两路信号通过一个差分放大器(UD02A)后,得到HDB3。通过由运算放大器的相加器(UD02B),输出HDB3码的单极性码输出。译码时,需将HDB3码变换成两路单极性信号分别送到CD22103的第11、13脚,此任务由双/单变换电路来完成。通常译码之后TPD07与TPD01的波形应一致,但由于当前的输出HDB3码字可能与前四个码字有关,因此HDB3的编译码时延较大。

在实用的HDB3编译码电路中,发端的单/双极性变换器一般由变压器完成;收端的的双/单极性变换器一般由变压器、比较器完成。本实验目的是掌握HDB3编码规则及位同步提取方法,故对单双,双单极性变换电路作了减缓处理,不一定符合实用要求。

2.位定时提取电路

位定时提取电路采用锁相环方法。在系统中锁相环将接收端的 256kHz 时钟锁定在发端的 256kHz 时钟上,来获得系统的同步时钟,如 HDB 3 接收的同步时钟及后续电路同步时钟。

该锁相环模块主要由锁相环 UP01(MC4046)、数字分频器 UP02(74LS161)、D 触发器 UP04 (74LS74)、环路滤波器和输入端的带通滤波器(UP03B)组成。 UP01内部由一个振荡器与一个高速鉴相器组成。该锁相环模块如图二:

输入端的带通滤波器是由运算放大器(TEL2702)及阻容器件构成的有源带通滤波器,中心频率为 256kHz,滤出 256kHz 时钟信号,输出的信号是一个幅度和周期都不恒定的准正弦信号。对此信号进行限幅放大(UP03A)处理后得到幅度恒定、周期变化的脉冲信号,但仍不能将此信号作为译码器的位同步信号。经 UP04A 和 UP04B 两个除二分频器(共四分频)变为 64kHz 信号,进入 UP01 鉴相输入 A 脚;VCO 输出的512kHz 输出信号经 UP02 进行八分频变为 64kHz 信号,送入 UP01 的鉴相输入 B 脚。经UP01内部鉴相器鉴相之后的误差控制信号经环路滤波器滤波送入UP01的压控振荡器输

入端。正常时,VCO 锁定在外来的256kHz频率上。

五、实验内容

1.HDB3码变换规则验证

首先将输入信号选择跳线开关KD01设置在M位置(右端)、单/双极性码输出选择开关设置KD02设置在2_3位置(右端:单极性)、HDB3编码开关KD03设置在HDB3位置(左端),使该模块工作在HDB3码方式。

(1)通过CMI编码模块内的m序列类型选择跳线开关KX02的设置,产生7位周期m序列。用示波器同时观测输入数据TPD01和AMI输出双极性编码数据TPD05波形及单极性编码数据TPD08的波形,观测是用TPD01同步。分析观测输入数据与输出数据关系是否满足AMI编码关系,画下一个m序列周期的测试波形。

(2)使输入数据端口悬空产生全1码。

(3)使输入数据为全 0 码,分别画下一个周期的测试波形。

2.HDB3码译码和时延测量

首先将输入信号选择跳线开关KD01设置在M位置(右端);将CMI编码模块内的m序列类型选择跳线开关KX02设置在1_2位置(左端)产生15位周期m序列;将锁相环模块内输入信号选择跳线开关KP02设置在HDB3位置(左端)。用示波器同时观测输入数据TPD01和HDB3译码输出数据TPD07波形,观测时用TPD01同步。分析观测HDB3编码输入数据与HDB3译码输出数据是否满足HDB3编译码系统要求。

3.HDB3编码信号中同步时钟分量定性观测

将输入数据选择跳线开关KD01设置在M位置(右端);将锁相环模块内

输入信号选择跳线开关KP02设置在HDB3位置(左端)。

(1)将极性码输出选择跳线开关KD02设置在2_3位置(右端)产生单极性码输出,用示波器测量模拟锁相环模块TPP01、TPP02波形;然后将跳线开关KD02设置在1_2位置(左端)产生双极性码输出,观测TPP01、TPP02波形变化。

(2)将极性码输出选择跳线开关KD02设置在2_3位置(右端)产生单极性码输出,使输入数据为全1码,测试模拟锁相环模块TPP01点的同步时钟分量波形步骤,记录并分析测试结果。

(3)使输入数据为全0码,重复上述步骤,记录测试结果。

六、实验结论分析

1.HDB3码变换规则验证

(1)输入方波单极性:

(2)输入方波双极性

(3)全1输入双极性

(4)全0输入双极性

2.HDB3码译码和时延测量

(1)单极性:

(2)双极性

(3)全1单极性

(4)全0单极性

七、思考题

(3)编码输入和解码输出的时延是如何产生的?

编码输入和解码输出延时是因为信号在经过CD22103芯片产生延时,查

芯片手册可知编码和解码的延时都是4个时钟周期。

JPEG编码器实验报告代码分析

实验报告 1.实验目的 通过阅读JPEG编码器代码,了解编码原理、编码过程和代码实现。 2.实验要求 (1)详细阅读JPEG编码器代码,结合编码原理,了解整个代码实现的过程(2)输入bmp文件,在VC6.0下跑通代码,查看编码器的压缩倍数 (3)对有些模块进行单步跟踪调试,详细了解其过程 3.实验原理 JPEG编码的基本过程如下 (1)像素阵列分块(分为8*8小块) (2)进行DCT离散余弦变换 (3)进行Z字形扫描,将二维阵列变为一维数列 (4)进行量化 (5)熵编码(Huffman编码) (6)封装为JPG文件 本次试验所用bmp转jpg编码器的编码步骤 (1)读取bmp文件信息,创建并打开jpg文件 (2)8*8分块及色彩空间变换(RGB转YCbCr) (3)快速离散余弦变换FDCT (4)量化 (5)Z字形扫描 (6)使用差分脉冲编码调制对直流系数DC进行编码 (7)使用游程长度编码对交流系数AC编码 (8)霍夫曼熵编码 4.代码分析 整个代码过程可分为三个部分 (1)文件操作 (2)对编码所用信息表进行初始化(int_all) (3)主编码器进行编码(main_encoder) 主函数分析 int main(int argc, char *argv[]) { char BMP_filename[64];

char JPG_filename[64]; WORD width_original,height_original; //the original image dimensions, // before we made them divisible by 8 BYTE len_filename; bitstring fillbits; //filling bitstring for the bit alignment of the EOI(end of image) marker if (argc>1) { strcpy(BMP_filename,argv[1]); if (argc>2) strcpy(JPG_filename,argv[2]); else { // replace ".bmp" with ".jpg" strcpy(JPG_filename, BMP_filename); len_filename=strlen(BMP_filename); strcpy(JPG_filename+(len_filename-3),"jpg");//从后三位开始拷贝jpg. } } else exitmessage("Syntax: enc fis.bmp [fis.jpg]"); //BMP_filename=""; load_bitmap(BMP_filename, &width_original, &height_original);//加载bmp文件信息 fp_jpeg_stream = fopen(JPG_filename,"wb");//创建jpg文件流 init_all();//初始化函数,初始化量化、霍夫曼及亮度色差转换表等,为编码做准备 SOF0info.width = width_original; SOF0info.height = height_original;//写入图像的宽和高 writeword(0xFFD8); // SOI,写入图像开始标志 write_A PP0info(); // write_comment("Cris made this JPEG with his own encoder"); write_DQTinfo();//写入量化表 write_SOF0info();//写入帧开始 write_DHTinfo();//写入霍夫曼表 write_SOSinfo();//写入扫描开始信息 // init global variables bytenew = 0; // current byte bytepos = 7; // bit position in this byte main_encoder();//主编码函数 // Do the bit alignment of the EOI marker if (bytepos >= 0) {

数据结构 哈夫曼编码实验报告

实验报告 实验课名称:数据结构实验 实验名称:文件压缩问题 班级:20132012 学号:姓名:时间:2015-6-9 一、问题描述 哈夫曼编码是一种常用的数据压缩技术,对数据文件进行哈夫曼编码可大大缩短文件的传输长度,提高信道利用率及传输效率。要求采用哈夫曼编码原理,统计文本文件中字符出现的词频,以词频作为权值,对文件进行哈夫曼编码以达到压缩文件的目的,再用哈夫曼编码进行译码解压缩。 二、数据结构设计 首先定义一个结构体: struct head { unsigned char b; //记录字符 long count; //权重 int parent,lch,rch; //定义双亲,左孩子,右孩子 char bits[256]; //存放哈夫曼编码的数组 } header[512],tmp; //头部一要定设置至少512个,因为结 点最多可达256,所有结点数最多可 达511 三、算法设计 输入要压缩的文件读文件并计算字符频率根据字符的频率,利用Huffman 编码思想创建Huffman树由创建的Huffman树来决定字符对应的编码,进行文件的压缩解码压缩即根据Huffman树进行译码 设计流程图如图1.1所示。

图1.1 设计流程图 (1)压缩文件 输入一个待压缩的文本文件名称(可带路径)如:D:\lu\lu.txt 统计文本文件中各字符的个数作为权值,生成哈夫曼树;将文本文件利用哈夫曼树进行编码,生成压缩文件。压缩文件名称=文本文件名.COD 如:D:\lu\lu.COD 压缩文件内容=哈夫曼树的核心内容+编码序列 for(int i=0;i<256;i++) { header[i].count=0; //初始化权重 header[i].b=(unsigned char)i; //初始化字符 } ifstream infile(infilename,ios::in|ios::binary); while(infile.peek()!=EOF) { infile.read((char *)&temp,sizeof(unsigned char)); //读入一个字符 header[temp].count++; //统计对应结点字符权重 flength++; //统计文件长度 } infile.close(); //关闭文件 for(i=0;i<256-1;i++) //对结点进行冒泡排序,权重大的放在上面,编码时效率高 for(int j=0;j<256-1-i;j++) if(header[j].count

AMI、HDB3码型变换实验

实验二码型变换AMI/HDB3实验 一.实验目的 1.了解二进制单极性码变换为AMI/HDB3 码的编码规则; 2.熟悉AMI码与HDB3 码的基本特征; 3.熟悉HDB3 码的编译码器工作原理和实现方法; 4.根据测量和分析结果,画出电路关键部位的波形; 二.实验仪器 1.JH7001 通信原理综合实验系统一台 2.双踪示波器一台 3.函数信号发生器一台 三、实验任务与要求 1实验原理和电路说明 1.1.1 实验原理 AMI 码的全称是传号交替反转码。这是一种将消息代码0(空号)和1(传号)按如下规则进行编码的码:代码的0 仍变换为传输码的0,而把代码中的1 交替地变换为传输码的+1、–1、+1、–1…由于AMI 码的传号交替反转,故由它决定的基带信号将出现正负脉冲交替,而0 电位保持不变的规律。由此看出,这种基带信号无直流成分,且只有很小的低频成分,因而它特别适宜在不允许这些成分通过的信道中传输。 由AMI 码的编码规则看出,它已从一个二进制符号序列变成了一个三进制符号序列,即把一个二进制符号变换成一个三进制符号。把一个二进制符号变换成一个三进制符号所构成的码称为1B/1T 码型。。AMI 码对应的波形是占空比为0.5 的双极性归零码,即脉冲宽度τ与码元宽度(码元周期、码元间隔)TS 的关系是τ=0.5TS。 AMI 码除有上述特点外,还有编译码电路简单及便于观察误码情况等优点,它是一种基本的线路码,并得到广泛采用。但是,AMI 码有一个重要缺点,即接收端从该信号中来获取定时信息时,由于它可能出现长的连0 串,因而会造成提取定时信号的困难。为了保持AMI 码的优点而克服其缺点,人们提出了许多种类的改进AMI 码,HDB3 码就是其中有代表性的一种。 HDB3码的全称是三阶高密度双极性码。它的编码原理是这样的:先把消息代码变换成AMI码,然后去检查AMI 码的连0串情况,当没有4个以上连0串时,则这时的AMI码就是HDB3码;当出现4个以上连0串时,则将每4个连0小段的第4个0变换成与其前一非0符号(+1 或–1)同极性的符号。显然,这样做可能破坏“极性交替反转”的规律。这个符号就称为破坏符号,用V 符号表示(即+1 记为+V, –1记为–V)。为使附加V符号后的序列不破坏“极性交替反转”造成的无直流特性,还必须保证相邻V符号也应极性交替。这一点,当相邻符号之间有奇数个非0符号时,则是能得到保证的;当有偶数个非0 符号时,则就得不到保证,这时再将该小段的第1个0 变换成+B 或–B符号的极性与前一非0 符号的相反,并让后面的非0符号从V 符号开始再交替变化。 虽然HDB3码的编码规则比较复杂,但译码却比较简单。从上述原理看出,每一个破坏

汉明码编码实验报告

重庆工程学院 电子信息学院 实验报告 课程名称:_ 数据通信原理开课学期:__ 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

游程编码实验报告

实验二游程编码 一、实验目的 1、掌握游程编码原理; 2、理解数据编码压缩和译码输出编码的实现。 二、实验要求 实现游程编码和译码的生成算法。 三、实验内容 输入一幅二值图像,先统计要压缩编码的文件中的字符字母出现的次数,按字符字母和空格出现的概率对其进行哈夫曼编码,然后读入要编码的文件,编码后存入另一个文件;接着再调出编码后的文件,并对其进行译码输出,最后存入另一个文件中。 四、实验原理 1、xx 树的定义: 假设有n 个权值,试构造一颗有n 个叶子节点的二叉树,每个叶子带权值为wi ,其中树带权路径最小的二叉树成为哈夫曼树或者最优二叉树; 2、xx 树的构造: weight为输入的频率数组,把其中的值赋给依次建立的HT Node对象中的data属性,即每一个HT Node对应一个输入的频率。然后根据data属性按从小到大顺序排序,每次从data取出两个最小和此次小的HT Node,将他们的data 相加,构造出新的HTNode作为他们的父节点,指针pare nt,leftchild,rightchild 赋相应值。在把这个新的节点插入最小堆。 按此步骤可以构造出一棵XX树。 通过已经构造出的哈夫曼树,自底向上,由频率节点开始向上寻找parent, 直到parent 为树的顶点为止。这样,根据每次向上搜索后,原节点为父节点的

左孩子还是右孩子,来记录 1 或0,这样,每个频率都会有一个01 编码与之唯一对应,并且任何编码没有前部分是同其他完整编码一样的。 五、实验程序 #include #include #define NUM 1000 char dat,flag,str[NUM],b[NUM]; printf("( 请输入待编码的字符串)\n\n"); printf(" 原字符串为: "); gets(str);// 输入待编码的字符串 flag=str[0];// 记下第一个字符值作为flag 游程编码的起始值 /************************ 编码部分**********************************************/ printf("\n 游程编码为: "); for(i=0;i

HDB3码型变换实验报告

实验二HDB3码型变换实验 一、实验目的 1、了解几种常用的数字基带信号的特征和作用。 2、掌握HDB3码的编译规则。 3、了解滤波法位同步在的码变换过程中的作用。 二、实验器材 1、主控&信号源、2号、8号、13号模块各一块 2、双踪示波器一台 3、连接线若干 三、实验原理 1、HDB3编译码实验原理框图

HDB3编译码实验原理框图 2、实验框图说明 我们知道AMI编码规则是遇到0输出0,遇到1则交替输出+1和-1。而HDB3编码由于需要插入破坏位B,因此,在编码时需要缓存3bit的数据。当没有连续4个连0时与AMI编码规则相同。当4个连0时最后一个0变为传号A,其极性与前一个A的极性相反。若该传号与前一个1的极性不同,则还要将这4个连0的第一个0变为B,B的极性与A相同。实验框图中编码过程是将信号源经程序处理后,得到HDB3-A1和HDB3-B1两路信号,再通过电平转换电路进行变换,从而得到HDB3编码波形。 同样AMI译码只需将所有的±1变为1,0变为0即可。而HDB3译码只需找到传号A,将传号和传号前3个数都清0即可。传号A的识别方法是:该符号的极性与前一极性相同,该符号即为传号。实验框图中译码过

程是将HDB3码信号送入到电平逆变换电路,再通过译码处理,得到原始码元。 四、实验步骤 实验项目一HDB3编译码(256KHz归零码实验) 概述:本项目通过选择不同的数字信源,分别观测编码输入及时钟,译码输出及时钟,观察编译码延时以及验证HDB3编译码规则。 1、关电,按表格所示进行连线。 2、开电,设置主控菜单,选择【主菜单】→【通信原理】→【HDB3编译码】→【256K归零码实验】。将模块13的开关S3分频设置拨为0011,即提取512K同步时钟。 3、此时系统初始状态为:编码输入信号为256K的PN序列。 4、实验操作及波形观测。

香农编码实验报告

中南大学 《信息论与编码》实验报告 题目信源编码实验 指导教师 学院 专业班级 姓名 学号 日期

目录 一、香农编码 (3) 实验目的 (3) 实验要求 (3) 编码算法 (3) 调试过程 (3) 参考代码 (4) 调试验证 (7) 实验总结 (7) 二、哈夫曼编码 (8) 实验目的 (8) 实验原理 (8) 数据记录 (9) 实验心得 (10)

一、香农编码 1、实验目的 (1)进一步熟悉Shannon 编码算法; (2)掌握C 语言程序设计和调试过程中数值的进制转换、数值与字符串之间 的转换等技术。 2、实验要求 (1)输入:信源符号个数q 、信源的概率分布p ; (2)输出:每个信源符号对应的Shannon 编码的码字。 3、Shannon 编码算法 1:procedure SHANNON(q,{Pi }) 2: 降序排列{Pi } 3: for i=1 q do 4: F(i s ) 5:i l 2 []log 1/()i p s 6:将累加概率F(i s )(十进制小数)变换成二进制小数。 7:取小数点后i l 个二进制数字作为第i 个消息的码字。 8:end for 9:end procedure ------------------------------------------------------------------------------------------------------------------ 4、调试过程 1、fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory fatal error C1083: Cannot open include file: 'values.h': No such file or directory 原因:unistd.h 和values.h 是Unix 操作系统下所使用的头文件 纠错:删去即可 2、error C2144: syntax error : missing ')' before type 'int' error C2064: term does not evaluate to a function 原因:l_i(int *)calloc(n,sizeof(int)); l_i 后缺少赋值符号使之不能通过编译 纠错:添加上赋值符号 1 1 ()i k k p s -=∑

压缩技术实验编码

压缩技术实验编码 实验一统计编码 实验目的 1.熟悉统计编码的原理 2.掌握r元Huffman编码的方法; 3.了解Huffman编码效率及冗余度的计算; 二、实验原理 霍夫曼编码,又称最佳编码,根据字符出现概率来构造平均长度最短的变长编码。 Huffman编码步骤: (1)把信源符号x i(i=1,2,…按出现概率的值由大到小的顺序排列; (2)对两个概率最 小的符号分别分配以“ 0和“ 1,'然

后把这两个概率相加作为一个新的辅助符号的概率; (3)将这个新的辅助符号与其他符号一起重新按概率大小顺序排列; ⑷跳到第2步,直到出现概率相加为1为止; (5)用线将符号连接起来,从而得到一个码树,树的N个端点对应N个信源符号; (6)从最后一个概率为1的节点开始,沿着到达信源的每个符号,将一路遇到的二进制码“ 0或“ 1顺序排列起来,就是端点所对应的信源符号的码字。 以上是二元霍夫曼编码。如果是r元霍夫曼编码,则应该如何做呢? 在HUFFMAN 编码方案中,为出现概率较小的信源输出分配较长的码字,而对那些出现可能性较大的信源输出分配较短的码字。为此,首先将r 个最小可能的信源输出合并成为一个新的输出,该输出的概率就是上述的r 个输出的概率之和。重复进行该过程直到只剩下一个输出为止。信源符号的个数q 与r 必须满足如下的关系式: q = (r-1) n + r n 为整数如果不满足上述关系式,可通过添加概率为零的信源符号来满足。这样就生成了一个树,从该树的根节点出发并将0、1 分别分配给任何r 个来自于相同节点的 分支,生成编码。可以证明用这种方法产生的编码在前向树类

AMI HDB3码型变换实验

AMI/HDB3码型变换实验 实验目的: 1.了解二进制单极性码变换为AMI/HDB3码的编码规则 2.熟悉HDB3码的基本特征; 3.熟悉HDB3码的编译码器工作原理和实现方法; 4.根据测量和分析结果,画出电路关键部位的波形; 实验内容: 1. AMI码编码规则验证 2. AMI码译码和时延测量 3. AMI编码信号中同步时钟分量定性观测 4. AMI译码位定时恢复测量 5. HDB3码变换规则验证 6. HDB3码译码和时延测量 7. HDB3编码信号中同步时钟分量定性观测 8. HDB3译码位定时恢复测量 1、AMI码编码规则验证 实验步骤: 1. KD01设置在M位置、KD02设置在2_3位置、KD03设置在AMI位置(右端)。 2. 将KX02设置在2_3位置,观测TPD01和TPD05波形及TPD08波形,用TPD01同步。 3. 将KX02设置在1_2位置,重复上述测试步骤。 4. 将KD01拨除,将示波器探头从TPD01测试点移去,使输入数据端口悬空产生全1码。重复上述测试步骤。 5. 将KD01拨除,用一短路线一端接地,另一端十分小心地插入测试孔TPD01,使输入数据为全0码(或采用将示波器探头接入TPD01测试点上,使数据端口不悬空,则输入数据亦为全0码)。重复上述测试步骤。

2、AMI码译码和时延测量 实验步骤: 1. 将KD01设置在M位置,KX02设置在1_2位置;KP02设置在HDB3位置 2. 观测TPD01和TPD07,用TPD01同步。问:AMI编码和译码的的数据时延是多 少? 3. 将KX02设置在2_3位置,重复上译步骤测量,问:此时AMI编码和译码的的数据时延是多少? 15位m序列输出与输入,时延请自己测量 7位m序列输出与输入,时延不太能 肯定,因其是短周期 3、AMI编码信号中同步时钟分量定性观测 实验步骤: 1. 将KD01设置在M位置,KX02设置在1_2位置,KP02设置在HDB3位置。 2. 将KD02设置在2_3位置,测量TPP01波形;然后将KD02设置在1_2位置,观测TPP01波形。 3. 将KD02设置在2_3位置,重复上述测试步骤。 4. 使输入数据为全“0”码(方法见1),重复上述测试步骤。

卷积码实验报告

苏州科技大学天平学院电子与信息工程学院 信道编码课程设计报告 课设名称卷积码编译及译码仿真 学生姓名圣鑫 学号1430119232 同组人周妍智 专业班级通信1422 指导教师潘欣欲 一、实验名称 基于MAATLAB的卷积码编码及译码仿真 二、实验目的 卷积码就是一种性能优越的信道编码。它的编码器与译码器都比较容易实现,同时它具有较强的纠错能力。随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本实验简明地介绍了卷积码的编码原理与Viterbi译码原理。并在SIMULINK模块设计中,完成了对卷积码的编码与译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。经过仿真与实测,并对测试结果作了分析。 三、实验原理

1、卷积码编码原理 卷积码就是一种性能优越的信道编码,它的编码器与解码器都比较易于实现,同时还具有较强的纠错能力,这使得它的使用越来越广泛。卷积码一般表示为(n,k,K)的形式,即将 k个信息比特编码为 n 个比特的码组,K 为编码约束长度,说明编码过程中相互约束的码段个数。卷积码编码后的 n 各码元不经与当前组的 k 个信息比特有关,还与前 K-1 个输入组的信息比特有关。编码过程中相互关联的码元有 K*n 个。R=k/n 就是编码效率。编码效率与约束长度就是衡量卷积码的两个重要参数。典型的卷积码一般选 n,k 较小,K 值可取较大(>10),但以获得简单而高性能的卷积码。 卷积码的编码描述方式有很多种:冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述,树图描述,网格图描述等。 2、卷积码Viterbi译码原理 卷积码概率译码的基本思路就是:以接收码流为基础,逐个计算它与其她所 有可能出现的、连续的网格图路径的距离,选出其中可能性最大的一条作为译码估值输出。概率最大在大多数场合可解释为距离最小,这种最小距离译码体现的正就是最大似然的准则。卷积码的最大似然译码与分组码的最大似然译码在原理上就是一样的,但实现方法上略有不同。主要区别在于:分组码就是孤立地求解单个码组的相似度,而卷积码就是求码字序列之间的相似度。基于网格图搜索的译码就是实现最大似然判决的重要方法与途径。用格图描述时,由于路径的汇聚消除了树状图中的多余度,译码过程中只需考虑整个路径集合中那些使似然函数最大的路径。如果在某一点上发现某条路径已不可能获得最大对数似然函数,就放弃这条路径,然后在剩下的“幸存”路径中重新选择路径。这样一直进行到最后第 L 级(L 为发送序列的长度)。由于这种方法较早地丢弃了那些不可能的路径,从而减轻了译码的工作量,Viterbi 译码正就是基于这种想法。对于(n, k, K )卷积码,其网格图中共 2kL 种状态。由网格图的前 K-1 条连续支路构成的路径互不相交,即最初 2k_1 条路径各不相同,当接收到第 K 条支路时,每条路径都有 2 条支路延伸到第 K 级上,而第 K 级上的每两条支路又都汇聚在一个节点上。在Viterbi译码算法中,把汇聚在每个节点上的两条路径的对数似然函数累加

游程编码实验报告材料

交通大学信息科学与工程学院综合性设计性实验报告 专业:通信工程专业11级 学号: 2 姓名:徐国健 实验所属课程:移动通信原理与应用 实验室(中心):信息技术软件实验室 指导教师:益才 2014年5月

一、题目 二值图像的游程编码及解码 二、仿真要求 对一幅图像进行编码压缩,然后解码恢复图像。 三、仿真方案详细设计 实验过程分为四步:分别是读入一副图象,将它转换成为二进制灰度图像,然后对其进行游程编码和压缩,最后恢复图象(只能恢复为二值图像)。 1、二值转换 所谓二值图像,就是指图像上的所有像素点的灰度值只用两种可能,不为“0”就为“1”,也就是整个图像呈现出明显的黑白效果。 2、游程编码原理 游程编码是一种无损压缩编码,对于二值图有效。游程编码的基本原理是:用一个符号值或串长代替具有相同值的连续符号,使符号长度少于原始数据的长度。据进行编码时,沿一定方向排列的具有相同灰度值的像素可看成是连续符号,用字串代替这些连续符号,可大幅度减少数据量。游程编码分为定长行程编码和不定长行程编码两种类型。游程编码是连续精确的编码,在传输过程中,如果其中一位符号发生错误,即可影响整个编码序列,使行程编码无法还原回原始数据。 3、游程编码算法 一般游程编码有两种算法,一种是使用1的起始位置和1的游程长度,另一种是只使用游程长度,如果第一个编码值为0,则表示游程长度编码是从0像素的长度开始。这次实验采

用的是前一种算法。两种方法各有优缺点:前一种存储比第二种困难,因此编程也比较复杂。而后一种需要知道第一个像素值,故压缩编码算法中需给出所读出的图的第一个像素值。 压缩流程图: 解压流程图:

PCM编码 实验报告

实验二十三 时分复用与解复用实验 实验项目一 256K 时分复用帧信号观测 (1)帧同步码观测:用示波器连接复用输出,观测帧头的巴克码。 (2)帧内PN 序列信号观测:用示波器接复用输出,利用储存功能观测3个周期 中的第一时隙的信号。 实验项目二 256K 时分复用及解复用 (1)帧内PCM 编码信号观测:将PCM 信号输入DIN2,观测PCM 数据。以帧同 思考题:PN15序列的数据是如何分配到复用信号中的? 分析分时复用的实质,可知,在模拟传送时,一位用户的数据根据复用划分的时隙以一帧为周期,逐次将8位数据插入每个帧相同的时隙处。对于此次实验中的PN15序列,检测到帧同步信号的帧头时,便插入第一帧数据,在第二次检测到帧头时插入第二帧数据,以此类推,将信号分配到复用信号中,以达到提高信道利用率的目的。 对比观测实验出现的码元,发现为01110010,根据所学知识可知,这串码即为帧头的观测码。

步为触发分别观测PCM编码数据和复用输出的数据。 (2)解复用帧同步信号观测:PCM对正弦波进行编译码。观测复用输出与FSOUT, 观测帧同步上跳沿与帧同步信号的时序关系。 思考题:PCM数据是如何分配到复用信号中去的? 时分多路复用以时间作为信号分割的参量,将各路输入变为变为并行数据,然后按照给端口数据所在的时隙进行帧的拼接,完成一个完整的数据帧。而在本实验中,PCM 的数据输入到DIN2,将其插入到复用信号的第2个时隙,与其它3个时隙拼接为一帧,从而实现了PCM信号分配到复用信号中。 上图分别为PCM编码输入和复用输出的波形。仔细观察可知,对比复用输入信号,复用输出有2帧的延时,且在复用输出的第0时隙为帧头的巴克码,第1时隙没有数据,第2时隙有了数据的存放,即PCM复用编码时被插在了一帧的第2时隙中,在解复用时先寻找巴克码,再按照每一帧的数据存放的相应的时隙进行解复用,之后拼接起来,便实现了PCM的数据恢复。

实验四 码型变换实验

实验四码型变换实验 一、实验目的 1.了解几种常见的数字基带信号。 2.掌握常用数字基带传输码型的编码规则。 3.掌握用FPGA实现码型变换的方法。 二、实验内容 1.观察NRZ码、RZ码、BRZ码、BNRZ码、AMI码、CMI码、HDB3码、BPH码的波形。 2.观察全0码或全1码时各码型波形。 3.观察HDB3码、AMI码、BNRZ码正、负极性波形。 4.观察NRZ码、RZ码、BRZ码、BNRZ码、AMI码、CMI码、HDB3码、BPH码经过码型反变换后的输出波形。 5.自行设计码型变换电路,下载并观察输出波形。 三、实验器材 1.信号源模块 2.码型变换模块 3.20M双踪示波器一台 4.频率计(可选)一台 5.PC机(可选)一台 6.连接线若干 四、实验原理 1.编码规则 ①NRZ码 NRZ码的全称是单极性不归零码,在这种二元码中用高电平和低电平(这里为零电平)分别表示二进制信息“1”和“0”,在整个码元期间电平保持不变。例如: 1 0 1 0 0 1 1 0 +E ②RZ码 RZ码的全称是单极性归零码,与NRZ码不同的是,发送“1”时在整个码元期间高电平只持续一段时间,在码元的其余时间内则返回到零电平。例如: 1 0 1 0 0 1 1 0 +E

BNRZ码的全称是双极性不归零码,在这种二元码中用正电平和负电平分别表示“1”和“0”。与单极性不归零码相同的是整个码元期间电平保持不变,因而在这种码型中不存在零电平。例如: 1 0 1 0 0 1 1 0 +E -E ④BRZ码 BRZ码的全称是双极性归零码,与BNRZ码不同的是,发送“1”和“0”时,在整个码元期间高电平或低电平只持续一段时间,在码元的其余时间内则返回到零电平。例如: 1 0 1 0 0 1 1 0 +E -E ⑤AMI码 AMI码的全称是传号交替反转码,其编码规则如下:信息码中的“0”仍变换为传输码的“0”;信息码中的“1”交替变换为传输码的“+1、-1、+1、-1、…”。例如: 代码: 100 1 1000 1 1 1… AMI码: +100 -1 +1000 -1 +1 -1… AMI码的主要特点是无直流成分,接收端收到的码元极性与发送端完全相反也能正确判断。译码时只需把AMI码经过全波整流就可以变为单极性码。由于其具有上述优点,因此得到了广泛应用。但该码有一个重要缺点,即当用它来获取定时信息时,由于它可能出现长的连0串,因而会造成提取定时信号的困难。 ⑥HDB3码 HDB3码的全称是三阶高密度双极性码,其编码规则如下:将4个连“0”信息码用取代节“000V”或“B00V”代替,当两个相邻“V”码中间有奇数个信息“1”码时取代节为“000V”码;有偶数个信息“1”码(包括0个)时取代节为“B00V”,其它的信息“0”码仍为“0”码,这样,信息码的“1”码变为带有符号的“1”码即“+1”或“-1”。例如: 代码: 1000 0 1000 0 1 1 000 0 1 1 HDB3码: -1000 -V +1000 +V -1 +1 -B00 -V +1 -1 HDB3码中“1”、“B”的符号符合交替反转原则,而“V”的符号破坏这种符号交替反转原则,但相邻“V”码的符号又是交替反转的。HDB3码的特点是明显的,它除了保持AMI码的优点外,还增加了使连0串减少到至多3个的优点,而不管信息源的统计特性如何。这对于定时信号的恢复是十分有利的。HDB3码是ITU-T推荐使用的码之一。本实验电路只能对码长为24位的周期性NRZ码序列进行编码。

移动通信实验报告

实验一 m序列产生及特性分析实验 一、实验目得 1.了解m序列得性质与特点; 2。熟悉m序列得产生方法; 3.了解m序列得DSP或CPLD实现方法。 二、实验内容 1。熟悉m序列得产生方法; 2.测试m序列得波形; 三、实验原理 m序列就是最长线性反馈移存器序列得简称,就是伪随机序列得一种。它就是由带线性反馈得移存器产生得周期最长得一种序列。 m序列在一定得周期内具有自相关特性.它得自相关特性与白噪声得自相关特性相似。虽然它就是预先可知得,但性质上与随机序列具有相同得性质.比如:序列中“0”码与“1”码等抵及具有单峰自相关函数特性等。 五、实验步骤 1.观测现有得m序列。 打开移动实验箱电源,等待实验箱初始化完成.先按下“菜单”键,再按下数字键“1”,选择“一、伪随机序列”,出现得界面如下所示: ?再按下数字键“1"选择“1m序列产生”,则产生一个周期为15得m序列。 2。在测试点TP201测试输出得时钟,在测试点TP202测试输出得m序列。 1)在TP201观测时钟输出,在TP202观测产生得m序列波形。

图1-1 数据波形图

实验二 WALSH序列产生及特性分析实验 一.实验目得 1。了解Walsh序列得性质与特点; 2。熟悉Walsh序列得产生方法; 3.了解Walsh序列得DSP实现方法。 二.实验内容 1.熟悉Walsh序列得产生方法; 2.测试Walsh序列得波形; 三。实验原理 Walsh序列得基本概念 Walsh序列就是正交得扩频序列,就是根据Walsh函数集而产生.Walsh函数得取值为+1或者—1。图1-3—1展示了一个典型得8阶Walsh函数得波形W1。n阶Walsh函数表明在Walsh函数得周期T内,由n段Walsh函数组成.n阶得Walsh函数集有n个不同得Walsh函数,根据过零得次数,记为W0、W1、W2等等。 t 图2-1 Walsh函数 Walsh函数集得特点就是正交与归一化,正交就是同阶不同得Walsh函数相乘,在指定得区间积分,其结果为0;归一化就是两个相同得Walsh函数相乘,在指定得区间上积分,其平均值为1。 五、实验步骤 1。观测现有得Walsh序列波形 打开移动实验箱电源,等待实验箱初始化完成. 先按下“菜单"键,再按下数字键“1”,选择“一、伪随机序列”,出现得界面如下所示:

《数字高程模型》实验讲义[1]

数字高程模型 实验讲义 南阳师范学院环旅学院 地理信息系统教研室编 2011年2月

前 言 Miller于1958年提出首次提出了数字高程模型(Digital Elevation Model,DEM)的概念。经过40多年的发展,DEM的诸多基础理论问题都得到了深入的研究,基于DEM的数字地形分析理论与方法体系正在形成,DEM在许多领域的工作中得到了成功应用。DEM已成为各类GIS数据库的核心数据之一。国家测绘部门将DEM作为国家空间数据基础设施(National Spatial data Infrastructure,NSDI)的重要建设项目之一。在理论研究方面,DEM的不确定性、DEM的尺度效应、DEM的地学分析、基于DEM的数据挖掘都取得了很大的突破。在应用方面,也从一般的地形因子提取、支持三维漫游等简单应用向更多样的形式、更广泛的领域发展。可以说,DEM所代表的已经不仅仅是一种记录海拔的空间数据,更代表着一种地学处理的方法。 适应于学科发展和实践需要,各高等院校的有关专业,特别是地理信息系统、空间信息与数字工程、测绘工程等专业都纷纷将数字高程模型作为本科和研究生课程。我学院办有地理信息系统和测绘工程等专业,数字高程模型一直是此二专业的重要课程。在多年教学经验的基础上,我们编写了本实验讲义,供地理信息系统专业、测绘工程专业的本科教学使用。本实验讲义中,以验证、探索理论知识和传授技能作为基础目标,另外还注重意识和能力的培养。当代教育理论认为,如果说知识和技能是人才素质的基础,意识则决定了运用知识和技能的动机,能力则是运用知识和技能的方法。当代地学人才不仅需要具有充足的专业知识和技能,而且应该具备一系列意识和能力。虽然,高校通常设置培养意识和能力的公共课程;但是,专业课教学也应该将其作为教学目标之一。这样以来,可以根据专业课程的特点有目的地培养特定的意识和能力。本课程所涉及的意识和能力主要包括科学精神、团队意识、创新能力和统合能力等。 本讲义共7个实验,需要16个实验课时。实验类型包括基础型、综合型和设计型。每个实验都有明确的实验目的,有实验原理的详细介绍,实验过程中的必要之处作了解释和提示。实验后安排了思考题,要求学生们通过在实验中的探索来回答这些问题,有助于学生更好地理解和掌握DEM的理论和方法。

信息论与编码实验报告.

本科生实验报告 实验课程信息论与编码 学院名称信息科学与技术学院 专业名称通信工程 学生姓名 学生学号 指导教师谢振东 实验地点6C601 实验成绩 二〇一五年十一月二〇一五年十一月

实验一:香农(Shannon )编码 一、实验目的 掌握通过计算机实现香农编码的方法。 二、实验要求 对于给定的信源的概率分布,按照香农编码的方法进行计算机实现。 三、实验基本原理 给定某个信源符号的概率分布,通过以下的步骤进行香农编码 1、将信源消息符号按其出现的概率大小排列 )()()(21n x p x p x p ≥≥≥ 2、确定满足下列不等式的整数码长K i ; 1)(l o g )(l o g 22+-<≤-i i i x p K x p 3、为了编成唯一可译码,计算第i 个消息的累加概率 ∑ -== 1 1 )(i k k i x p p 4、将累加概率P i 变换成二进制数。 5、取P i 二进制数的小数点后K i 位即为该消息符号的二进制码。 四、源程序: #include #include #include #include #include using namespace std; int main() { int N; cout<<"请输入信源符号个数:";cin>>N; cout<<"请输入各符号的概率:"<

int i,j; for(i=0;i

实验十五 码型变换实验

实验十五码型变换实验 一、实验目的 1、了解几种常用的数字基带信号。 2、掌握常用数字基带传输码型的编码规则。 3、掌握常用CPLD实现码型变换的方法。 二、实验内容 1、观察NRZ码、RZ码、AMI码、HDB3码、CMI码、BPH码的波形。 2、观察全0码或全1码时各码型的波形。 3、观察HDB3码、AMI码的正负极性波形。 4、观察RZ码、AMI码、HDB3码、CMI码、BPH码经过码型反变换后的输出波形。 5、自行设计码型变换电路,下载并观察波形。 三、实验器材 1、信号源模块一块 2、⑥号模块一块 3、⑦号模块一块 4、20M双踪示波器一台 5、连接线若干 四、实验原理 (一)基本原理 在数字通信中,有些场合可以不经过载波调制和解调过程而让基带信号直接进行传输。例如,在市区内利用电传机直接进行电报通信,或者利用中继方式在长距离上直接传输PCM 信号等。这种不使用载波调制装置而直接传送基带信号的系统,我们称它为基带传输系统,它的基本结构如图15-1所示。 信道信号形成器信道接收 滤波器 抽样 判决器 基带脉冲 输出 基带脉冲 输入 干扰 图15-1 基带传输系统的基本结构 该结构由信道信号形成器、信道、接收滤波器以及抽样判决器组成。这里信道信号形成

器用来产生适合于信道传输的基带信号,信道可以是允许基带信号通过的媒质(例如能够通过从直流至高频的有线线路等);接收滤波器用来接收信号和尽可能排除信道噪声和其他干扰;抽样判决器则是在噪声背景下用来判定与再生基带信号。 若一个变换器把数字基带信号变换成适合于基带信号传输的基带信号,则称此变换器为数字基带调制器;相反,把信道基带信号变换成原始数字基带信号的变换器,称之为基带解调器。 基带信号是代码的一种电表示形式。在实际的基带传输系统中,并不是所有的基带电波形都能在信道中传输。例如,含有丰富直流和低频成分的基带信号就不适宜在信道中传输,因为它有可能造成信号严重畸变。单极性基带波形就是一个典型例子。再例如,一般基带传输系统都从接收到的基带信号流中提取定时信号,而收定时信号又依赖于代码的码型,如果代码出现长时间的连“0”符号,则基带信号可能会长时间出现0电位,而使收定时恢复系统难以保证收定时信号的准确性。归纳起来,对传输用的基带信号的主要要求有两点:(1)对各种代码的要求,期望将原始信息符号编制成适合于传输用的码型;(2)对所选码型的电波形要求,期望电波形适宜于在信道中传输。 (二)编码规则 1、 NRZ 码 NRZ 码的全称是单极性不归零码,在这种二元码中用高电平和低电平(这里为零电平)分别表示二进制信息“1”和“0”,在整个码元期间电平保持不变。例如: +E 0 1 0 1 0 0 1 1 0 2、 RZ 码 RZ 码的全称是单极性归零码,与NRZ 码不同的是,发送“1”时在整个码元期间高电平只持续一段时间,在码元的其余时间内则返回到零电平。例如: 1 0 1 0 0 1 1 0 +E 0 3、 AMI 码 AMI 码的全称是传号交替反转码。这是一种将信息代码0(空号)和1(传号)按如下方式进行编码的码:代码的0仍变换为传输码的0,而把代码中的1交替地变换为传输码的+1,-1,

相关文档
最新文档