编码器总结报告(精选5篇)

时间:2019-05-13 17:33:27下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《编码器总结报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《编码器总结报告》。

第一篇:编码器总结报告

编码器报告

1.编码器的分类

1.1按码盘的刻孔方式不同分类

(1)增量型:就是每转过单位的角度就发出一个脉冲信号(也有发正余弦信号,然后对其进行细分,斩波出频率更高的脉冲),通常为A相、B相、Z相输出,A相、B相为相互延迟1/4周期的脉冲输出,根据延迟关系可以区别正反转,而且通过取A相、B相的上升和下降沿可以进行2或4倍频;Z相为单圈脉冲,即每圈发出一个脉冲。

(2)绝对值型:就是对应一圈,每个基准的角度发出一个唯一与该角度对应二进制的数值,通过外部记圈器件可以进行多个位置的记录和测量。

1.2以编码器工作原理分类

光电式、磁电式和触点电刷式。

1.3按信号的输出类型分类

电压输出、集电极开路输出、推拉互补输出和长线驱动输出。

1.4以编码器机械安装形式分类

(1)有轴型:有轴型又可分为夹紧法兰型、同步法兰型和伺服安装型等。(2)轴套型:轴套型又可分为半空型、全空型和大口径型等。

2.编码器的工作原理

2.1光电式编码器的工作原理

旋转编码器是一种光电式旋转测量装置,它将被测的角位移直接转换成数字信号(高速脉冲信号),不同型号的旋转编码器,其输出脉冲的相数也不同,有的旋转编码器输出A、B、Z三相脉冲,有的只有A、B相两相,最简单的只有A相。

编码器有5条引线,其中3条是脉冲输出线,1条是COM端线,1条是电源线(OC门输出型)。

增量式旋转编码器通过内部两个光敏接受管转化其角度码盘的时序和相位关系,得到其角度码盘角度位移量增加(正方向)或减少(负方向)。下面对增量式旋转编码器的内部工作原理:

A,B两点对应两个光敏接受管,A,B两点间距为 S2 ,角度码盘的光栅间距分别为S0和S1。

当角度码盘以某个速度匀速转动时,那么可知输出波形图中的S0:S1:S2比值与实际图的S0:S1:S2比值相同,同理角度码盘以其他的速度匀速转动时,输出波形图中的S0:S1:S2比值与实际图的S0:S1:S2比值仍相同。如果角度码盘做变速运动,把它看成为多个运动周期(在下面定义)的组合,那么每个运动周期中输出波形图中的S0:S1:S2比值与实际图的S0:S1:S2比值仍相同。

通过输出波形图可知每个运动周期的时序为

A,B输出值保存起来,与下一个A,B输出值做比较,就可以轻易的得出角度码盘的运动方向,如果光栅格S0等于S1时,也就是S0和S1弧度夹角相同,且S2等于S0的1/2,那么可得到此次角度码盘运动位移角度为S0弧度夹角的1/2,除以所消毫的时间,就得到此次角度码盘运动位移角速度。S0等于S1时,且S2等于S0的1/2时,1/4个运动周期就可以得到运动方向位和位移角度,如果S0不等于S1,S2不等于S0的1/2,那么要1个运动周期才可以得到运动方向位和位移角度了。

2.2接触式编码器的工作原理

接触式编码器由码盘和电刷组成的。

码盘是利用制造印刷电路板的工艺,在铜箔板上制作某种码制图形的盘式印刷电路板。如8421码等。

电刷是一种活动触头结构,在外界力的作用下旋转码盘时,电刷与码盘接触就产生某种码制的某一数字编码输出。

8421码是最基本、最简单的二进制码,是用四位为今之计来表示一位等值的十进制数,工十六中组合。以8421制作的码盘和旋转轴固定在一起。

码盘上有四圈码道。相应地对应码道上有一个电刷,四个电刷沿着一个固定的径向安装。黑色部分为导电区,电刷接触导电部分时,输出高电平,白色处为绝缘区,电刷接触绝缘区是,输出低电平。

编码器的分辨率取决于码道的数目n,位数越多,分辨率越高。当然分辨率精度越高,对码盘和电刷制作和安装要求越严格。一般去n<9。

2.3电磁式编码器的工作原理

光电式编码器的主要缺点是对潮湿气体和污染敏感,而可靠性差,而电磁式编码器不易受尘埃和结露影响,同时其结构简单紧凑,可高速运转,响应速度快(达500~700KHz),体积比光电式编码器小,而成本更低,且易将多个元件精确地排列组合,比用光学元件和半导体电磁敏感元件更容易构成新功能器件和多功能器件。

码盘:在码盘上按照编码图形,制作出磁化区和非磁化区。

电刷采用小型的磁环或者马蹄型磁芯作为磁头。磁头上有两组绕组线圈,一组是激励线圈,另一组是输出线圈。

3.编码器的输出 3.1集电极开路输出

集电极开路输出是以输出电路的晶体管发射极作为公共端,并且集电极悬空的输出电路。一般分为NPN集电极开路输出(见图1)和PNP集电极开路输出(见图2)。

图1 NPN集电极开路输出

图2 PNP集电极开路输出

3.2电压输出

电压输出是在集电极开路输出的电路基础上,在电源间和集电极之间接了一个上拉电阻,使得集电极和电源之间能有一个稳定的电压状态,见图3。

图3 电压输出

3.3互补输出

互补输出是输出上具备NPN和PNP两种输出晶体管的输出电路。根据输出信号的[H]、[L],2个输出晶体管交互进行[ON]、[OFF]动作,比集电极开路输出的电路传输距离能稍远,也可与集电极开路输入机器(NPN、PNP)连接。输出电路见图4。

图4 互补输出

3.4线性驱动输出

线性驱动输出是采用RS-422标准,用AM26LS31芯片应用于高速、长距离数据传输的输出模式。信号以差分形式输出,因此抗干扰能力更强。输出信号需专门能接收线性驱动输出的设备才能接收。输出电路见图5。

图5 3.5编码器的并行输出

绝对型编码器输出的是多位数码(格雷码或纯二进制码),并行输出就是在接口上有多点高低电平输出,以代表数码的1或0,对于位数不高的绝对编码器,一般就直接以此形式输出数码,可直接进入PLC或上位机的I/O接口,输出即时,连接简单。但是并行输出有如下问题:

(1)必须是格雷码,因为如是纯二进制码,在数据刷新时可能有多位变化,读数会在短时间里造成错码。

(2)所有接口必须确保连接好,因为如有个别连接不良点,该点电位始终是0,造成错码而无法判断。

(3)(4)传输距离不能远,一般在一两米,对于复杂环境,最好有隔离。

对于位数较多,要许多芯电缆,并要确保连接优良,由此带来工程难度,同样,对于编码器,要同时有许多节点输出,增加编码器的故障损坏率。

并行输出时间上,数据同时发出;空间上,每个位数的数据各占用一根线缆。增量型编码器输出的通常是并行输出。

3.6编码器的串行输出

串行输出就是通过约定,在时间上有先后的数据输出,这种约定称为通讯规约,其连接的物理形式有RS232、RS422(TTL)、RS485等。串行输出连接线少,传输距离远,对于编码器的保护和可靠性就大大提高了,一般高位数的绝对编码器都是用串行输出的

串行输出编码器连接德国西门子的设备是比较容易的,但是连接非德国系的设备,接口就是问题了,我公司提供各种接口输出的仪表,可以解决这样的问题。

串行:时间上,数据按照约定,有先后;空间上,所有位数的数据都在一组线缆上(先后)发出。

串行是指按时间约定,串行输出数字编码信号,基本是绝对的,但也有一些增量编码器,通过内置电池记忆原点,其也可以通过串行输出位置值,如电池线不联,还是增量编码器,此也称为伪绝对值编码器,在一些日本伺服系统中较多见。其本质其实还是增量编码器。

4.编码器的常用术语

■输出脉冲数/转

旋转编码器转一圈所输出的脉冲数发,对于光学式旋转编码器,通常与旋转编码器内部的光栅的槽数相同(也可在电路上使输出脉冲数增加到槽数的2倍4倍)。■分辨率

分辨率表示旋转编码器的主轴旋转一周,读出位置数据的最大等分数。绝对值型不以脉冲形式输出,而以代码形式表示当前主轴位置(角度)。与增量型不同,相当于增量型的“输出脉冲/转”。■光栅

光学式旋转编码器,其光栅有金属和玻璃两种。如是金属制的,开有通光孔槽;如是玻璃制的,是在玻璃表面涂了一层遮光膜,在此上面没有透明线条(槽)。槽数少的场合,可在金属圆盘上用冲床加工或腐蚀法开槽。在耐冲击型编码器上使用了金属的光栅,它与金属制的光栅相比不耐冲击,因此在使用上请注意,不要将冲击直接施加于编码器上。■最大响应频率

最大响应频率是在1秒内能响应的最大脉冲数(例:最大响应频率为2KHz,即1秒内可响应2000个脉冲),公式如下:

最大响应转速(rpm)/60×(脉冲数/转)=输出频率Hz ■最大响应转速

最大响应转速是可响应的最高转速,在此转速下发生的脉冲可响应公式如下: 最大响应频率(Hz)/(脉冲数/转)×60=轴的转速rpm ■输出波形

输出脉冲(信号)的波形。■输出信号相位差

二相输出时,二个输出脉冲波形的相对的的时间差。■输出电压

指输出脉冲的电压。输出电压会因输出电流的变化而有所变化。各系列的输出电压请参照输出电流特性图 ■起动转矩

使处于静止状态的编码器轴旋转必要的力矩。一般情况下运转中的力矩要比起动力矩小。■轴允许负荷

表示可加在轴上的最大负荷,有径向和轴向负荷两种。径向负荷对于轴来说,是垂直方向的,受力与偏心偏角等有关;轴向负荷对轴来说,是水平方向的,受力与推拉轴的力有关。这两个力的大小影响轴的机械寿命 ■轴惯性力矩

该值表示旋转轴的惯量和对转速变化的阻力 ■转速

该速度指示编码器的机械载荷限制。如果超出该限制,将对轴承使用寿命产生负面影响,另外信号也可能中断。■格雷码

格雷码是高级数据,因为是单元距离和循环码,所以很安全。每步只有一位变化。数据处理时,格雷码须转化成二进制码。■工作电流

指通道允许的负载电流。■工作温度

参数表中提到的数据和公差,在此温度范围内是保证的。如果稍高或稍低,编码器不会损坏。当恢复工作温度又能达到技术规范。■工作电压

编码器的供电电压。5.总结

编码器为传感器类的一种,主要用来侦测机械运动的速度、位置、角度、距离或计数,除了应用在产业机械外,许多的马达控制如伺服马达、BLDC伺服马达均需配备编码器以供马达控制器作为换相、速度及位置的检出所以应用范围相当广泛。光电编码器是利用光栅衍射原理实现位移—数字变换的,从50年代开始应用于机床和计算仪器,因其结构简单、计量精度高、寿命长等优点,在国内外受到重视和推广,在精密定位、速度、长度、加速度、振动等方面得到广泛的应用。

第二篇:编码器基础知识

编码器基础知识.txt逆风的方向,更适合飞翔。我不怕万人阻挡,只怕自己投降。你发怒一分钟,便失去60分钟的幸福。忙碌是一种幸福,让我们没时间体会痛苦;奔波是一种快乐,让我们真实地感受生活;疲惫是一种享受,让我们无暇空虚。生活就像“呼吸”“呼”是为出一口气,“吸”是为争一口气。增量旋转编码器选型有哪些注意事项?

应注意三方面的参数:

1.机械安装尺寸,包括定位止口,轴径,安装孔位;电缆出线方式;安装空间体积;工作环境防护等级是否满足要求。

2.分辨率,即编码器工作时每圈输出的脉冲数,是否满足设计使用精度要求。

3.电气接口,编码器输出方式常见有推拉输出(F型HTL格式),电压输出(E),集电极开路(C,常见C为NPN型管输出,C2为PNP型管输出),长线驱动器输出。其输出方式应和其控制系统的接口电路相匹配。

请教如何使用增量编码器?

1,增量型旋转编码器有分辨率的差异,使用每圈产生的脉冲数来计量,数目从6到5400或更高,脉冲数越多,分辨率越高;这是选型的重要依据之一。

2,增量型编码器通常有三路信号输出(差分有六路信号):A,B和Z,一般采用TTL电平,A脉冲在前,B脉冲在后,A,B脉冲相差90度,每圈发出一个Z脉冲,可作为参考机械零位。一般利用A超前B或B超前A进行判向。

3,使用PLC采集数据,可选用高速计数模块;使用工控机采集数据,可选用高速计数板卡;使用单片机采集数据,建议选用带光电耦合器的输入端口。

4,建议B脉冲做顺向(前向)脉冲,A脉冲做逆向(后向)脉冲,Z原点零位脉冲。

5,在电子装置中设立计数栈。

关于电源供应及编码器和PLC连接:

一般编码器的工作电源有三种:5Vdc、5-13 Vdc或11-26Vdc。如果你买的编码器用的是11-26Vdc的,就可以用PLC的24V电源,需注意的是:

1. 编码器的耗电流,在PLC的电源功率范围内。

2. 编码器如是并行输出,连接PLC的I/O点,需了解编码器的信号电平是推拉式(或称推挽式)输出还是集电极开路输出,如是集电极开路输出的,有N型和P型两种,需与PLC的I/O极性相同。如是推拉式输出则连接没有什么问题。

3. 编码器如是驱动器输出,一般信号电平是5V的,连接的时候要小心,不要让24V的电源

电平串入5V的信号接线中去而损坏编码器的信号端。

干扰的问题

选择什么样的输出对抗干扰也很重要,一般输出带反向信号的抗干扰要好一些,即A+~A-,B+~B-,Z+~Z-,其特征是加上电源8根线,而不是5根线(共零)。带反向信号的在电缆中的传输是对称的,受干扰小,在接受设备中也可以再增加判断(例如接受设备的信号利用

A、B信号90°相位差,读到电平10、11、01、00四种状态时,计为一有效脉冲,此方案可有效提高系统抗干扰性能(计数准确))。

何为长线驱动?普通型编码器能否远距离传送?

长线驱动也称差分长线驱动,5V,TTL的正负波形对称形式,由于其正负电流方向相反,对外电磁场抵消,故抗干扰能力较强。普通型编码器一般传输距离是100米,如果是24V HTL型且有对称负信号的,传输距离300-400米。

增量光栅Z信号可否作零点?圆光栅编码器如何选用?

无论直线光栅还是轴编码器其Z信号的均可达到同AB信号相同的精确度,只不过轴编码器是一圈一个,而直线光栅是每隔一定距离一个,用这个信号可达到很高的重复精度。可先用普通的接近开关初定位,然后找最为接近的Z信号(每次同方向找),装的时候不要望忘了将其相位调的和光栅相位一致,否则不准。

增量型编码器和绝对型编码器有何区别?做一个伺服系统时怎么选择呢?

常用的为增量型编码器,如果对位置、零位有严格要求用绝对型编码器。伺服系统要具体分析,看应用场合。

测速度用常用增量型编码器,可无限累加测量;测位置用绝对型编码器,位置唯一性(单圈或多圈),最终看应用场合,看要实现的目的和要求。

绝对型旋转编码器选型注意事项,旋转编码器和接近开关、光电开关优势比较:

绝对编码器单圈从经济型8位到高精度17位;

绝对编码器多圈大部分用25位,输出有SSI,总线Profibus-DP,Can L2,Interbus,DeviceNet。

从增量式编码器到绝对式编码器

旋转增量式编码器以转动时输出脉冲,通过计数设备来知道其位置,当编码器不动或停电时,依靠计数设备的内部记忆来记住位置。这样,当停电后,编码器不能有任何的移动,当来电工作时,编码器输出脉冲过程中,也不能有干扰而丢失脉冲,不然,计数设备记忆的零点就会偏移,而且这种偏移的量是无从知道的,只有错误的生产结果出现后才能知道。

解决的方法是增加参考点,编码器每经过参考点,将参考位置修正进计数设备的记忆位置。在参考点以前,是不能保证位置的准确性的。为此,在工控中就有每次操作先找参考点,开机找零等方法。

比如,打印机扫描仪的定位就是用的增量式编码器原理,每次开机,我们都能听到噼哩啪啦的一阵响,它在找参考零点,然后才工作。

这样的方法对有些工控项目比较麻烦,甚至不允许开机找零(开机后就要知道准确位置),于是就有了绝对编码器的出现。

绝对编码器光码盘上有许多道刻线,每道刻线依次以2线、4线、8线、16线。。。编排,这样,在编码器的每一个位置,通过读取每道刻线的通、暗,获得一组从2的零次方到2的n-1次方的唯一的2进制编码(格雷码),这就称为n位绝对编码器。这样的编码器是由码盘的机械位置决定的,它不受停电、干扰的影响。

绝对编码器由机械位置决定的每个位置的唯一性,它无需记忆,无需找参考点,而且不用一直计数,什么时候需要知道位置,什么时候就去读取它的位置。这样,编码器的抗干扰特性、数据的可靠性大大提高了。

由于绝对编码器在位置定位方面明显地优于增量式编码器,已经越来越多地应用于工控定位中。

测速度需要可以无限累加测量,目前增量型编码器在测速应用方面仍处于无可取代的主流位置。

从单圈绝对式编码器到多圈绝对式编码器

旋转单圈绝对式编码器,以转动中测量光码盘各道刻线,以获取唯一的编码,当转动超过360度时,编码又回到原点,这样就不符合绝对编码唯一的原则,这样的编码器只能用于旋转范围360度以内的测量,称为单圈绝对式编码器。

如果要测量旋转超过360度范围,就要用到多圈绝对式编码器。

编码器生产厂家运用钟表齿轮机械的原理,当中心码盘旋转时,通过齿轮传动另一组码盘(或多组齿轮,多组码盘),在单圈编码的基础上再增加圈数的编码,以扩大编码器的测量范围,这样的绝对编码器就称为多圈式绝对编码器,它同样是由机械位置确定编码,每个位置编码唯一不重复,而无需记忆。

多圈编码器另一个优点是由于测量范围大,实际使用往往富裕较多,这样在安装时不必要费劲找零点,将某一中间位置作为起始点就可以了,而大大简化了安装调试难度。

绝对型编码器的串行和并行输出的介绍

并行输出:

绝对型编码器输出的是多位数码(格雷码或纯二进制码),并行输出就是在接口上有多点高低电平输出,以代表数码的1或0,对于位数不高的绝对编码器,一般就直接以此形式输出数码,可直接进入PLC或上位机的I/O接口,输出即时,连接简单。但是并行输出有如下问题:

1。必须是格雷码,因为如是纯二进制码,在数据刷新时可能有多位变化,读数会在短时间里造成错码。

2。所有接口必须确保连接好,因为如有个别连接不良点,该点电位始终是0,造成错码而无法判断。

3。传输距离不能远,一般在一两米,对于复杂环境,最好有隔离。

4。对于位数较多,要许多芯电缆,并要确保连接优良,由此带来工程难度,同样,对于编码器,要同时有许多节点输出,增加编码器的故障损坏率。

并行:时间上,数据同时发出;空间上,每个位数的数据各占用一根线缆。

增量型编码器输出的通常是并行输出。

串行输出:

串行输出就是通过约定,在时间上有先后的数据输出,这种约定称为通讯规约,其连接的物理形式有RS232、RS422(TTL)、RS485等。

串行输出连接线少,传输距离远,对于编码器的保护和可靠性就大大提高了,一般高位数的绝对编码器都是用串行输出的。

由于绝对型编码器的部分知名厂家在德国,所以串行输出大部分是与德国的西门子配套的,如SSI同步串行输出,总线型是PROFIBUS-DP的输出等。

串行输出编码器连接德国西门子的设备是比较容易的,但是连接非德国系的设备,接口就是问题了,我公司提供各种接口输出的仪表,可以解决这样的问题。

串行:时间上,数据按照约定,有先后;空间上,所有位数的数据都在一组线缆上(先后)发出。

串行编码器应该都是绝对式的?

串行是指按时间约定,串行输出数字编码信号,基本是绝对的,但也有一些增量编码器,通过内置电池记忆原点,其也可以通过串行输出位置值,如电池线不联,还是增量编码器,此也称为伪绝对值编码器,在一些日本伺服系统中较多见。其本质其实还是增量编码器。

为什么叫“绝对型编码器”?

“绝对型编码器”相对于“增量型编码器”而言。

“绝对型编码器”使用某种方式表示并记忆物体的绝对位置,角度和圈数。即一旦位置,角度和圈数固定,什么时候编码器的示值都唯一固定,包括停电后投电。“增量型编码器”做不到这一点。一般“增量型编码器”输出两个A、B脉冲信号,和一个Z(L)零位信号,A、B脉冲互差90度相位角。通过脉冲计数可以知道位置,角度和圈数增量,通过A,B脉冲信号超前或滞后可以知道方向,停电后,必须从约定的基准重新开始计数。“增量型编码器”表示位置,角度和圈数需要做后处理,重新投电要做“复零”操作,所以,“增量型编码器”比“绝对型编码器”在价格上便宜许多。

绝对值编码器SSI输出,同时提供了增量值信号A、B两相1Vpp,是派什么用处的?

在我们提供的绝对值编码器,德国的HEIDENHAIN的SSI输出和德国HENGSTLER的SSI输出,都同时提供了增量值信号A、B两相1Vpp正弦波输出,构成了绝对与增量的双输出,很多用户不明白这个增量信号是干什么用的,而剪掉联线废弃不用,真是蛮可惜的。

一。此增量信号可以作为绝对信号的冗余。

二。可以让绝对信号作为位置闭环,而增量信号作为速度闭环,构成位置控制与速度控制的双闭环系统,以达到位置的准确(无位置冲过头而振荡)和速度的高效,这是一个较先进的课题,目前国内似乎还没有看到有很好的应用介绍。

三。增量信号是正弦波信号,其可以用模拟电路细分,这样,在绝对值编码器两个最小相邻码之间,还可以因为相位的变化不同,获得更精细的分辨率,从而可以大大提高绝对值编码器的分辨率。

电子凸轮开关

现在还有一种绝对值、增量值、定位电子凸轮开关三输出的编码器,除了上面介绍的RS485绝对值信号、A/B增量值信号以外,还同时提供了多点定位电子凸轮开关,可预设定位开关,到预设位置可直接输出开关信号,控制减速、停车。这样,这一个绝对值编码器可同时输出连续绝对值信号显示位置、输出增量值信号作速度闭环、输出定位电子凸轮开关控制减速、定位!

SSI与Biss、Endat、Hipeface:

SSI为同步串联界面(synchronous-serial interface)的英文缩写,其实际为两个RS422通道,利用中断的时钟同步读数,最高时钟速度1.1 MHz.ssi的数据形式最简单,一般不包含CRC校验、产品内部信息及地址,在运动控制中,有提出更快、信息更多的要求时,各家编码器厂家推出了各自的方案,以海德汉为首的联合西门子公司,推出的是Endat;以宝马集团及亨斯乐推出的是Biss(有个Biss协会);以STEGMANN为首的推出hipeface.实际上都是在SSI的基础上的改良的,基本物理格式都差不多,RS422(或RS485),由时钟脉冲触发,只是速度更快,可达2-10MHZ,并可增加编码器的内部信息、CRC校验、故障报警的功能,有的可以增加地址,有的可以增加正余弦增量信号作冗余。由于目前的协议不同一,这些输出都要连接专用的接口,故具体使用,还是建议直接找各自的编码器厂家咨询为好。

就我们使用的经验,除非你对速度及编码器安全有特别的要求,一般还是用SSI通用的好,方便。

绝对型编码器(多圈)与PLC的连接有多种方法,简单介绍几种:

1。SSI或各种总线连接,缺点是要用专用SSI接口或总线模块,有的PLC还没有,成本较高。

2。并行连接,进PLC的开关输入模块,但多圈的位数高,要十几、二十几根线缆,可靠性降低,成本上去了。

3。4--20mA(选择有模拟量输出功能的绝对值多圈编码器)进模拟量电流模块,缺点,精度有所牺牲。

4。MODBUS RTU进485通讯接口(要有双向功能的),缺点:要专门编程,速度可能降低,有时设备地址会丢。

一般的单圈位数低的用第二种方法。而多圈的要看应用了,简单点的用4--20mA的方法。

第三篇:编码器知识小结

编码器知识小结

一、关于编码器

1、名词解释

编码器(encoder),是一种对运动中的机械位移变化信息(包括位置、速度、角度、力矩等)进行检测,并以数字化的形式将采集到的信息进行编码输出的传感器,是一种角位移传感器。

2、应用

根据编码器的特点,其广泛应用于数控机床、自动生产线、加工中心、机器人、医疗器械、雷达、电梯、起重机械、伺服电机、测控行业等领域。但由于产品的特殊性,多数人对编码器本身了解很少,其更多的应用在OEM市场,如电梯、机床、伺服电机配套便是其主要应用领域,占据了整体应用市场份额的53%。

3、分类

编码器的种类很多,根据不同的分类方式,主要有以下几种:

A、根据检测原理,编码器可分为光电式、磁式、感应式和电容式。B、根据测量方式,编码器可分为直线式和旋转式。

C、根据编码方式,编码器可分为增量式、绝对式、混合式。

编码器种类的不同,其用途也存在相应的差异,如绝对式编码器相比增量式编码器来说,其在定位方面明显优于增量式编码器,已越来越多的用于工控定位中,当然其价格也更高。

在选择具体的编码器时,除了考虑以上的分类之外,还需要考虑使用环境、安装机械条件、电机的大小、精度的高低,成本要求等因素。

4、生产厂家

目前生产编码器的厂家有很多,市场份额较高的企业主要有Heidenhain、Tamagawa、Nemicon、Yuheng、Baumer、Rep、P+F、Danaher、Koyo、Omron等,市场集中度很高,前三名的企业占据了接近50%的市场份额。其中欧美品牌占据了高端市场,其产品价格较高;韩日企业占据了中端市场,产品定价居中;而国内企业主要进攻低端市场,以量取胜。

部分企业及相关产品见附表。

5、发展趋势: 随着工业4.0时代的到来,在数控机床、工业机器人、3D打印机、伺服系统、高精度闭环控制系统领域中,其对于精度高、响应快速、稳定性好、体积小的编码器的需求将越来越多。

编码器的发展趋势主要有以下几个方向:

第一,设计专用产品。如中达电通设计了CNC专用增量式编码器和伺服电机专用型编码器,新推出CNC主轴专用的CS7系列编码器,其结构紧凑、外型小巧,分辨率较高,采用线驱动输出,转速快。

第二,优化产品结构。如伊贝基公司将传统的码盘改为码轮,优化算法,使编码器的体积更小而精度更高。

第三,进一步提高光电编码器的性能,制造高精度、高分辨率、高频响的光电轴角编码器是提高其性能的三个主要方向。

第四,差异化的信号传输与接口设计。

第五,产品制造向系列化、标准化方向发展。为适应批量生产,满足市场需求,光电编码器的产品及其组成元件应本着低成本,高质量的原则逐渐向系列化、标准化的方向发展。

第六,适用于恶劣的工作环境。在某些特殊的应用场合,要求光电编码器有良好的抗冲击、耐高温、耐腐蚀、及防振动等能力,即不仅能工作在较理想的工作环境中,也能在恶劣的条件下正常运行。

二、关于伊贝基编码器

1、伊贝基编码器的特点

伊贝基主要产品为增量式光电旋转编码器。相对于传统光电编码器,其结构上的主要区别在于用码轮取代码盘。传统码盘直径小到一定程度时,受制于现有加工工艺水平,其精度会达到一个瓶颈。而伊贝基编码器将码盘改为码轮后,通过优化算法,码轮的直径可以达到非常小(最小直径5mm),而精度非常高。

2、产品现状

公司现有产品具有直径小、精度高、性价比高、零位宽度可选、带自检功能,可根据用户需求进行部分差异化设计等特点;但产品线单

一、市场份额较低,潜在用户获知了解公司产品的渠道少。

3、公司产品发展方向

a、保持或加大研发投入,保持或进一步巩固公司在小直径高精度编码器领域的领先地位。

b、加大市场推广,增加产品曝光率,提供更多渠道给现有及潜在客户以了解公司产品。

c、完善售前、售后服务体系。

d、改进生产工艺,现有生产工艺自动化程度较低,人工参与度较高,产品质量受人因素影响较高,且容易达到产量瓶颈。

e、丰富公司产品线,增加市场占有率。f、严格控制产品质量。

第四篇:数字视频信号源的编码器和解码器的研究

课程设计说明书

第 I页

数字视频信号源的编码器和解码器的设计

摘 要

数字视频/音频压缩编码是数字电视广播系统中非常重要的环节,主要解决电视信号数字化后所带来的海量数据量如何能够有效地存储和传输的问题。近20年来,视频/音频压缩编码技术一直处于快速发展之中,新技术和新标准不断涌现,现代视频/音频压缩编码技术已经比较成熟,可以在保持较好图像质量前提下,达到较高的压缩比。

近年来,卫星数字广播电视逐渐走进千家万户,受到大众的喜爱。与传统的模拟电视相比,卫星数字广播电视采用了全数字的图像/声音处理技术,MPEG-2这一数字视频音频编码标准被应用其中。MPEG-2采用的具有运动补偿的帧间压缩编码技术支持高图像分辨率,为数字广播电视行业带来了技术性的革命。本文主要针对数字视频信号源的编码器和解码器的研究。

关键词:视频/音频压缩编码技术,编码器,译码器

课程设计说明书

第II页

目 录

1数字电视的优点和发展概况及其基本结构..........................................................................1 1.1数字电视的优点和发展概况.............................................................................................1 1.2数字电视的基本组成.........................................................................................................3 2视频压缩编码的方法..............................................................................................................3 2.1 AVI.......................................................................................................................................3 2.2运动补偿预测.....................................................................................................................5 2.3 预测编码基本原理.............................................................................................................5 2.4混合编码.............................................................................................................................7 3 MPEG-2编码器原理..............................................................................................................7 3.1MPEG-2标准的基本结构...................................................................................................7 3.2MPEG-2视频编码系统原理及关键技术...........................................................................8 4 MPEG-2解码器原理............................................................................................................10 总

结.......................................................................................................................................12 致

谢.......................................................................................................................................13 参考文献...................................................................................................................................14

课程设计说明书

第 1页

1数字电视的优点和发展概况及其基本结构

1.1数字电视的优点和发展概况

数字电视主要有清晰度高,音频效果好,抗干扰能力强,频道数量大增,可以支持500套数字频道,可开展多功能的交互式电视服务等优势,笔者将详细论述其多样的频道和人性化服务的优势,以及其特有的产品价值。

(1)花样百出的付费频道

数字电视中的节目,尤其是付费频道的节目,是数字电视实现盖利之根本,要想使付费频道能被用户所接受,其节目的内容的品质需要更为上乘。首先,各地所开播的付费频道其有小众化、专业化、个性化、多元化、服务性的特点。如北广传媒开办的付费频道中有《考试在线》、《四海钓鱼》、《车迷》、《爱家购物》、《动感音乐》等。上海付费频道中视频节目有24套,音频节目10套。另外,从这几个频道的名称就可以看出,付费频道的钊一对性十分的强,基本都固定在一个小的专业领域里,这样就符合当今受众越来越突出个体的需要以及对快速获得所需信息的效率追求。另外,由于各类付费频道对于专业性的要求更高,所以只依靠节目制作者本身是不够的,那么就出现了与社会机构合作经营付费频道和引入海外节目的形式。如江苏《靓装频道》,为了强化其国际性,该频道投入大量资金,通过法国Fashion TV在国内的版权代理唐龙国际传媒公司购买节目版权,另外还与美国部分时尚媒体建立了合作关系。吉林电视台的《吉祥购物频道》是与上海合家购物有限公司合作推出,全部节目在上海制作完成,吉林电视台负责节目策划和播出,上海合家购物公司提供完善、丰富的物流保障。

(2)数字电视的人性化服务特质

首先,数字电视本身存在着众多的优点,从数字电视和模拟电视情况的比较就可以看出,数字电视无论从技术条件,还是内容结构,甚至是盖利方式,都可以促使其更加注重通过服务来赢得用户。所以,现今条件下,观众可以获得以下几种便利服务:一是数字增值服务,这类服务使电视成为了一种信息工其和娱乐工其。如电视节目指南(EGP),这就类似于书本的目录一样,它可以把现在播放的各个电视台的节目列成一份节目单,用户可以根据自己的需求进行选 课程设计说明书

第2页

择,节省了模拟电视中通过不断调台来选择节目的时间。另外,以上海数字付费电视和青岛模式为例,在上海数字付费电视中的数据增值服务共有7类,如《气象信息》、《新闻中心》、《坚果游戏》、《股票行情》等。而在青岛模式中,它为用户提供了海量信息,其搭建了电子政务平台、文化教育平台、生活信息平台,电子商务平台。这此平台随时为用户提供了最新的政府建设、居民生活、股市即时行情等信息。其实,这样的资讯平台,也是数字电视拓展外围业务的有利手段。如英国的B-SKY-B就有一个《Open》的购物频道,它上面销售的东西包括PC、电器、书和唱片等,更重要的是其便捷的交易方式,提高了“冲动型购买”的机会,由于B-SKY-B的机顶盒本身安装时就有加密系统,对于用户信息和地址十分清楚,所以用户根本不用敲自己的地址甚至是信用卡号,就可以实现交易。二是视频点播服务(VOD),主要分为两类准视频点播,即“预先安排好节目菜单及电视节目播出时间表,将同一节目以一定的时间间隔安排在不同的数字频道内播出。”和真视频点播,它可以实现用户自行控制节目播放情况,如请进和后退。三是下载服务。如果用户想观看某个电视节目,却在节目播出的时段没有时间,那么就可以通过预订节目,让运营方把该节目下载到机顶盒中,让用户可以依据自己的时间观看该节目。四是互联网接入。用户可以用电视浏览网站,而且其速度比电脑更快。

(3)有别于传统电视的产品价值

由于传统电视媒体生产的节目是一种单纯的“灌输”式的“免费便餐”,电视上有什么节目,观众就被动的在现有的节目中进行选择,并且传统电视节目的价值只有拥有了广告时段,广告商的赞助,才会获得价值,所以节目被卖给了广告商,受众被卖给了广告,并不是一种不等价交换。因而,传统电视媒体的产品与商品从根本上违背了市场价值规律。“而数字电视媒体的产品是真正意义上的等价交换商品,它通过市场经济‘那只无形的手’,以付费电视收视点击次数和收视群体文化背景的统计信息,发挥按质论价、优胜劣汰的市场调节作用,客观地依据价值法规创造产品的增值与增量。”所以,数字电视的节目成为了一种单纯的商品,其价值本身就在于它所包含的信息,是否可以满足观众的需求,观众看电视就像是逛超级市场,面对明码标价的商品,自主选择各类商品。这种售出方式,才是以受众为本位,实现信息的有效获取。

课程设计说明书

第3页

1.2数字电视的基本组成

交互式数字电视系统由三部分组成:数字前端系统、双向传输网络和用户终端系统[1]。

数字前端系统通常划分为信源处理、信息处理和传输处理三部分,完成节目的数字化、加扰、授权和认证等功能;双向传输网络主要通过卫星、Cable、地面发射、MMDS等方式将节目传送到用户家中,回传可采用HFC回传通道、PSTN和其它网络;用户终端系统采用机顶盒(STB)收看数字电视节目或实现交互式功能,如收看付费电视、实现Internet浏览、远程教育等。

2视频压缩编码的方法

压缩编码的方法有几十种之多,并在编码过程中涉及较深的的数学里理论基础问题,在此仅介绍几种常用的压缩编码方法[2]。2.1 AVI AVI(Audio Video Interleave)是一种音频视像交插记录的数字视频文件格式。1992年初Microsoft公司推出了AVI技术及其应用软件VFW(Video for Windows)。在AVI文件中,运动图像和伴音数据是以交织的方式存储,并独立于硬件设备。这种按交替方式组织音频和视像数据的方式可使得读取视频数据流时能更有效地从存储媒介得到连续的信息。构成一个AVI文件的主要参数包括视像参数、伴音参数和压缩参数等[3]。2.1.1视像参数

(1)、视窗尺寸(Video size):根据不同的应用要求,AVI的视窗大小或分辨率可按4:3的比例或随意调整:大到全屏640×480,小到160×120甚至更低。窗口越大,视频文件的数据量越大。

(2)、帧率(Frames per second):帧率也可以调整,而且与数据量成正比。不同的帧率会产生不同的画面连续效果。2.1.2伴音参数

在AVI文件中,视像和伴音是分别存储的,因此可以把一段视频中的视像与另一段视频中的伴音组合在一起。AVI 文件与WAV文件密切相关,因为WAV

课程设计说明书

第4页

文件是AVI文件中伴音信号的来源。伴音的基本参数也即WAV文件格式的参数,除此以外,AVI文件还包括与音频有关的其他参数[4]:

(1)视像与伴音的交织参数(Interlace Audio Every X Frames)AVI格式中每X帧交织存储的音频信号,也即伴音和视像交替的频率X是可调参数,X的最小值是一帧,即每个视频帧与音频数据交织组织,这是CD-ROM上使用的默认值。交织参数越小,回放AVI文件时读到内存中的数据流越少,回放越容易连续。因此,如果AVI文件的存储平台的数据传输率较大,则交错参数可设置得高一些。当AVI文件存储在硬盘上时,也即从硬盘上读AVI文件进行播放时,可以使用大一些的交织频率,如几帧,甚至1秒[5]。

(2)同步控制(Synchronization)在AVI文件中,视像和伴音是同步得很好的。但在MPC中回放AVI文件时则有可能出现视像和伴音不同步的现象。

(3)压缩参数:在采集原始模拟视频时可以用不压缩的方式,这样可以获得最优秀的图像质量。编辑后应根据应用环境环择合适的压缩参数。2.1.3AVI数字视频的特点

提供无硬件视频回放功能:AVI格式和VFW软件虽然是为当前的MPC设计的,但它也可以不断提高以适应MPC的发展。根据AVI格式的参数,其视窗的大小和帧率可以根据播放环境的硬件能力和处理速度进行调整。在低档MPC机上或在网络上播放时,VFW的视窗可以很小,色彩数和帧率可以很低;而在Pentium级系统上,对于64K色、320×240的压缩视频数据可实现每秒25帧的回放速率。这样,VFW就可以适用于不同的硬件平台,使用户可以在普通的MPC上进行数字视频信息的编辑和重放,而不需要昂贵的专门硬件设备。

实现同步控制和实时播放:通过同步控制参数,AVI可以通过自调整来适应重放环境,如果MPC的处理能力不够高,而AVI文件的数据率又较大,在WINDOWS环境下播放该AVI文件时,播放器可以通过丢掉某些帧,调整AVI的实际播放数据率来达到视频、音频同步的效果。

可以高效地播放存储在硬盘和光盘上的AVI文件:由于AVI数据的交叉存储,VFW播放AVI数据时只需占用有限的内存空间,因为播放程序可以一边读取硬盘或光盘上的视频数据一边播放,而无需预先把容量很大的视频数据加载到内存中。在播放AVI视频数据时,只需在指定的时间内访问少量的视频图像

课程设计说明书

第5页

和部分音频数据。这种方式不仅可以提高系统的工作效率,同时也可以实现迅速地加载和快速地启动播放程序,减少播放AVI视频数据时用户的等待时间。

提供了开放的AVI数字视频文件结构:AVI文件结构不仅解决了音频和视频的同步问题,而且具有通用和开放的特点。它可以在任何Windows环境下工作,而且还具有扩展环境的功能。用户可以开发自己的AVI视频文件,在Windows环境下可随时调用。

AVI文件可以再编辑:AVI一般采用帧内有损压缩,可以用一般的视频编辑软件如Adobe Premiere或Media Studio进行再编辑和处理。2.2运动补偿预测

待传送的时变图像一般都包含几个具有不同运动队的物体。如果摄像机固定, 则景物静止;在摇镜头的情况下, 景物则以几乎均匀的速度移动。在任何一种情况下, 除由于运动而新增的背景和前景外, 奇遇像元都在前一帧出现过, 它的位置取决于所属物体的运动情况。因此, 如果图像的运动已知, 就可以通过对前一帧图像上的像元位移和插值来得到当前场像元的良好预测, 这正是运动补偿预测编码的基础, 其目的是使预测建立在更接近输入信号实际模型的基础上, 以获得比固定预测器更好的改进。其基本技术包含以下几部分: 1.图像位移场的估计:一个简单的方法是首先从图像中分出固定背景和具有不同但均匀位移的几个物体, 然后分别计算每个物体的位移量。

2.利用位移量产生运动补偿的预测(这包括前面场或帧的插值)。3.对预测误差及附带信息(分割和位移估计)进行编码。

对于固定物体和背景来说, 位移为零, 最佳预测就是前一帧的数据。对运动区域来说, 预测就是插值滤波器的输出, 滤波器的参数由位移估计决定。2.3 预测编码基本原理

由于语音信号的相邻抽样点之间有一定的幅度关联性,所以,可根据以前时刻的样值来预测现时刻的样值,只要传预测值和实际值之差,而不需要每个样值都传输。这种方法就是预测编码。

语音信号的样值可分为可预测和不可预测两部分。可预测部分(相关部分)是由过去的一些权值加权后得到的;不可预测的部分(非相关部分)可看成是预

课程设计说明书

第6页

测误差。这样,在数字通信中,就不用直接传送原始话音信号序列,而只传送差值序列。因为差值序列的信息可以代替原始序列中的有效信息,而差值信号的能量远小于原样值,就可以使量化电平数减少,从而大大地压缩数码率。在接收端,只要把差值序列叠加到预测序列上,就可以恢复原始序列。

图1给出了差值脉码调制(DPCM)系统原理框图。图中输入样值信号接收端重建信号为后的差值,是,是输入信号与预测信号的差值,为量化

经编码后输出的数字码。

图1DPCM系统

编码器中的预测器与解码器中的预测器完全相同。因此,在无传输误码的情况下,解码器输出的重建信号化误差定义为输入信号

和编码器的完全相同。DPCM的总量的差值。即有

与解码器输出的重建信号

由上式可知,在这种DPCM系统中,总量化误差只和差值信号的量化误差有关。图2说明了预测的原理。

课程设计说明书

第7页

图2 DPCM预测原理

由图2可见,预测值跟踪输入信号抽样值变化。DPCM的方框图如图2.3中,它是典型的线性预测方式。

设原始信号序列中是序列中现在的样值,而,并用

是的前

为,其

个样值。若选用的前N个样值来预测

其中,j为任意整数,表示预测值,则

数。为预测系数或加权系

是过去N个为预测阶数。由上式可见,线性预测中,第n个预测值样值的线性组合。2.4混合编码

将几种图像序列的压缩技术结合起来, 就构成了混合编码方法。不同的图像压缩技术有不同的优缺点。适当的结合有利于图像更好的压缩。MPEG-2编码器原理

3.1MPEG-2标准的基本结构

MPEG全名:Moving Pictures Experts Group,中文译名: 动态图像专家组。MPEG-2是该工作组于1994年发布的视频和音频压缩国际标准,正式名称

课程设计说明书

第8页

为:活动图像及伴音信息的通用编码。MPEG-2标准分为9个部分,统称为ISO/IECI38l8国际标准。第一部分系统,这一部分对MPEG-2的系统层次结构进行了定义,描述这一标准是如何将多个视频,音频和数据的基本码流合成传输码流和节目码流的;第二部分视频,描述了视频的编码方法,目的在于使视频数据能够以计算机能够处理的形式在电视广播信道上进行传输;第三部分音频,是在MPEG-1基础上进行的改进,用于音频信号的编码和解码,与MPEG-1的音频编码音频标准是反向兼容的:第四部分符合测试,对每一个编码码流进行检验,判断其是否符合MPEG-2标准码流;第五部分软件,描述MPEG-2标准如何以软件形式将第一、二、三部分实现的方法;第六部分数字化存储媒体命令与控制部分,介绍了在交互式多媒体网络中服务器与用户之间会话指令的控制规范。这六个部分已经成为了国际编码的正式标准,在数字电视领域中得到了广泛的应用。MPEG-2标准的第七部分规定了多通道音频编码,与MPEG-1音频不存在反向兼容关系;第八部分目前已停止运作;第九部分规定了传送码流的实时接口。

3.2MPEG-2视频编码系统原理及关键技术

MPEG-2图像压缩的原理利用了图像的空间相关性和时间相关性。图像的空间相关性是指在一帧图像内每一个场景都是由数以亿计的像素点构成的,通常状况下一个像素与其周围的一些像素在亮度、色度上存在的特定关系; 图像的时间相关性是因为一个节目是由若干个情节构成,一个情节包含众多的图像序列,而图像序列是由许多帧连续的图像组成的,在任何一个图像序列中,前后帧的图像存在一定的相关性。

在卫星数字广播电视的传输过程中,在卫星数字广播电视的传输过程中,如果将所得有信息都以编码形式进行传输就会影响传输速率,加大系统负担。因而,问题的关键就在于如何剔除图像中由于时间相关性和空间相关性造成的冗余信息,通过保留非相关信息的传输以节省传输占用的频带,接收机再按照特定的解码方法,利用传出过去的非相关信息恢复成原始图像,同时需要确保图像质量使画面尽可能的清晰连贯。

MPEG-2标准的视频压缩编码技术与传统技术相比能够在相同画面质量的前提下更大的限度上去除图像中存在的冗余信息。MPEG-2标准利用了具有运

课程设计说明书

第9页

动补偿特点的帧间压缩编码技术、DCT技术、熵编码减少了视频传输的时间冗余度、空间冗余度,信息表示上的统计冗余度,从而极大地增强了压缩性能,节省了视频传输占用的频带。

(一)帧间压缩编码技术

MPEG-2中的编码图像由I帧,P帧、B帧三类构成。I帧图像采用了帧内编码的方式,压缩的倍数较低。通过减少单帧图像内的空间相关性而暂时忽略时间相关性在接收机初始化、信道获取、节目的切换和插入上减少了视频冗余。通过编码器对I帧图像出现频率的选择使其周期性地出现于图像序列中。P帧和B帧图像都采用了帧间编码的方式,利用空间相关性的同时利用了时间相关性。P帧图像采用的前向时间预测提高了视频压缩的效率和图像的质量。B帧图像采用了未来帧作为参考,将图像帧于帧之间的传输顺序和显示顺序打乱进行传输,通过双向时间预测大大地提高了视频压缩倍数。

(二)DCT技术

DCT技术实际上是空间变换技术的一种,在MPEG-2标准中DCT的基本单位是8x8的像块。

DCT变换通过设置像块能量的位置,DCT变换通过设置像块能量的位置,将图像的能量集中在少数几个低频的DCT系数上,在新生成的8x8的DCT系数块中,左上角少量低频系数被赋予较大的数值,其余系数被赋予较小的数值,这样就可以在只编码和传输几个少数系数的同时对图像质量不造成破坏。虽然DCT技术没有对图像直接进行压缩,但通过对图像能量的集中为下一步的压缩奠定了基础。量化过程实际上就是以某个量化步长去除DCT系数。量化的步长越小,包含的视频信息越多,量化精度也就越细,但是所需要的传输频带也就高。由于人类的视觉对低频系数感应更为明显,因而在DCT变换系数中,对越低频系数分配的量化精度越细,对越高频系数分配的量化精度越粗,一般情况下,大多数的高频系数在量化之后都会转变为零。通过这一方式,在量化精度不严重超过需要的前提下,尽可能多地涵盖了DCT空间的频率信息。量化后,8x8二维矩阵中大多数的非零DCT系数位于左上角,通过之型扫描将原来的二维数组转换为一维数组后,这些系数集中在数组的前部,量化结果为零的DCT系数则位于数组键字、所用技术、应用领域、所属领域、经费数量等因素,通

课程设计说明书

第10页

过对数据库中已有项目的遍历对比,来寻找与目标项目接近的项目,当存在某因素交集时记为1,无交集记为0,并做出累加,最后选取总得分最高的项目作为最佳参考项目。在找到接近项目后,调用对比项目的经费使用情况来判断。从理论上讲,应着重研究项目相似度的计算理论,通过对项目间进行全面的相似度分析,可以作为后续课题展开研究。MPEG-2解码器原理

解码器的工作原理如图3所示

图3解码器的工作原理

解码器中有一个频率为27 MHz左右的压控振荡器(VCO-Voltage Controlled Oscillator),VCO输出信号作为解码器系统时钟送人计数器中,产生当前STC样值,它与PCR一样也是42 bit数值,其中高33 bit是以27MHz经过300分频后的时钟为单位计数值PCR_ Base,其作用是在解码器切换节目时,提供对解码器PCR计数器的初始值,以让该PCR值与PTS, DTS最大可能地达到相同的时间起点。低9 bit是以27 MHz时钟为单位的计数值PCR Extension ,它的作用是通过解码器端的锁相环电路修正解码器的系统时钟,使其达到和编码器一致的27MHz。从接收到的码流中依次获得各帧的PTS和DTS值,将其和当前STC值的高33 bit位作比较。如果DTS大于STC值,则对码流进行缓存,同时监测

课程设计说明书

第11页

STC值的变化,当STC值增大到与DTS值相等时,对该帧码流进行解码,播放该帧;如果由于传输网络的缓冲延时抖动,当码流到达解码器时,其PTS值已经小于STC值,则解码器跳过这一帧,丢弃该帧数据。由于PTS和DTS是根据PCR值产生的,因此必须将获得的第一个PCR值作为初始值去置位解码器的STC计数器,使它们的值一样,否则将导致时基不同,从而解码出错。音频与视频的处理相似,只是不存在时序重排的问题。

课程设计说明书

第12页

通过这次数字视频信号源的编码器和解码器的研究的课程设计让我学到了许多知识,不仅给我开阔了思路,而且还让我认识到了自己对以前所学过知识的不足。

在这次课程设计当中我碰到了许多问题,我曾经接触过这方面的书籍和实物,也对其有一些简单的了解。但是却不知道具体的工作原理,当我拿到课程设计的题名后完全不知道该怎么办好,好在有同学们和老师的帮助使我明白了其中的道理,于此同时我通过大量地阅读和查阅相关的资料,最终此次课程设计才得以完成。

课程设计说明书

第13页

课程设计是在大学生活中必须经历的过程,从设计之初的无从下手到设计工作的圆满完成,期间遇到了诸多的问题和困难。但最终在同学们的热心帮助的老师细心指导下,通过自己的努力,最终这些问题与困难都得到了圆满解决。

课程设计说明书

第14页

参考文献

[1].蒋秀华.现代电视机原理 [M].北京高等教育出版社,2008.P88~99

[2].裴昌辛.电视原理与现代电视系统 [M].西安.西安电子科技大学出版社,1997.P101~169

[3].赵坚勇.电视原理与接收技术 [M].北京:国防工业出版社,2007.P56~99

[4].刘达.数字电视技术 [M].北京:电子工业出版社,2007.P45~88

[5].解玉琢.MPEG-2运动图像编码国家标准及MPEG的新进展 [M].北京:清华大学出版社,2002.P99~155

第五篇:数据结构课程设计报告(HuffMan编码器)

《数据结构》课程设计报告

题目:HuffMan编码器

数据结构设计报告

计科0403

041106308

雷娜

目 录

一.问题描述

二.基本要求(需求分析)

三.•概要设计(设计思想、实现方法、模块设计)

四.•详细设计(数据结构设计、算法设计、算法分析)

五.测试数据及测试结果

六.课程设计小结(心得体会、存在问题、改进措施)

一. 问题描述

利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。

第 1 页

数据结构设计报告

计科0403

041106308

雷娜

但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼码的编/译码系统。二. 基本要求(需求分析)

一个完整的系统应具有以下功能:

(1)I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。

(2)E:编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件hfmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。

(3)D:译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。

(4)P:印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码文件写入文件CodePrin中。

(5)T:印哈夫曼树(Tree printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件TreePrint中。[测试数据] 用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FAVORITE”。

字符 空格 A

B

C

D

E

F

G

H

I

J

K

L

M 频度 186

13 22 32 103 21 15 47 57 1

20 字符 N

O

P

Q

R

S

T

U

V

W

X

Y

Z 频度 57

15 1

51 80 23 8 1 1[实现提示]

(1)编码结果以文本方式存储在文件CodeFile中。

(2)用户界面可以设计为“菜单”方式:显示上述功能符号,再加上“Q”,表示退出运行Quit。请用户键入一个选择功能符。此功能执行完毕后再显示此菜单,直至某次用户选择了“Q”为止。

(3)在程序的一次执行过程中,第一次执行I,D或C命令之后,哈夫曼树已经在内存了,不必再读入。每次执行中不一定执行I命令,因为文件hfmTree可能早已建好。

三. 概要设计(设计思想、实现方法、模块设计)哈夫曼编码是一种效率比较高的变长无失真信源编码方法,它的平均码长

第 2 页

数据结构设计报告

计科0403

041106308

雷娜

最短,因此是最佳编码。我采用二进制哈夫曼编码。

1. 设计思想

a、原理:构造一个码树。

b、编码步骤:

(1)将信源符号按概率从大到小的顺序排列,为方便起见,令p(x1)≥p(x2)≥„≥p(xn)。

(2)对概率最小的两个信源符号求其概率之和,同时给两个符号分别赋予码元“0 ”和“1”。将“概率之和”当作一个新符号的概率,与剩下符号的概率一起,形成一个缩减信源,结果得到一个只包含(n-1)个信源符号的新信源,称为信源的第一次缩减信源,用S1表示。

(3)将缩减信源S1的符号仍按概率从大到小的顺序排列,重复步骤2,得到只含(n-2)个符号的缩减信源S2。

(4)重复上述步骤,直至缩减信源只剩下两个符号为止,此时所剩两个符号的概率之和必为1。

(5)按上述步骤实际上构造了一个码树,从树根到端点经过的树枝即为码字。

2. 实现方法

第一,哈夫曼编码实际上构造了一个码树,码树从最上层的端点开始构造,直到树根束,最后得到一个横放的码树,因此,编出的码是即时码。

第二,哈夫曼编码采用概率匹配方法来决定各码字的码长,概率大的符号对应于短码,概率小的符号对应于长码,从而使平均码长最小。

第三,每次对概率最小的两个符号求概率之和形成缩减信源时,就构造出两个树枝,由于给两个树枝赋码元时是任意的,因此编出的码字并不惟一。

3. 模块设计

第 3 页

数据结构设计报告

计科0403

041106308

雷娜

1.进入的操作界面:

(图一)

2.输入字符串,及编码结果

(图二)

3.统计不同字符数及带权路径长度

(图三)

4.各字符编码明细

第 4 页

数据结构设计报告

计科0403

041106308

雷娜

(图四)

四.详细设计(数据结构设计、算法设计、算法分析)

(一)数据结构设计

1)结点类型:

//huffcode.cpp

typedef struct HaffmanTreeNode {

char ch, code[15];

int weight;

int parent, lchild, rchild;} HTNode, *HaTree;

typedef struct { HTNode arr[MAX_NODE];

int total;} HTree;

2)基本操作:

第 5 页

数据结构设计报告

计科0403

041106308

雷娜

int statistic_char(char *text, HTree *t);int create_htree(HTree *t);void coding(HTree *t, int head_i, char *code);void print_htree_ldr(HTree *t, int head_i, int deep, int* path);void code_string(char *text, HTree *t,char *codes);

(二)算法设计

在哈夫曼编码过程中,对缩减信源符号按概率由大到小的顺序重新排列时,应使合并后的新符号尽可能排在靠前的位置,这样可使合并后的新符号重复编码次数减少,使短码得到充分利用。

(三)算法分析

(1)有效的信源编码可取得较好的冗余压缩效果。(2)有效的信源编码可使输出码元概率均匀化。

4. 测试数据及测试结果

1.输入简短英文字符串:

(图五)

2.输入数字英文混合串:

第 6 页

数据结构设计报告

计科0403

041106308

雷娜

(图六)

3.混合串:

(图七)

4.输入复杂无规则长串:

(图八)

第 7 页

数据结构设计报告

计科0403

041106308

雷娜

六.课程设计小结(心得体会、存在问题、改进措施)

本次程序设计使我不仅深化理解了教学内容,进一步提高灵活运用数据结构、算法和程序设计技术的能力,而且在总体分析、总体结构设计、算法设计、程序设计、上机操作及程序调试等基本技能方面受到了综合训练。

本次实验我选择Huffman编译码器的课题。帮助我深入研究树的各种存储结构的特性及其应用。由于课程设计着眼于原理与应用的结合,使我学会把书本上和课堂上学到的知识用于解决实际问题,从而培养了一部分计算机软件工作所需要的动手能力。

我通过对Huffman编译码原理的学习,再通过分析、设计、编码、调试等各环节,实现了Huffman编译码器的数据实现和界面实现。在Huffman编译码器数据结构的算法设计中我同时用到了多种技术和方法,如算法设计的构思方法,算法的编码,递归技术,与二叉树和树相关的技术等。从而帮助我深入学习研究了树的各种存储结构的特性及其应用。

为了实现界面友好的要求,我决定采用MFC的界面操作,所以必须以C++为基本语言,但是由于学习数据结构课程是基于PASCAL,实验数据结构部分设计遇到一些语法冲突。但是通过课程实践学习,我又开始熟悉C++的编程环境,从而实现了在不同语言上数据结构思想的统一。

此次课程设计并没有划定具体题目,包括算法需求都由我们度量,思路开阔。我始终和同学探讨并独立研究新的功能的实现。通过尝试来学习,通过实践去理解。

当然,通过多天来的上机实践,我获取了一些心得:

一.充分准备。由于课题宽泛,很多同学去网上下了界面优良的源程序。相对而言在DOS下编程的我开始时很焦急,不知如何实现界面友好。准备充分是很重要的,为了实现MFC,我重新学习了C++语言。

二.冷静,耐心投入。集中精力地编程,不被外界影响,使自己的思路始终连贯不被打断。对待每一个错误,都要仔细分析,太过焦急,不仅不能及时的改正错误,还对后面的编程造成影响。

三.要有一种坚持不懈的毅力,不管自己的程序多么复杂,多么冗长,要坚持不懈的去完成。冷静思考。

四.要对自己有信心,出错是必然的。“屡战屡败,屡败屡战”,不怕受挫的心理承受能力和从零开始的决心是走向成功的必要条件。

五.学会与别人学习讨论,但不依赖别人,可以通过借鉴思路从而创新,但决不照搬别人的东西。

第 8 页

数据结构设计报告

计科0403

041106308

雷娜

通过查找资料,我发现我们做Huffman编码和解码时,一般都要在内存通过指针生成Huffman树,这是一个比较费时间、费空间的过程。实际上,真正的Huffman编码程序经常使用其他更快的数据结构来完成树的生成,如散列等。所以我的课题有待继续学习研究。

•用户手册/使用说明

(图九)

1.在此处输入要编码的字符串,点击进行编码。

2.再次输入时再点击可成功使用,不会受之前结果影响。

•附录(源程序清单)//huffcode.cpp //C编写的源代码,原来含有writef()以及printf(),但由于最终用MFC界面实现,故删去,只作为一 //些功能子函数被MFC的对话框类调用。//另外,对于类型申明等已包含于头文件。#include “stdafx.h” #include “huffcode.h”

/*

统计字符出现的频率

*/ int statistic_char(char *text, HTree *t){

int i, j;

int text_len = strlen(text);

t->total = 0;

for(i=0;i

for(j=0;jtotal;j++)

if(t->arr[j].ch == text[i])

{

第 9 页

数据结构设计报告

计科0403

041106308

雷娜

t->arr[j].weight ++;

break;

}

if(j==t->total){

t->arr[t->total].ch = text[i];

t->arr[t->total].weight = 1;

t->total ++;

}

}

return t->total;}

int create_htree(HTree *t){

int i;

int total_node = t->total * 2-1;int min1, min2;/* 权最小的两个结点 */

int min1_i, min2_i;/*

权最小结点对应的编号

*/

int leaves = t->total;

for(i=0;i

t->arr[i].parent =-1;

t->arr[i].rchild =-1;

t->arr[i].lchild =-1;

}

while(t->total < total_node){

min1 = min2 = MAX_WEIGHT;

for(i=0;itotal;i++){ /*

对每一个结点

*/

if(t->arr[i].parent ==-1 /*

结点没有被合并

*/

&& t->arr[i].weight < min2){ /*

结点的权比最小权小

*/

if(t->arr[i].weight < min1){ /*

如果它比最小的结点还小

*/

min2_i = min1_i;min2 = min1;

min1_i = i;

min1 = t->arr[i].weight;

}

else

{

min2_i = i;

min2 = t->arr[i].weight;

}

}

}

t->arr[t->total].weight = min1 + min2;

t->arr[t->total].parent =-1;

t->arr[min1_i].parent = t->total;

t->arr[min2_i].parent = t->total;

t->arr[t->total].ch = ' ';

第10

数据结构设计报告

计科0403

041106308

雷娜

t->total ++;

}

return 0;} /*

对哈夫曼树进行编码

*/ void coding(HTree *t, int head_i, char *code){

if(head_i ==-1)return;

if(t->arr[head_i].lchild ==-1 && t->arr[head_i].rchild ==-1){

strcpy(t->arr[head_i].code, code);/

}

else {

int len = strlen(code);

strcat(code, “0”);

coding(t, t->arr[head_i].lchild, code);

code[len] = '1';

coding(t, t->arr[head_i].rchild, code);

code[len] = '';

} } /*

对字符进行编码

*/ void code_string(char *text, HTree *t,char *codes){

int i, j, text_len = strlen(text);

int n = 0;

for(i=0;i

char ch = text[i];

for(j=0;jtotal;j++)if(ch == t->arr[j].ch){

strcat(codes, t->arr[j].code);

break;

}

} }

// DlgString.cpp

//作为执行文件,通过MFC的可视化界面实现HuffMan编译码器 #include “stdafx.h” #include “iostream.h” #include “string.h” #include “math.h” #include “HUFFMANTREE.h” #include “DlgString.h” #include “huffcode.h” #ifdef _DEBUG

第11

数据结构设计报告

计科0403

041106308

雷娜

#define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__;#endif

CDlgString::CDlgString(CWnd* pParent /*=NULL*/): CDialog(CDlgString::IDD, pParent){ //{{AFX_DATA_INIT(CDlgString)m_inStr = _T(“");m_outstr = _T(”“);m_wpl = _T(”“);m_number = _T(”“);//}}AFX_DATA_INIT }

void CDlgString::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CDlgString)DDX_Control(pDX, IDC_LIST1, m_chars);DDX_Text(pDX, IDC_EDIT_STR, m_inStr);DDX_Text(pDX, IDC_STATIC_OUT, m_outstr);DDX_Text(pDX, IDC_STATIC_WPL, m_wpl);DDX_Text(pDX, IDC_STATIC_NUM, m_number);//}}AFX_DATA_MAP }

BEGIN_MESSAGE_MAP(CDlgString, CDialog)//{{AFX_MSG_MAP(CDlgString)ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)//}}AFX_MSG_MAP END_MESSAGE_MAP()

// CDlgString message handlers void CDlgString::OnOK(){ UpdateData(true);// TODO: Add extra validation here m_chars.DeleteAllItems();CBrush brush(RGB(225,30,100));

CClientDC dc(this);

dc.FillRect(CRect(630,10,1050,280),&brush);// 清屏

int i,ci,n,nn,wpl,len;

第12

数据结构设计报告

计科0403

041106308

雷娜

int x,y,h;

HTree t;

m_outstr= _T(”“);

int path[16]={0};

char code[128] = ”“;

char codes[128] = ”“;

CString str;

char text[128];

strcpy(text,m_inStr);

n=statistic_char(text, &t);//n用于存储叶子个数

h=(int)(log(n)/log(2)+1);

create_htree(&t);//建树

coding(&t, t.total-1, code);//编码

UpdateData(TRUE);

wpl=0;

for(ci=1;ci<=n;ci++){

CClientDC *pdc = new CClientDC(this);

CPen pen;pen.CreatePen(PS_SOLID,1,RGB(225,250,250));CPen *oldpen =(CPen *)pdc->SelectObject(&pen);//建笔

x=800;y=20;// 原始坐标设定

pdc->MoveTo(x,y);//每次路径都从同一源点开始

str.Format(_T(”%c“),t.arr[ci-1].ch);/*对n个叶子的明细输入列表*/ nn=m_chars.InsertItem(m_chars.GetItemCount(),str);

str.Format(_T(”%s“),t.arr[ci-1].code);m_chars.SetItemText(nn,1,str);

str.Format(_T(”%d“),t.arr[ci-1].weight);m_chars.SetItemText(nn,2,str);

len=strlen(t.arr[ci-1].code);str.Format(_T(”%d“),len);m_chars.SetItemText(nn,3,str);

第13

数据结构设计报告

计科0403

041106308

雷娜

wpl+=t.arr[ci-1].weight*len;

for(i=0;i

{

y=y+50;

if(t.arr[ci-1].code[i]=='0')

//向左

{

x=x-8*(h-i+1);

pdc->LineTo(x,y);

pdc->MoveTo(x,y);

if(i==len-1){

str.Format(_T(”%c“),t.arr[ci-1].ch);

pdc->TextOut(x,y+10,str);}

}

else if(t.arr[ci-1].code[i]=='1')

{

//向右

x=x+8*(h-i+1);

pdc->LineTo(x,y);

pdc->MoveTo(x,y);

if(i==len-1){

str.Format(_T(”%c“),t.arr[ci-1].ch);

pdc->TextOut(x,y+10,str);}

}

}

}

str.Format(_T(”%d“),wpl);

m_wpl=str;

//在对话框上显示最短带权路径

str.Format(_T(”%d“),n);

m_number=str;

//在对话框上显示不同的编码字符总数

UpdateData(false);

code_string(text, &t,codes);

str.Format(_T(”%s“),codes);

m_outstr=str;

//在对话框上输出对应于输入字符串的编码结果

UpdateData(false);

}

void CDlgString::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult){ // TODO: Add your control notification handler code here *pResult = 0;}

第14

数据结构设计报告

计科0403

041106308

雷娜

BOOL CDlgString::OnInitDialog()//列表初始化 { CDialog::OnInitDialog();

m_font.CreateFont(17,0,0,0,FW_BLACK, 0,0,0,DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, ”Courier New“);

m_chars.SetFont(&m_font);

m_chars.SetExtendedStyle(LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES);

m_chars.SetBkColor(RGB(100,000,100));m_chars.SetTextColor(RGB(255,255,255));m_chars.SetTextBkColor(RGB(150,010,200));m_chars.InsertColumn(0, ”字符“, LVCFMT_CENTER, 50);m_chars.InsertColumn(1, ”编码“, LVCFMT_CENTER, 100);m_chars.InsertColumn(2, ”频度(权)“, LVCFMT_LEFT, 95);

m_chars.InsertColumn(3, ”路径长度", LVCFMT_LEFT, 95);

return TRUE;// return TRUE unless you set the focus to a control

// EXCEPTION: OCX Property Pages should return FALSE }

第15

下载编码器总结报告(精选5篇)word格式文档
下载编码器总结报告(精选5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    数字电路实验报告西北工业大学(译码器.编码器)-肖辉

    数字电路技术实验报告 学号:2011302647 姓名:肖辉 日期:2013.5.7 一、 实验目的: (1)掌握中规模集成译码器的逻辑功能和使用方法. (2)掌握中规模集成编码器的逻辑功能和使用方法. (3......

    高清嵌入式视频编解码器 高清数字视频传输编码器[5篇材料]

    高清嵌入式视频编解码器 高清数字视频传输编码器 ——虹图高清嵌入式编解码器TMV-HV1001 虹图高清嵌入式编解码器TMV-HV1001是北京图美视讯虹图系列视频编码器产品中的一员......

    光电编码器在数控加工机床中的应用

    光电编码器在数控机床中的应用探究 *** (中原工学院 机电学院,河南 郑州 450007) 摘要:在对数控机床功能需求分析的基础上,将光电编码器进行工艺性和实用性分析,证明其在数控加工......

    旋转编码器在位置控制的应用设计论文[精选五篇]

    摘要:以提高锟压成型机切料长度的精度为改造目标。文章首先简介旋转编码器的工作原理和特点,然后阐述以PLC、旋转编码器和变频器构成的位置控制系统,并详细描述设计过程的位置......

    总结报告

    1.1题目背景及研究意义 1.1.1题目背景 进入到21世纪后,随着我国社会经济和城市建设的迅猛发展以及人民生活水平的逐步提高,汽车数量快速增加,而另一方面,停车位容量却远远跟不......

    年底总结报告

    供电所个人工作总结 20xx年的xx月xx日,是我来xx局报到的日子,也是我从一名学生向一名员工转变的开始。五个多月的时间,转瞬即逝,回顾过去,展望未来,20xx年对于我来说是转变的一年......

    总结报告

    总结报告 我项目部承建通梅高速公路建设项目,在沥青稳定碎石上基层施工中以K63+500-K63+300为首件工程,经过精心组织和充分的准备,于2010年5月1日开始施工,并于当天完成。从整个......

    年度总结报告

    诊所年度工作总结 认真学习贯彻十七大精神,高举邓小平理论旗帜,坚持以三个代表重要思想为指导,紧紧围绕为人民服务的精神,扎实做好诊所的各项工作,积极参加卫生部门的各种岗位培......