当前位置:文档之家› 最新——循环码(9,3)码

最新——循环码(9,3)码

最新——循环码(9,3)码
最新——循环码(9,3)码

目录

目录 (1)

一、摘要: (2)

二、关键字: (2)

三、基本概念: (2)

四、循环码的多项式描述: (3)

4.1 生成多项式g(x)及生成矩阵G (3)

4.2 系统循环码 (4)

4.3 循环码的编码: (5)

4.4 检错纠错能力 (6)

五、编码器.译码器原理图: (6)

5.1 编码器原理图 (6)

5.2 译码器原理图 (8)

六、循环码和线性分组码、Hamming码的区别、联系: (12)

6.1 线性分组码 (12)

6.2 循环码 (12)

6.3 汉明码hamming (13)

七、循环码的MATLAB仿真: (13)

八、参考文献: (16)

九、参与人员: (16)

循环码(9,3)码课程设计

一、摘要:

本报告详细给出了循环码的定义以及由生成多项式求解生成矩阵和系统生成矩阵的过程,并在Matlab 环境下写出了循环码的编码器和解码器代码,实现了编码和译码功能。分析和讨论了此码发现错误、纠正错误的能力,并讨论了其与线性分组码、Hamming 码等信道编码的区别与联系。

二、关键字:

循环码 编码 译码 检错 纠错 Matlab

三、基本概念:

更好的设计和实现线性分组码的方法是引入特定的数学结构来界定某一类线性分组码。循环码即是采用循环移位特性界定的一类线性分组码。

循环码定义:设C 使某(n,k)线性分组码的码字集合,如果对任何

C c c c C n n ∈=--),,,(021 ,它的循环移位),,,(1032)1(---=n n n c c c c C 也属于C ,则称该(n,k )码为循环码。

该码在结构上有另外的限制,即一个码字任意循环移位的结果仍是一个有效码字。其特点是:(1)可以用反馈移位寄存器很容易实现编码和伴随式的计算;(2)由于循环码有很多固有的代数结构,从而可以找

到各种简单使用的译码办法。

如果一个(n,k )线性码具有以下的属性,则称为循环码:如果n 元组},,,{110-=n c c c c 是子空间S 的一个码字,则经过循环移位得到的

},,,{201)1(--=n n c c c c 也同样是S 中的一个码字;或者,一般来说,经过j 次循环移位后得到的},,,,,,,{11011)(---+--=j n n j n j n j c c c c c c c 也是S 中的一个码字。

四、循环码的多项式描述:

码字的多项式描述,一个n 元码字可以用一个次数不超过n-1的多项式唯一表示

)(0121c c c c c n n --=

0112211)(c x c x c x c x c n n n n ++++=----

其中,我们不关心x 的具体位置,其次数只表示相应码元的位置。称这样的c(x)为c 的码字多项式。

4.1 生成多项式g(x)及生成矩阵G

如果一种码的所有码多项式都是多项式g(x)的倍式,则称g(x)为该码的生成多项式。在循环码中,次数最低的多项式(0除外)就是生成多项式g(x),其他码多项式都是其倍数。且该g(x)的阶数为r=n-k ,常

数项为1,是n x +1的一个因式。为了寻求生成多项式,必须对n

x +1进

行因式分解。

循环码的生成矩阵多项式为:

?????

??

?????????=--)()()()()(21X g X Xg X g X X g X X G k k

然后将系数提出就得到生成矩阵G 。

4.2 系统循环码

循环码也可以构成为系统循环码。为方便系统码的构造,将消息多项式和码式都记为高位在前,即),,,,(0121m m m m m k k ???=--的消息多项式

为m(x),

1110)(--+++=k k x m x m m x m

又设码式的高幂次部分等于m(x),即

)

()()(1

11110x p x m x x c x c x c x c c x c k n n n k n k n k n k n +?=++++++=---+-+--- k n r x p -=

其中p(x)称为校验位多项式,由于码式是生成式的倍式,所以

))

((mod 0)()()()(x g x g x a x m x x p k n ==+-

))()(mod ()(x g x m x x p r

?-=

因此循环码的系统码码式为

))]((mod )([)()(x g x m x x m x x c r r -=

将循环码的系统码构造步骤总结为

多项式乘

))(()(x m x x m x r r =

多项式求模(余式)

)())())(mod ((x p x g x m x r = 多项式减

)()())((x c x p x m x r

=- 如果令)(x m 为单项式1+r x ,1,,1,0-=k i

r x p x p x g x a x i i r

i

r i i x x p x c ++=)()(

那么容易看到,

)(x c i 对应的向量i c ,1,,1,0-=k i 是线性无关的,

从而得到循环码系统码的生成矩阵

s

G 为

?

?

???

??

?????=------1000100011

,11

,10,11

,111101,00100

r k k k r r s p p p p p p p p p G

4.3 循环码的编码:

利用生成多项式g(x)实现编码:

如上所述,但循环码的生成多项式g(x)确定时,码就完全确定了。现在讨论生成多项式g(x)给定以后,如何实现循环码的编码问题。

若已知 g(x)=gn-kxn-k+gn-k-1xn-k-1+...g1x+g0 并设信息元多项式 m(x)=mk-1xk-1+mk-2xk-2+...m1x+m0 要编码成系统循环码形式,即码字的最左边k 位是信息元,其余n-k 位是校验元,则要用xn-k 乘以m(x),再加上校验元多项式r(x),这样得到的码字多项式c(x)为

c(x)=xn-km(x)+r(x)

=mk-1xn-1+mk-2xn-2+...m0xn-k+rn-k-1xn-k-1+...r1x+r0

其中 r(x)=rn-k-1xn-k-1+...r1x+r0 c(x)一定是g(x)的倍式,即有

c(x)=xn-km(x)+r(x)=q(x)g(x) c(x)=xn-km(x)+r(x)=0. mod g(x)

注意到g(x)为n-k 次多项式,而r(x)最多为n-k-1次多项式,必有 r(x)=xm(x), mod g(x) (1) 即r(x)必是xn-km(x)除以g(x)的余式。

式(1)指出了系统循环码的编码方法:首先将信息元多项式m(x)乘以xn-k 成为xn-km(x),然后将xn-km(x)除以生成多项式)(x g 得到余式r(x),该余式就是校验元多项式,从而得到码字多项式

)()()(x r x km xn x c +-=。

综上所述,系统循环码的编码问题,可以归结为两个多项式的除法运算,即将xn-km(x)除以生成多项式g(x)得到余式r(x)的运算,因此研究多项式除法的电路实现是必要的。

4.4 检错纠错能力

若纠错码的最小距离为min d ,那么如下三个结论的任何一个结论独立成立。

(1)可以检测出任意小于等于1dim -=d l 个差错; (2)可以纠正任意小于等于)]1(2/1[min -=d t 个差错;

(3)可以检测出任意小于等于l 同时纠正小于等于t 个差错,其中l 和t 满足:11min -≤+d t 和1

五、编码器·译码器 原理图: 5.1 编码器原理图

编码电路工作方程为:

??????

????

?==++===+=4534523120150P P P P m P P P P P P P m P P 0,121==G G ???????????='='='='='='4

53423

1

201

00

P P P P P P P P P

P P 1,021==G G (9,3)循环码编码电路工作过程

5.2 译码器原理图

输入R

已知生成矩阵G 如下,列出S 与E 的对照表。当收到码组

[]001011001=B 时,解出对应的信息码组D

??

??

?

?????=100100100010010010001001001G ??

?

?

??

???

?

?????

?????=100000100010000010001000001000100100000010010000001001H

???

?

??

???

?

???

??????????????

?=100000010000001000000100000010

000001100100010010001001T H

S 有6

2种形式,相应的码重最小的E 矢量有6

2种。S 与E 的对照表如下:

[][]000010100000010000001000000100000010

000001

100000010010001001001011001=???

?

??

??

?

?

???

???????????????==T BH S

查表可知,E 矢量为:[]000010000=E

所以正确的码组A 为:[]001001001=⊕=-=E B E B A 所以信息码组为:[]001001=S

由生成多项式求解生成矩阵的过程:

已知:(9,3)循环码的生成多项式为

1)(3

6++=x x x G ,求生成矩阵及系统码生成矩阵。

解:由生成多项式可得生成矩阵为

??

??

??????=100100100010010010001001001G 则系统码生成矩阵为

??

???

?????=100100100010010010001001001s G

发现错误能力及纠正错误能力:

由生成矩阵得纠错码的最小距离3min =d ,则: (1)可以检测出任意小于等于l=2个差错; (2)可以纠正任意小于等于t=1个差错;

(3)可以检测出任意小于等于2同时纠正小于等于1个差错。

六、循环码和线性分组码、Hamming 码的区别、联系: 6.1 线性分组码

是同时具有分组特性(码子和消息长度恒定)和线性特性(消息相加后的编码等于各自编码后相加)的纠错码。每个监督码元都是码组中某些信息码元的线性相加得到的。将q 元符号按每k 个分为一组.然后通过编码得到n-k 个q 元符号作为冗余校验符号,最后由校验符号和信息符号组成有n 个q 元符号的码字符号。得到的码字可以纠正t 个错误,编码码率为为k/n 。两个属于该码的码字的和仍是一个属于该码的码字,全零字总是一个码字,一个线性码的两个码字之间的最小距离等于任何非零码字的最小汉明重量。

6.2 循环码

是采用循环移位特性界定的一类线性分组码。是线性分组码的一个重要子类;BCH 码是其主要的一大类;汉明码、R-M 码、Golay 码、RS 码等可变换;纳入循环码内,Goppa 码的一个子类也属于循环码;用反馈线性移位寄存器可以容易的实现其编码和得到伴随式;由于数学上的特性,译码方法简单。

设C 使某(n,k)线性分组码的码字集合,如果对任何

C c c c C n n ∈=--),,,(021 ,它的循环移位),,,,(1032)1(---=n n n c c c c C 也属于C 。该码在结构上有另外的限制,即一个码字任意循环移位的结果仍是一个有效码字。

Hamming 码:

汉明码是一种能纠正一位错码的线性分组码且是一类

高效率的纠错码。当m=3时,n=7,k=4。线性分组码中的(7,4)码就是汉明码。汉明码的译码电路利用最小码重错误图样进行译码的电路实现;利用校正子与错码位置的对应关系,也可以使用地址译码器来帮助实现译码。

6.3 汉明码hamming

为了指示所有单错位置和无错情况,线性分组码的码长n、信息码元长度k和监督码元长度r之间满足不等式:

r

≥n

1

2+

上式取等号时,就是汉明码。由以上方法构成的线性分组码中,能纠正单个错误的线性分组码称为汉明码,是Hamming于1949年提出的。此时,n、k、r的关系为:n = 2r–1 ,

七、循环码的MATLAB仿真:

编码器和译码器的MATLAB编写

1、编码器Matlab编写

m=input('输入m矩阵')

G=[1 0 0 1 0 0 1 0 0;0 1 0 0 1 0 0 1 0;0 0 1 0 0 1 0 0 1]

c=m*G

mod(c,2)

c1=[0 0 0]*G

a1=mod(c1,2)

c2=[0 0 1]*G

a2=mod(c2,2)

c3=[0 1 0]*G

a3=mod(c3,2)

c4=[0 1 1]*G

a4=mod(c4,2)

c5=[1 0 0]*G

a5=mod(c5,2)

c6=[1 0 1]*G

a6=mod(c6,2)

c7=[1 1 0]*G

a7=mod(c7,2)

c8=[1 1 1]*G

a8=mod(c8,2)

M=[a1;a2;a3;a4;a5;a6;a7;a8]

2、译码器的Matlab编写

R=input('请输入R矩阵')

b1=mod(R+a1,2)

k1=find(b1==1)

y1=length(k1)

b2=mod(R+a2,2)

k2=find(b2==1)

y2=length(k2)

b3=mod(R+a3,2)

k3=find(b3==1)

y3=length(k3)

b4=mod(R+a4,2)

k4=find(b4==1)

y4=length(k4)

b5=mod(R+a5,2)

k5=find(b5==1)

y5=length(k5)

b6=mod(R+a6,2)

k6=find(b6==1)

y6=length(k6)

b7=mod(R+a7,2)

k7=find(b7==1)

y7=length(k7)

b8=mod(R+a8,2)

k8=find(b8==1)

y8=length(k8)

L=[y1 y2 y3 y4 y5 y6 y7 y8]

[g,n]=min(L)

X=M(n,:)

m1=X(:,1:3)

运行结果:

输入m矩阵[ 1 0 1 ]

m =

1 0 1

ans =

Columns 1 through 7

1 0 1 1 0 1 1 Columns 8 through 9

0 1

M =

Columns 1 through 7

0 0 0 0 0 0 0

0 0 1 0 0 1 0

0 1 0 0 1 0 0

0 1 1 0 1 1 0

1 0 0 1 0 0 1

1 0 1 1 0 1 1

1 1 0 1 1 0 1

1 1 1 1 1 1 1 Columns 8 through 9

0 0

0 1

1 0

1 1

0 0

0 1

1 0

1 1

请输入R矩阵[ 0 0 1 0 0 1 0 0 1 ]

R =

Columns 1 through 7

0 0 1 0 0 1 0 Columns 8 through 9

0 1

L =

Columns 1 through 7

3 0 6 3 6 3 9 Column 8

6

g =

n =

2

X =

Columns 1 through 7

0 0 1 0 0 1 0

Columns 8 through 9

0 1

m1 =

0 0 1

八、参考文献:

陈运主编《信息论与编码》(第2版)——电子工业出版社九、参与人员:

吕远李东廖东杨剑李泉源

二进制转BCD码

二进制转换成十进制 BCD码(加3移位法 底下还附带了BCD码转二进制码转化的VHDL程序 算法 "二进制数调整BCD码的方法是将二进制码左移8次,每次移位后都检查低四位LSD+3是否大于7,如是则加3,否则不加,高4位MSD作同样处理" 一、为什么左移8次 原寄存器是存二进制数的,新寄存器是存十进制数的,当然要左移8次,把数据全部移进去。 但这里要注意两件事,第一,如果只安排一个字节作十进制寄存器,原数据要小于 64H (即100)。第二,由于新寄存器是十进制的,要随时调整。 二、检查半字节+3 是否大于 7,是,则 +3 在 51 系列里有十进制调节指令(半字节大于 9,则加 6,应该不难理解),PIC 里没有,只好采取变通的方法。 检查半字节+3 是否大于 7,也就是检查半字节是否大于 4。因为,如果大于 4(比如5、6),下一步左移就要溢出了,所以加 3,等于左移后的加 6,起到十进制调节的作用。 那为什么要绕个圈子去检测半字节+3 是否大于 7 呢?这样程序编起来会简练一些。 一个例子 假如有一个八位二进制数255,我把他转255的十进制数 0 1111 1111 原数 1 0000 0001 ;左移一次 2 0000 0011 ; 左移二次 3 0000 0111 ;左移三次,检查低四位+3>7? 3.1 0000 1010 ;大于7,加3进行调整 4 0001 0101 ;左移四次, 检查低四位+3>7?

4.1 0001 1000 ;大于7,加3进行调整 5 0011 0001 ;左移五次 6 0110 0011 ;左移六次,检查高四位+3>7? 6.1 1001 0011 ;大于7,加3进行调整 7 1 0010 0111 ;左移七次,检查低四位+3>7? 7.1 1 0010 1010 ;大于7,加3进行调整 8 10 0101 0101 ;左移八次(得到BCD码255 Library ieee; --16位二进制转BCD码(0到9999) Use ieee.std_logic_unsigned.all; Use ieee.std_logic_1164.all; Entity B_BCD is Port ( clk,ena:in std_logic; a: in std_logic_vector(15 downto 0); q: out std_logic_vector(15 downto 0)); end B_BCD; architecture behav of B_BCD is begin process(clk,a) variable i: std_logic_vector(4 downto 0); variable in_a,out_a :std_logic_vector(15 downto 0); begin if ena='0'then in_a:=a; i:="00000"; out_a:="0000000000000000"; elsif clk'event and clk='1' then if i="10000" then out_a:=out_a; else out_a:=out_a(14 downto 0)&in_a(15); in_a:=in_a(14 downto 0)&'0'; i:=i+1; if i<"10000" then if out_a( 3 downto 0)>4 then out_a( 3 downto 0):=out_a( 3 downto 0)+3; end if; if out_a( 7 downto 4)>4 then out_a( 7 downto 4):=out_a( 7 downto 4)+3; end if; if out_a(11 downto 8)>4 then out_a(11 downto 8):=out_a(11 downto 8)+3;

输煤系统调试方案

1 概述 1.1系统简介 华电新疆发电有限公司昌吉热电厂2×330MW热电联产工程1号锅炉由上海锅炉厂有限公司设计制造。型号为SG-1180/17.5-M4004,锅炉为亚临界、自然循环汽包炉,单炉膛、一次中间再热、燃烧器摆动调温、平衡通风、四角切向燃烧、紧身密闭、固态排渣、全钢架悬吊结构。设计采用0号轻柴油点火,燃用烟煤。锅炉以最大连续负荷(即BMCR工况)为设计参数。锅炉主要参数见表1。 本期工程燃煤主要由神华公司屯宝煤矿、哈密煤业硫磺沟矿及本地煤矿供给,采用公路运输进厂。 工程建设单位为华电新疆发电有限公司昌吉热电厂,由西北电力建设工程监理有限责任公司昌吉热电厂工程监理部负责监理,新疆电力设计院负责设计,华源电力安装公司负责安装,新疆电力科学研究院负责启动调试。 表1 锅炉主要参数 1.2电厂内输煤系统 带式输送机从卸煤设施到锅炉房原煤斗的运煤胶带机规格为:带宽B=1000mm,带速V=2.0m/s,额定出力Q=600t/h。 1.3储煤场、煤场设施 本期工程设一座斗轮堆取料机煤场作为汽车来煤场。设置一台堆料能

力600 t/h,取料能力600 t/h的斗轮堆取料机,用于将缝隙式汽车卸煤沟来煤或场外皮带来煤堆至煤场及将煤场贮煤取入系统。配带宽B=1000mm 的单路煤场带式输送机。 1.4 输煤设备 输煤系统采用带式输送机,带式输送机系统从C3、C1A/B皮带机开始,到主厂房煤仓间结束。共扩建6路11条输送皮带机以及一台斗轮堆取料机。输煤系统带式输送机设有以下保护信号:双向拉绳开关、堵煤检测装置、料流检测器、两级跑偏开关和速度检测装置。在输煤集控操作台上设置两个可使系统急停的硬接点旋钮,可在任何时间停止输煤设备运行。煤仓层C6A/B皮带机采用电动双侧犁式卸料器向各原煤斗配煤。煤仓层及各转运站的除尘、清扫方式采用喷雾和机械除尘及水力冲洗清扫相结合的清扫方式。 1.5运煤系统辅助设施 1.5.1除铁设施 本工程运煤系统中设有三级除铁方式。第一级设在C1A/B带头部和煤场C3带前部为带式除铁器;第二级设在进入碎煤机室的C4A/B胶带机头部为带式除铁器;第三级设在出碎煤机室后C5A/B胶带机中部,采用电磁盘式除铁器,自动交替运行工作方式;除铁器型号均与系统输送机带宽匹配。 1.5.2原煤取样设施 本工程在C5A/B带中部各设置了入炉煤取样装置,在重车衡之前设置了入厂煤样装置,对煤质进行分析化验,以确保入炉、入厂煤的煤质和燃煤的经济性。 1.5.3本工程筛煤机采用9轴滚轴筛煤机,额定出力为600 t/h。碎煤机采用HCSC4型环锤式碎煤机,额定出力为400 t/h。以及叶轮给煤机、犁式卸煤器等。 2 调试目的 通过各带式输送机试转以及其他输煤设备的调试,对施工、设计和

约翰逊计数器

环形计数器是由移位寄存器加上一定的反馈电路构成的,用移位寄存器构成环形计数器的一般框图见图23-5-1,它是由一个移位寄存器和一个组合反馈逻辑电路闭环构成,反馈电路的输出接向移位寄存器的串行输入端,反馈电路的输入端根据移位寄存器计数器类型的不同,可接向移位寄存器的串行输出端或某些触发器的输出端。 图23-5-1 移位寄存器型计数器方框图 23.5.1 环形计数器 23.5.1.1 电路工作原理 图23-5-2为一个四位环形计数器,它是把移位寄存器最低一位的串行输出端Q1反馈到最高位的串行输入端(即D触发器的数据端)而构成的,环形计数器常用来实现脉冲顺序分配的功能(分配器)。 假设寄存器初始状态为[Q4Q3Q2Q1]=1000,那么在移位脉冲的作用下,其状态将按表23-11 中的顺序转换。 当第三个移位脉冲到来后,Q1=1,它反馈到D4输入端,在第四个移位脉冲作用下Q4=1,回复到初始状态。表23-11中的各状态将在移位脉冲作用下,反复在四位移位寄存器中不断循环。

由上述讲讨论可知,该环形计数的计数长度为N=n。和二进制计数器相比,它有2n-n个状态没有利用,它利用的有效状态是少的。 23.5.1.2 状态转换图和工作时序 表23-11中是以1000为初始状态的,它所对应的状态转换图见图23-5-3。如果移位寄存器中的初始状态不同,就会有不同的状态转换图。图23-5-4给出了四位环形计数器可能有的其它几种状态转换图。 图23-5-3 状态转换图 (a) (b) (c) (d) 图23-5-4 四位环行计数器其它的状态转换图 图23-5-4(a)、(b)、(c)三个状态转换图中各状态是闭合的,相应的时序为循环时序。当计数器处于图23-5-4(d)所示的状态0000或1111时,计数器的状态将不发生变化。这两个状态称为悬态或死态。 四位环形计数器可能有这么多不同的循环时序,是我们不希望的,只能从这些循环时序中选出一个来工作,这就是工作时序,或称为正常时序,或有效时序。其它末被选中的循环时序称为异常时序或无效时序。一般选图23-5-3的时序为工作时序,因为它只循环一个“1”,不用经过译码就可从各触发器的Q端得到顺序脉冲输出,参看图23-5-5。

基于MATLAB的循环码实验报告

课程名称:信息论与编码 课程设计题目:循环码的编码和译码程序设计指导教师: 系别:专业: 学号:姓名: 合作者 完成时间: 成绩:评阅人:

一、实验目的: 1、通过实验了解循环码的工作原理。 2、深刻理解RS 码构造、RS 编译码等相关概念和算法。 二、实验原理 1、RS 循环码编译码原理与特点 设C 使某 线性分组码的码字集合,如果对任C c c c C n n ∈=--),,,(021 ,它的循环 移位),,,(1032)1(---=n n n c c c c C 也属于C ,则称该 码为循环码。 该码在结构上有另外的限制,即一个码字任意循环移位的结果仍是一个有效码字。其特点是:(1)可以用反馈移位寄存器很容易实现编码和伴随式的计算;(2)由于循环码有很多固有的代数结构,从而可以找到各种简单使用的译码办法。 如果一个 线性码具有以下的属性,则称为循环码:如果n 元组 },,,{110-=n c c c c 是子空间S 的一个码字,则经过循环移位得到的},,,{201)1(--=n n c c c c 也 同样是S 中的一个码字;或者,一般来说,经过j 次循环移位后得到的 },,,,,,,{11011)(---+--=j n n j n j n j c c c c c c c 也是S 中的一个码字。 RS 码的编码系统是建立在比特组基础上的,即字节,而不是单个的0和1,因此它是非二进制BCH 码,这使得它处理突发错误的能力特别强。 码长:12-=m n 信息段:t n k 2-= (t 为纠错符号数) 监督段:k n t -=2 最小码段:12+=t d 最小距离为d 的本原RS 码的生成多项式为:g(x)=(x-α)(x -α2)(x -α3)…(x -αd -2) 信息元多项式为::m(x)=m0+m1x+m2x2+…+mk -1xk-1 循环码特点有: 1)循环码是线性分组码的一种,所以它具有线性分组的码的一般特性,且具有循环性,纠错能力强。 2)循环码是一种无权码,循环码编排的特点为相邻的两个数码之间符合卡诺中的邻接条件,即相邻数码间只有一位码元不同,因此它具有一个很好的优点是它满足邻接条件,没有瞬时错误(在数码变换过程中,在速度上会有快有慢,中间经过其他一些数码形式,即为瞬时错误)。 3)码字的循环特性,循环码中任一许用码经过牡环移位后,所得到的码组仍然是许用码组。

二进制转换成BCD码 实验报告

一、实验目的 (1)进一步熟练掌握8086汇编语言编译调试工具和环境的操作; (2)掌握完整8086汇编的程序设计编写方法; (3)掌握简单的数值码制转换方法; (4)掌握键盘输出的DOS功能调用方法。 二、实验要求: 将AX中的一个二进制数(对应的十进制数范围是0-65535),转换成压缩性BCD 码表示的十进制,并从屏幕输出转换结果。要求用减法实现,并比较与除法方法进行运行速度比较。 三、实验及报告要求: 3.1、简要说明算法,并画出正确的程序流程图; 3.2、给出完整正确的源程序代码,要求给每一句伪指令或指令加上注释; 3.3、分别在DOS和Windows下编译、连接源程序生成可执行文件并调试,比较两个环境下生成的机器码的长度、寄存器内容、计算结果的异同。 3.4、如何观察转换过程中标志寄存器中各标志位的结果?如何观察转换结果的变化?试改变被转换数值,对结果与编制为的变化加以说明和解释。 3.5、写出完整的实验报告,特别是“实验结果”与“实验总结体会”部分,是评分的主要依据。 3.6、实验总结中要求结合实验中的经验、教训或体会对汇编语言格式、调试方法和微机原理学习方法作出总结。 四、程序流程图 减法。即五位数先循环减10000,直到不够减了,做减法的次数就是万分位的结果;将不够减之前一次的余数恢复,再循环减去1000,直到不够减了,做减法的次数就是千分位的结果;以此类推,最后恢复的正余数就是个位的结果. 除法。即五位数先除以10000,得到的商存放万位数的变量上;再将余数除以1000,得到的商存放千位数的变量上;之后将余数除以100,得到的商存放百分位的变量上;以此类推,最后的余数存放在个位的变量上。

国家电力投资集团公司火电工程设计优化指导意见

集团公司火电工程设计优化指导意见 为在火电厂设计中引入核文化理念,进一步提高集团公司火电工程设计水平,全面提升火电厂全生命周期效益最大化,有效落实“安全可靠、成熟先进、造价合理、节能环保”的原则,集团公司结合当前国家火电产业政策及火电装备技术情况,对火电工程设计优化提出如下指导意见。 一、优化选择机组参数,确保具有竞争优势 (一)纯凝发电机组应选择66万千瓦和100万千瓦超超临界机组。当采用W火焰锅炉时,可选择超临界机组。 煤源稳定地区超超临界机组主机参数选择28MPa/600℃/620℃,其它地区选择28MPa/600℃/610℃,新疆等低煤价地区当采用66万千瓦机组,可选择25MPa/600℃/600℃。 煤源稳定的高煤价地区,经集团公司同意可采用超超临界二次再热系统,主机参数选择31MPa/600℃/620℃/620℃。 (二)热电联产机组应选择背压机组或35万千瓦超临界抽凝机组。选择背压热电联产机组,应结合单机容量优先采用高温高压及以上参数。 常住人口50万以下城市,采暖型供热机组宜选择背压机组;常住人口50万以上城市,优先选择背压机组,也可选择2×35万千瓦抽凝机组。当选择2×35万千瓦抽凝机组,

采暖期热电比应不低于80%。 二、准确提供煤质资料基础数据 (三)火电厂设计煤种和校核煤种的煤质资料须经二级单位确认后,才能作为主、辅机招标和工程设计的依据。设计煤种和校核煤种的煤质数据及常规化验分析项目应符合集团公司《火电工程设计控制标准》中的规定。 (四)设计煤种应为机组投运后主要燃用煤种,校核煤种应起到对锅炉及其辅机设备具有校核的作用,与设计煤种应有一定差异,但偏差值不应超过附表1的规定。 设计煤种和校核煤种采用多煤种时,煤样来源不宜超过3个矿区。进行混合煤样常规分析时,应对单煤样和混合煤样分别进行化验分析,然后按规定的各单煤样收到基混合比加权计算工业分析、发热量、元素分析各项成分及参数以核对混合煤样的准确性。 三、合理选择高效低耗、成熟先进设备 (五)应根据厂址所在地区水资源状况合理选择湿冷机组或空冷机组。空冷机组优先选择表面式凝汽器间接空冷机组,严寒地区防冻不能满足要求时可选择直接空冷机组。 深入开展宽负荷和深度调峰机组研究,供热电厂应进行设臵储热设施作为调峰手段的研究。 (六)锅炉BMCR(锅炉最大连续出力)工况的蒸发量应与汽轮机VWO(阀门全开)工况的主蒸汽流量一致。对66万千瓦和100万千瓦机组,汽轮机VWO工况的主蒸汽流量宜为

六位计数器

六位计数器 六位计数器 本文介绍一种使用单片机制作的双向多功能6位计数器,其面板框图如图1所示。该计数器电路原理如图2所示。它极大地方便了需要交替或者同时使用加数功能和减数功能的场合,例如:在某些生产线上,一方面进行合格品的自动累加计数,另一方面又要扣除从检验岗位返回的不合格品的数字,完成这种功能,通常需要使用两只计数器,还要经过计算才可以得到结果;现在只需要使用本文介绍的计数器就能够同时完成加数和减数的工作,而且即时得到结果的数字。现将该计数器介绍如下。 1.计数信号输入 具有两个计数信号输入端口,可以同时或者分别输人加数信号与减数信号。当输人其中一种信号时,另一个信号输入端无需任何设置,就让它悬空即可。 两个输人端口使用了内部带“斯密特”特性的端口,如果两个端口同时输人信号的话,程序会自动判断,判断原理如下:11=无输人;10=减数输人;01=加数输人;00=同时输人。 由于输人端口本身具有“斯密特”性能对计数信号的输人无疑具有较好的抗干扰能力。只要输人基本的0~3.5 V直流脉冲或者电平信号,电路都可以正常响应。 提示:

输人信号可以使用红外线、光敏、机械开关和其它电子开关产生的开关脉冲,严禁脉冲最大电压超过DCSV。 最方便的是,无需使用有源的输人脉冲,只需要把输人端口对地线短接一次,就可以输人一个计数信号,因为本电路已经配置好输人端口为高电平状态。图2中单片机SP和6P的两个端口分别接与+5V 端相连的两只4.7k iZ电阻的另一端。 程序智能处理两个端口来的输人信号: 11和00均为不处理,00虽然是两个端口同时输人,但是因为它们是相反性质,因此,互相抵消,屏幕数字保持不变。 01:需要把显示值增加一个字,> 999999或者=用户设置的超限值,则加数控制输出会出现高电平。 10:需要把显示值减少一个字,到达000000时,减数控制输出会出现高电平。 2.控制输出: 具有两个很灵活应用的控制输出端口,其应用组合功能远远高于普通控制输出端口。 如果屏幕显示为000000,则OUTL输出高电平,这就是减计数的最终控制输出信号;如果屏幕显示为用户设置值,则OUTH输出高电平,这就是加计数的最终输出控制信号。 如果屏幕既不是000000,也不是用户的设置值,就都输出L电平。 3.操作按键

crc校验码 详细介绍看懂了就会了

循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*2的R次方,这样C(x)的右边就会空出R位,这就是校验码的位置。通过C(x)*2的R次方除以生成多项式G(x)得到的余数就是校验码。 编辑本段 几个基本概念 1、多项式与二进制数码 多项式和二进制数有直接对应关系:x的最高幂次对应二进制数的最高位,以下各位对应多项式的各幂次,有此幂次项对应1,无此幂次项对应0。可以看出:x的最高幂次为R,转换成对应的二进制数有R+1位。 多项式包括生成多项式G(x)和信息多项式C(x)。 如生成多项式为G(x)=x^4+x^3+x+1,可转换为二进制数码11011。 而发送信息位1111,可转换为数据多项式为C(x)=x^3+x^2+x+1。 2、生成多项式 是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。 在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。 应满足以下条件: a、生成多项式的最高位和最低位必须为1。 b、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做除后应该使余数不为0。 c、不同位发生错误时,应该使余数不同。 d、对余数继续做除,应使余数循环。 3 CRC码的生成步骤 1、将x的最高次幂为R的生成多项式G(x)转换成对应的R+1位二进制数。 2、将信息码左移R位,相当与对应的信息多项式C(x)*2的R次方。 3、用生成多项式(二进制数)对信息码做除,得到R位的余数。 4、将余数拼到信息码左移后空出的位置,得到完整的CRC码。 【例】假设使用的生成多项式是G(x)=x^3+x+1。4位的原始报文为1010,求编码后的报文。 解: 1、将生成多项式G(x)=x^3+x+1转换成对应的二进制除数1011。 2、此题生成多项式有4位(R+1),要把原始报文C(x)左移3(R)位变成1010000 3、用生成多项式对应的二进制数对左移3位后的原始报文进行模2除,相当于按位异或: 1010000

基于的循环码的编译仿真

Equation Chapter 1 Section 1 Harbin Institute of Technology 信息论与编码实验报告基于MATLAB的(7,4)循环码的编译仿真 院系:电子与信息工程学院 姓名:周才发 学号:13S005051 班级:通信二班 哈尔滨工业大学

基于MATLAB的(7,4)循环码的编译仿真 (电子与信息工程学院13S005051 周才发序号:15) 1、循环码简介 随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显着提高,人们对生活质量及工作软件的要求也越来越高。在计算机通信信息码中循环码是线性分组码的一个重要子集,是目前研究得最成熟的一类码。它有许多特殊的代数性质,它使计算机通信以一种以数据通信形式出现,实现了在计算机与计算机之间或计算机与终端设备之间进行有效的与正确地信息传递,它使得现代通信的可靠性与有效性实现了质的飞跃。它是现代计算机技术与通信技术飞速发展的产物,在日常生活通信领域、武器控制系统等领域都被广泛应用。 纠错码(error correcting code),在传输过程中发生错误后能在收端自行发现或纠正的码。仅用来发现错误的码一般常称为检错码。为使一种码具有检错或纠错能力,须对原码字增加多余的码元,以扩大码字之间的差别,即把原码字按某种规则变成有一定剩余度(见信源编码)的码字,并使每个码字的码之间有一定的关系。关系的建立称为编码。码字到达收端后,可以根据编码规则是否满足以判定有无错误。当不能满足时,按一定规则确定错误所在位置并予以纠正。纠错并恢复原码字的过程称为译码。检错码与其他手段结合使用,可以纠错。 纠错编码又称信道编码,它与信源编码是信息传输的两个方面。它们之间存在对偶的关系。应用信道译码直接对一些自然信息进行处理,可以去掉剩余度,以达到压缩数据的目的。为了使一种码具有检错或纠错能力,必须对原码字增加多余的码元,以扩大码字之间的差别,使一个码字在一定数目内的码元上发生错误时,不致错成另一个码字。准确地说,即把原码字按某种规则变成有一定剩余度的码字,并使每个码字的码元间有一定的关系。关系的建立称为编码。码字到达收端后,用编码时所用的规则去检验。如果没有错误,则原规则一定满足,否则就不满足。由此可以根据编码规则是否满足以判定有无错误。当不能满足时,在可纠能力之内按一定的规则确定错误所在的位置,并予以纠正。纠错并恢复原码字的过程称为译码;码元间的关系为线性时,称为线性码;否则称为非线性码。检错码与其他手段结合使用,可以纠错。检错反馈重发系统(ARQ系统)就是一例。 循环码是线性分组码的一种,所以它具有线性分组码的一般特性,此外还具 有循环性。循环码的编码和解码设备都不太复杂,且检(纠)错能力强。它不但可以检测随机的错误,还可以检错突发的错误。(),n k循环码可以检测长为n k-或更短的任何突发错误,包括首尾相接突发错误。循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图中的邻接条件,即相邻两个数码之间只有一位码元不同,码元就是组成数码的单元。符合这个特点的有多种方案,但循环码只能是表中的那种。循环码的优点是没有瞬时错误,因为在数码变换过程中,在速度上会有快有慢,中间经过其它一些数码形式,称它们为瞬时错误。这在某

单片机实验4 子程序设计-- BCD码转换为二进制

实验4. 子程序设计----BCD 码转换为二进制 单字节可存放两位压缩BCD 码(0—99) 为0 —9) 单字节BCD 码转换为二进制子程序 入口:(R0)= 压缩BCD 码的地址 出口:(A)= 转换结果 DSFR::MOV A,@R0 ANL A,#0F0H ;取十位数 SWAP A ;变为标准BCD 码 MOV B,#10 MUL AB ;(A)=D1×10 MOV R7,A ;D1× 10暂存 R7 MOV A,@R0 ANL A,#0FH ;取个位 ADD A,R7 ;A=D1×10+D0 RET 1、实验内容: 子程序设计要点: 1) 子程序一般为多次返复使用的程序段,一般应说明入口条件,DSFR 子程序的 入口条件是:被转换为二进制的单字节BCD 码为间接寻址,间接寻址寄存器为R0。要调用DFSR 子程序必需先将压缩BCD 码的存放地址赋与R0。而出口条件是指最后结果在哪儿存放。本子程序转换结果在ACC 内。 2) 主程序调用子程序,在调试时一般要先调试子程序、再调试主程序。

2、实验步骤 1)打开PV32编程序。汇编正确进入调试界面。否则修改程序重新汇编直到通过。 2)打开DATD窗口给20H、21H、R6、R7赋值 3)单步调试DSFR子程序观察并记禄寄存器、内存的变化。判断程序是否正确。若发现 问题重返编辑界面,修改、存盘、汇编。返回调试界面调试通过。 4) 设断点调试主程序观察并记禄寄存器、内存的变化。判断程序是否正确。若发现问 题重返编辑界面,修改、存盘、汇编。返回调试界面调试通过。 3.实验报告 1.写出主程序流程图、子程序流程图、程序清单 2.根据记渌数据给程序加注解 3.调试心得

crc循环冗余码的计算

CRC循环冗余码的计算 三、循环冗余码(CRC) 1.CRC的工作方法 在发送端产生一个循环冗余码,附加在信息位后面一起发送到接收端,接收端收到的信息按发送端形成循环冗余码同样的算法进行校验,若有错,需重发。 2.循环冗余码的产生与码字正确性检验例子。 例1.已知:信息码:110011 信息多项式:K(X)=X^5+X^4+X+1 生成码:11001 生成多项式:G(X)=X^4+X^3+1 (r=4) 求:循环冗余码和码字。 解:1)(X5+X4+X+1)*X4的积是 X9+X8+X5+X4 对应的码是1100110000。 或者 G(X)的模是4,所以在信息码的后面加4个0得1100110000 2)积/G(X)(按模二算法)。 由计算结果知冗余码是1001,码字就是1100111001。 __________1 0 0 0 0 1 ←Q(X) G(x)→1 1 0 0 1)1 1 0 0 1 1 0 0 0 0←F(X)*Xr 1 1 0 0 1 , 1 0 0 0 0 1 1 0 0 1 1 0 0 1←R(X)(冗余码) 例2.已知:接收码字: 1100111001 多项式:T(X)=X^9+X^8+X^5+X^4+X^3+1 生成码: 11001 生成多项式:G(X)=X^4+X^3+1 (r=4) 求:码字的正确性。若正确,则指出冗余码和信息码。 解:1)用接收码字除以生成码,余数为0,所以码字正确。

1 0 0 0 0 1←Q(X) 1 1 0 0 1 )1 1 0 0 1 1 1 0 0 1←F(X)*Xr+R(x) G(x) 1 1 0 0 1 , 1 1 0 0 1 1 1 0 0 1 0←S(X)(余数) 2)因r=4,所以冗余码是:1001,信息码是:110011 四、海明码 ●对于16位的数据,需要(47)个校验位才能构成海明码。 在某个海明码的排列方式D9D8D7D6D5D4P4D3D2D1P3D0P2P1中,其中D i(0≤i≤9)表 示数据位,P j(1≤j≤4)表示校验位,数据位D8由 (48) 进行校验。 (47) A、3 B、4 C、5(2的k次方>=16+k) D、6 (48) A、P4P2P1 B、P4P3P2C、P4P3P1 D、P3P2P1 D9 D8 D7 D6 D5 D4 P4 D3 D2 D1 P3 D0 P2 P1 h14 h13 h12 h11 h10 h9 h8 h7 h6 h5 h4 h3 h2 h1 D8位对应h13,然后算:8+4+1=13,所以要第四位(p3)第八位(p4)第一位(p1)来校验 了。 答案就是:p4p3p1

浅谈火力发电厂运煤系统控制及联锁

浅谈火力发电厂运煤系统控制及联锁 【摘要】本文针对2×135MW机组火力发电厂运煤系统控制及联锁提出一些见解。 【关键词】运煤系统;控制;流程;联锁。 引言 随着火力发电厂运煤系统自动化程度越来越高,运煤系统控制基本上实现了无人值守,集中或者就地控制。本文就以新疆阿勒泰地区A火力发电厂为例,浅谈火力发电厂运煤系统控制及联锁。 1.概述 A电厂项目为新建工程,本期工程装机容量为2×135MW凝汽式汽轮发电机组配2×440t/h超高压、一次中间再热燃煤锅炉。运煤设备运行班制为三班制,每班运行3.3 小时。厂内设3个地下煤斗串联为系统上煤,运煤系统设筛碎、除铁、中部采样、电子皮带秤、动态循环链码效验装置等。 2.运煤系统控制范围 带式输送机;振动给煤机;电动挡板三通管;滚轴筛;环锤式碎煤机;除铁器;电动犁式卸料器;电子皮带秤;运煤系统保护一次元件(包括双向拉绳开关、两级跑偏开关、速度检测器、料流检测器、纵向撕裂保护装置、堵煤检测器、防闭塞装置及煤仓高低料位计);排水泵;煤场抑尘自动控制系统 3.运煤系统控制及联锁要求 运煤程控系统参加联锁的设备包括带式输送机、振动给煤机、电动挡板三通管、滚轴筛、环锤式碎煤机、电动犁式卸料器等。 运煤系统集中和就地两种控制方式的设定是由设置在各设备就地控制箱或MCC上的远方/就地选择开关完成的。此外,在就地控制箱或就地MCC上还设有启、停按钮及信号灯等。只有当选择开关设置为远方时,运煤程控室才能控制该设备,当选择开关设置为就地时,只能就地控制该设备。选择开关的状态信息用干接点送至运煤程控的PLC系统中,以便操作员随时了解现场情况。 当采用自动运行方式时,上位工控机显示器上显示所有运煤工艺流程,选择运煤流程后,PLC系统自动检测该流程相关的设备,在该流程所有设备均处于可控情况下,操作人员在上位工控机上发出“启动”命令来启动该流程,否则,PLC 系统内部联锁应能防止任何设备的启动。在需要停止该流程时,操作人员在上位工控机上发出“停止”命令,PLC系统按正常清除顺序停止。

8位可逆循环计数器

一、概述 随着科技的日益进步,计数器得到了越来越广泛的应用,发展的也越快。在数字系统中使用的最多时序逻辑电路要算是计数器了。计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。本次实验的思路主要是设计一个8位可逆循环计数器,该计数器加计数到最大值(11111111)时输出一个周期的高电平信号(表示计数器达到最大值)并自动变为减计数,减计数到最小值(00000000)是输出一个周期的高电平信号(表示计数器达到最小值)并自动变为加计数。如此循环往复。要求设计层次化。实验中用到的器件主要包括74LS191D、7段显示器、555组成的多谐振荡电路和多个门电路。 二、方案论证 为了实现本实验的主要内容,首先要利用555定时器制成一个多谐振荡电路作为时间脉冲为同步十六进制加/减计数器74LS191D提供时间信号,并且要将多谐振荡电路的频率设为HZ,即周期为秒。因为要实现计数器加到最大值(11111111)(或最小值(00000000))时输出一个周期的高电平信号,故需要加入多个门电路和灯泡,同时要求加数器数器自动变为减数器(或减数器自动变为加数器)故利用T触发器实现该功能,并能够实现循环往复的功能。其原理框图如图1所示。 图1 电路的原理框图脉冲信号 直流稳压电源滤波、整波 555时钟信号脉冲 电路 74LS191D十六 进制计数器 74LS191D十六 进制计数器 数码管显示 输出一个周期的 高电平信号 计数器自动的由加数器转换为减数器或相反

三、电路设计 1.直流稳压电源电路 直流稳压电源包括电源电容电阻;其组成电路如图2所示。 图2 直流稳压电源电路 2. 时钟信号脉冲电路 555定时器是一种多用途的数字—模拟混合电路,利用它能极方便的构成多谐振荡器,且成本低,只需外接几个电阻、电容,就可以实现多谐振荡来产生时钟信号用来计时。 电容C2通过R3和R4开始充电,充到1/3Vcc时,输出上升为高电平,电容继续充电,直到2/3Vcc时,输出又降为低电平,电容向R3放电,放到1/3Vcc时,又开始充电,一直循环,就形成了脉冲。充电的时间T1=R1C ln2,放电时间T2=(R1+R2)C ln2,所以一个周期的时间为T=T1+T2=(R1+2R2)C ln2。令C2=C3=10uF,T=1s,所以f=1Hz。在此我们设置R1=44k,R2=50k即可达到输出频率为1s的脉冲信号。由此组成的555多谐振荡电路如图3所示。 图3 时钟信号脉冲电路

计算机网络原理 循环冗余码

计算机网络原理循环冗余码 循环冗余校验码(CRC:Cyclic Redundancy Code)借助于循环码来实现校验。循环码不同于奇偶校验码,它有两个显著特点:一是循环码适合于用代数方法分析码的结构,并可以用代数方法设计各种实用的、有较强纠错能力的码,并且无需很长的码长;二是由于码的循环特性,所需的编、译码设备比较简单,易于实现。因此循环码在实际中得到广泛应用。1.CRC的工作方法 在发送端产生一个循环冗余码,附加在信息位后面一起发送到接收端,接收端收到的信息按发送端形成循环冗余码同样的算法进行校验,若有错,需重发。 2.循环冗余码的产生与码字正确性检验例子。 例1.已知:信息码:110011 信息多项式:K(X)=X5+X4+X+1 生成码:11001 生成多项式:G(X)=X4+X3+1(r=4) 求:循环冗余码和码字。 解:1)(X5+X4+X+1)*X4的积是X9+X8+X5+X4对应的码是1100110000。 2)积/G(X)(按模二算法)。 由计算结果知冗余码是1001,码字就是1100111001。 G(x) 11001 10000 1001 ×X r 例2.已知:接收码字:1100111001 多项式:T(X)=X9+X8+X5+X4+X3+1 生成码:11001 生成多项式:G(X)=X4+X3+1(r=4) 求:码字的正确性。若正确,则指出冗余码和信息码。 解:1)用字码除以生成码,余数为0,所以码字正确。 G(x) 11001 11001 11001 ×X r+R(x) S(x) 2)因r=4,所以冗余码是:11001,信息码是110011 3.循环冗余码的工作原理 循环冗余码CRC在发送端编码和接收端校验时,都可以利用事先约定的生成多项式G(X)来得到,K位要发送的信息位可对应于一个(k-1)次多项式K(X),r位冗余位则对应于一个(r-1)次多项式R(X),由r位冗余位组成的n=k+r位码字则对应于一个(n-1)次多项式T(X)=Xr*K(X)+R(X)。 循环码又被称为(n-k)循环码,这是因为此码共n位,其中前k位为数据位,后(n-k)位为冗余位。其组成如表所示。其中r代表冗余位,m代表原始数据。 ●全部奇数个错误 ●全部双字位错误

实验6 循环码的软件编、译码实验

实验六循环码的软件编、译码实验 一、实验目的 (1)通过实验了解循环码的工作原理。 (2)了解生成多项式g(x)与编码、译码的关系。 (3)了解码距d与纠、检错能力之间的关系。 (4)分析(7.3)循环码的纠错能力。 二、实验要求 用你熟悉的某种计算机高级语言或单片机汇编语言,编制一(7,3)循环码的编、译码程序,并改变接受序列R(x)和错误图样E(x),考查纠错能力情况。 设(7,3)循环码的生成多项式为:g(x)=x4+x3+x2+1 对应(11101)(1)按编、译码计算程序框图编写编、译码程序 (2)计算出所有的码字集合,可纠的错误图样E(x)表和对应的错误伴随式表。 (3)考查和分析该码检、纠一、二位错误的能力情况。 (4)整理好所有的程序清单,变量名尽量用程序框图所给名称,并作注释。 (5) 出示软件报告. 三、实验设计原理 循环码是一类很重要的线性分组码纠错码类,循环码的主要优点是编、译码器较简单,编码和译码能用同样的反馈移存器重构,在多余度相同的条件下检测能力较强,不检测的错误概率随多余度增加按指数下降。另外由于循环码具有特殊的代数结构,使得循环码的编、译码电路易于在微机上通过算法软件实现。 1、循环码编码原理 设有一(n,k)循环码,码字C=[C n-1…C r C r-1…C0],其中r=n-k。码字多项式为: C (x ) = C n-1x n-1+ C n-2x n-2+… +C1x+C0。 码字的生成多项式为: g(x)= g r-1x r-1+g r-2x r-2+…+g1x+g0 待编码的信息多项式为:m(x)=m K-1x K-1+…+m0 x n-k.m(x)=C n-1x n-1+…+C n-K x n-K

电子皮带秤循环链码校验装置详细介绍

电子皮带秤循环链码校验装置详细介绍循环链码是一种新型模拟载荷试验装置。它主要由标准质量循环码块组成的码块链条、链码托辊及支架、主辅升降系统、称重传感器、位移传感器、校验累计器及控制系统组成,如图10-10所示。 循环链码是由数百个标准质量码块连接成的闭合链条(见图10-11),标准质量码块为精密铸钢件,用数控机床加工,其主要性能指标为:适应带宽范围:≤3m; 适应带速范围:≤4m/s; 适应皮带机倾角: 0°耀18°; 适应皮带机槽型角: 0°耀35° 输送量测量范围: <10000t/h; 码块链条数量: 1耀6; 码块链条长度:通常为21m; 每米质量: 10kg/m,20kg/m,30kg/m, 40kg/m,50kg/m等; 每米质量误差:优于±0.05%; 升降系统行程: 800耀1400mm; 升降系统功率: 5耀10kW根据具体参数 由设计确定; 信号传输距离:≤1000m; 校验皮带秤的总不确定度:优于0.1%; 防护等级: IP54。

图10-10 循环链码结构示意图 1、支架; 2、码块链条; 3、皮带秤的承载器; 4、称重传感器; 5、升降系统; 6、皮带; 7、地面;8、检验累计器;9、位移传感器;10、电控箱 图10-11 在皮带上方的两条标准质量循环码块 试验时,启动皮带机,操作升降系统工作使码块链条在下降状态,部分码块自动降落在安装承载器称量长度及其附近的皮带上,码块随着皮带的移动循环通过称量长度,码块的重量作用在称量长度上,皮带秤累计器得到循环链码通过承载器的累计重量。与此同时,检验累计器也累计循环链码作用在称量长度的重量,因模拟载荷检验装置本身的总不确定度优于0.1%,将检验累计器的累计值与皮

自动循环计数器

自动循环计数器 一、设计目的 1、熟练掌握计数器的应用。 2、加深对加减循环计数和显示电路的理解。 二、设计任务 1、用集成计数器实行3~9自动循环计数。 2、电路能实现3~9加法和3~9减法循环计数。 3、输出用数码显示。 三、设计思想 1、译码驱动显示部分:计数输出结果送至译码输出显示部分。 2、控制部分:实现加或减循环计数功能由控制部分完成。 3、计数部分:完成BCD码3~9的可逆加或减循环计数。 系统方框图如下: 四、单元电路的设计、参数计算、器件介绍: (一)译码驱动显示部分 1、采用74LS48 TTL BCD—7 段译码器/内部输出驱动。 2、译码驱动、显示电路的设计 DBCA为8421BCD码输入端,a—g为7段译码器输出端。LT灯测试输入使能端。

(二)控制部分及循环加减计数部分 1、采用74LS191 TTL 4为同步加/减计数器。 2、控制部分及循环加减计数部分的设计74LS191功能管脚如图所示 3、主要逻辑功能 (1)同步指数功能 当LD’=0时,CP来时,并行输入数据d3~d0被置入。 (2)计数功能取CT’=0 LD’=1 当U’/D=0时,对应CP脉冲上升沿,十六进制加法计数。 当U’/D=1时,对应CP脉冲上升沿,十六进制减法计数。(3)保持功能

当CT’=LD’=1时,计数器保持原来的状态不变。 74ls21:就是双4输入与门,全0出1,有0出0 74ls32:4输入端或门,有1出1,全0出0 74ls74,:双上升沿D触发器 引出端符号 1CP、2CP 时钟输入端 1D、2D 数据输入端 1Q、2Q、输出端 CLR1、CLR2 直接复位端(低电平有效) PR1、PR2 直接置位端(低电平有效)状态图如下 五、总体电路设计图、工作原理及器件清单 1、3~9可逆自动循环加或减计数器总体电路如图所示。

二进制码转换为BCD码实验报告

实验二二进制码转换为BCD码 一、实验目的 1、掌握数码转换基本方法,加深对数码的理解。 2、用于十进制BCD码显示。 二、实验内容 将AX的内容转换为十进制BCD码。 三、实验程序框图 四、实验步骤 脱机模式: (1)在P、态,按SCAL键,输入2CE0,按EXEC键。 (2)复位RST键,由于AX中给定数为0FFFF,查瞧BCD码结果保留在4100H~4104H单元中,故其值应为06、05、05、03、05。 联机模式: (1)在PC机与实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开8kAsm文件夹,点击S2、ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。 (2)复位“系统复位”键,由于AX中给定数为0FFFF,查瞧BCD码结果保留在4100H~4104H

单元中,故其值应为06、05、05、03、05。 注:操作过程参照“实验一二进制多位加法运算”。 五、实验程序清单 X:\DICE-8086K3微机原理与接口实验箱CDROM\CODE\86kasm\S2、ASM ;将AX拆为5个BCD码,并存入Result开始的5个单元 DATA SEGMENT AT 0 ;S2、ASM,BIN-->BCD ORG 4000H RESULT DB 5 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA ORG 2CE0H START PROC NEAR MOV AX, DATA MOV DS, AX MOV DX,0000H MOV AX, 65535 MOV CX, 10000 DIV CX MOV RESULT, AL ; 除以 10000, 得WAN位数 MOV AX,DX MOV DX,0000H MOV CX, 1000 DIV CX MOV RESULT+1, AL ; 除以 1000, 得QIAN位数 MOV AX,DX MOV DX,0000H MOV CX, 100 DIV CX MOV RESULT+2, AL ; 除以 100, 得BAI位数 MOV AX,DX MOV DX,0000H MOV CX, 10 DIV CX MOV RESULT+3, AL ; 除以 10, 得SHI位数 MOV RESULT+4, DL ; 得GE位数 JMP $ CODE ENDS END START

相关主题
文本预览
相关文档 最新文档