编码过程论文(精选7篇)
编码过程论文 篇1
当前我国推进教育公平更多地是从政策、制度、法律、资源配置等宏观层面进行,如推进农村地区学校建设、完善相关法律保障学龄儿童受教育的权利等。然而较少从微观层面,如班级管理、课程设置、师生互动等方面进行研究探索。因此,导致对教育公平的关注大多是表层上的,而忽视与学生成长密切相关的教育实际,学生接受的实际教育公平问题未得到很好的解决。事实上,微观层面的公平是宏观教育公平的具体化,是内在实质的教育公平[1]。 宏观层面的教育公平的实现最终要通过微观层面的公平来落实,因为学校以外因素对学生发展的影响主要是表现在学校和教师对其的教育过程中。他们对受教育者个体的影响是渐进的、隐蔽的,较少引起人的关注,但又是切身的。因此,促进教育过程公平迫在眉睫。本文运用伯恩斯坦的语言编码理论,从微观视角深度剖析当前我国教育过程公平的制约因素,以期找到实现教育过程公平的现实路径。
一、从伯恩斯坦语言编码理论看教育过程公平
伯恩斯坦认为语言的差异是劳工阶层子女学业失败的重要原因。其主要观点包括:第一,来自不同背景的儿童倾向于使用不同的语言代码。中上阶层的孩子倾向于使用精密型语言代码,而劳工阶层的孩子倾向于使用局限型语言代码。但伯恩斯坦强调,使用局限型语言代码的孩子并不意味着他们从来不使用精密型语言代码,只不过这类孩子在家庭和社会中不经常使用这种代码而已[2]。第二,语言编码理论能够解释劳工阶层子女学业失败的现象。由于学校是精密型语言环境,这对劳工阶层的子女是巨大的挑战。从家庭到学校需要转变自己原来惯常的语言表达形式,这对他们而言可谓困难重重,他们很难适应新环境,容易产生对学校排斥或者造成他们的自卑感。长此以往,劳工阶层的子女在学校环境中逐渐处于不利的地位,出现厌学、辍学的现象,这就是他们学业失败的主要原因。第三,家庭关系形式是儿童形成不同语言形式的重要变量。伯恩斯坦把不同的家庭关系形式分为地位型家庭和个人型家庭,地位型家庭各成员地位明确,各成员之间的区别及权威关系以成员的家庭地位为基础,在这种家庭的孩子接受权利与义务的规范训练,沟通不自由,很少拥有表达自我的机会,因而倾向于发展局限型语言。而个人型家庭地位界限模糊,成员关系以自我为中心,家庭成员之间沟通自由,允许孩子自由表达观点与看法,这无形中会促使孩子运用更多的语法、语词和语句,从而发展精密型语言。
伯恩斯坦的语言编码理论为我国研究教育过程公平问题提供了新的视角,尤其是解释了学生学业成绩差异的微观因素即语言的差异。来自不同家庭的学生使用的语言代码是存在差异的,而学校又是精密型语言环境,这显然对于使用不同语言代码的学生的发展是不公平的,语言的差异成为影响教育过程公平的重要微观变量。与此同时,语言编码理论为我国解决教育过程公平问题提供了新的途径。城乡学生学业成绩的显著差异不仅仅在于城乡教育资源分配不均,语言编码类型的差异是其重要的微观变量。
二、语言编码视角下教育过程公平的制约因素
1.学生学习起点的不公平:语言环境的差异
学校是精密型语言环境,这对下层的学生产生了不利的影响。他们在跨入学校的第一步,就要努力改变自己原来的语言形式以便适应新的环境。然而这种转变是艰难的,因为他们已长期习惯于运用局限型语言代码,突然间的转变很难做到。下层学生原有的语言形式与学校代表的精密型语言环境是不一致的。而学生如果难以融入其中,则导致学生挫败感,久而久之产生厌学心理,出现逃课、辍学的现象。而中上阶层的学生则由于学校的语言环境与自己原来的一致,很快就能够适应学校新环境, 成功的概率增加,这就是由于学生语言环境的差异导致学习起点的不公平,进而影响教育过程公平。
当前我国随着城镇化进程的加快,进城农民工子女也随之增多。然而,据相关研究表明,进城农民工子女学业成绩不良的比例明显高于城市户籍学生[3]。这很大一部分原因在于进城农民工子女的语言环境发生了改变。进城农民工子女在社会分层中显然处于下层,他们日常生活中主要使用的是局限型语言代码,语句简短,需要依赖具体的场域才能理解。而城市学校是精密型语言环境。因此,进城农民工子女在进入城市学校之后,就要努力改变自己原来的语言习惯以便适应新的环境。他们需要在这两种不同的场域之间进行转换。但这种转换是艰难的,因为语言的形成与发展是与环境密切联系的, 突然之间语言环境的改变对于学生而言需要一个适应的过程。而城市学生是以精密型语言编码为主,很快就能够适应学校新环境。因此,这解释了进城农民工子女学业不良的比例高于城市户籍学生的原因。
2.学生受对待的不公平:编码类型的差异
2006年新修订的 《中华人民共和国义务教育法》明文规定:“教师在教育教学中应当平等地对待学生,关注学生的个体差异,因材施教,促进学生的充分发展。”[4]然而现实中很多学生却受到教师不公平的对待,其中很重要的原因是拥有不同语言编码的学生在课堂上的表现存在显著差异。局限型语言代码逻辑性不强、概括性弱、语句简短,具有特殊性。精密型语言代码逻辑性强、概括性强、语句复杂,具有普遍性。教师具有一定的文化资本,因而惯于使用精密型语言。在具体的教学过程中,比如,在课堂上回答教师的问题,惯于使用局限型语言的学生表达含糊不清,逻辑混乱,教师表情往往很难看, 更甚者会训斥,并且认为是学生不努力的结果。而惯于使用精密型语言的学生,在回答问题时则简洁明了,逻辑性强,教师往往给予会心微笑、赞许,这容易使学生受到不公平的对待。另外,拥有精密型语言代码的学生善于语言表达,与教师之间能够更好地交流,他们更受教师的青睐。教师是影响学生最重要的“他人”,长此以往,惯于使用局限型语言的学生会受到严重的影响。
事实上,局限型语言代码也有自身的优势,语句简短,容易理解。据相关学者调查发现,更多的学生会喜欢自己的老师使用生活化的语言和风趣的语言风格进行教学,听起来亲切且记得牢[5]。因此, 教师在具体的教学中适当地运用,不仅便于知识讲授,也易于提高课堂效率。然而,很多教师大多使用精密型语言代码,这不仅不能使学生快速地掌握知识,而且使得那些惯于使用局限型语言代码的学生学习起来更加困难,这进一步加剧了教育的不公平。
3.教材、试题的表述不合理:编码比重的差异
教材中不同的语言编码所占的比重是不同的。 有学者对中小学的语文教材研究发现,语文课本中加重了对古诗词歌赋和文言文的学习,议论文也占较大比重,而以前学习的经典白话小说如《骆驼祥子》要么放入选修课里,要么删除[5]。白话小说语句简短、贴近生活实际,是一种局限型语言代码,而古诗词、文言文、议论文则是逻辑性很强的精密型语言。语文教材的精密型语言比重远高于局限型语言,这显然对惯于使用局限型语言代码的学生产生不利的影响。他们在学习教材内容时会遇到更多的困难,若要取得更好的成绩需要付出更多的努力。 同时,有研究发现:小学语文课本中具有乡村特征的插图所占的比例较小,城市特征插图数量远多于农村[6]。可见,教材存在一定程度的城市化倾向,这明显不利于农村学生学习及农村教师教学。总之, 教材语言的精密化、城市化的趋向造成了学生之间的隐性不公平。
另外,一些试题的表述也不合理。试题中出现城市名词较多,大多采用精密型语言代码,这显然不利于农村学生。因此,试题的表述对学生的成绩也有重要的影响。这对农村学生而言存在着不公平,农村学生在考试竞争中处于劣势。
三、从语言的视角探寻促进教育过程公平的实践路径
语言形式的差异本来无可厚非,然而在现实中却造成了很大的影响,惯于使用局限型语言代码的学生在学校中处于不利地位,易出现学业失败。教育的不公平亟待解决,须要从家长、教师等层面全面关注。
1.家长应营造良好的语言环境,培养孩子的语言能力
儿童语言的形成与发展最先始于家庭,父母有着无可替代的作用。因此,作为家长应从小重视孩子语言能力的培养,营造良好的语言环境,有意识地转换孩子的语言编码形式。首先,父母要做好榜样作用,在孩子面前尽量说完整流利的普通话,为孩子营造一个良好的语言环境。其次,增加孩子的阅读量,每天陪孩子阅读一些简单读本,睡前给孩子讲故事等。第三,及时让孩子接受学前教育,把握学习语言的关键期。在幼儿园中孩子与同伴及教师之间的交流与沟通,会无意识地促进孩子语言能力的发展。并且,幼儿园的教师是专业性的,对孩子语言能力的培养可能要优于一般的家庭。最后,家长在与孩子的日常交往中,应多鼓励孩子表达自己的意见和看法。总之,作为家长应从小注重给孩子营造良好的语言环境,培养孩子的语言能力,这有助于促进教育过程公平。
2.教师应树立公平意识,合理运用两种语言编码
由于学生所处的家庭条件及背景的不同,语言存在差异是不可避免的。语言是影响学生学业成就的微观变量。作为教师,要充分关注这一点。首先, 教师要有公平的意识,平等地对待每一位学生。教师不应以自己的偏好为标准评价学生,要客观公正,树立多元化的评价观。每个学生都是独特的个体,都有自己的长处与短处。教师要注意关注学生, 了解每个学生的特点,做到因材施教。其次,教师要注意语言表达方面有缺陷的学生,及时了解原因并 “对症下药”。因为每个学生的原因可能不一样。班主任及科任教师要及时了解情况,积极引导他们提高自己的语言表达能力,如鼓励他们参加辩论赛、 演讲比赛活动,课堂上多鼓励他们举手回答问题等。第三,局限型语言代码也有自身的优势即形象生动。教师在教学中适当的运用,不仅便于知识讲授,也容易使学生理解。教师使用该类型语言授课一般是通过讲故事、打比方,把一些晦涩难懂的知识通过形象的语言表达出来,既使课堂生动有趣, 又便于学生理解。教师在教学过程中恰当地使用两种语言代码,可以兼顾到不同学生的语言习惯,从而促进教育过程公平。
3.教材、试题的表述要兼顾不同学生的语言习惯
由于教材及试题的表述大多采用的是精密型语言代码且城市化的特征明显,这对惯于使用局限型语言代码的学生成绩产生了重大影响。因此,我们要特别关注教材、试题的语言编码的方式。作为教材的编写者要合理地安排两种语言编码的比重, 兼顾不同学生的语言习惯。如语文教材中可以适当增加一些白话文,白话文通俗易懂,便于理解。另外,教材中也应适当地增加具有乡村特征的材料, 这可以兼顾到农村教师及学生的实际情况,促进教育过程公平。
在教学过程中,我们经常会遇到这种情况,有些学生往往是因为不能理解题目的意思而做错题。 归其原因是由于试题的表述往往采用的都是精密型语言且试题含有很多城市的名词,对于不熟悉精密型语言的农村学生而言很可能没理解题目的意思,导致做错题,这不利于学生之间的公平竞争。因此,试题编写者应尽量使试题的表述简洁易懂,兼顾到不同学生的语言习惯,尤其在各类大型考试中,若有生词、新词的出现应加以注释,做到公平、 公正。
参考文献
[1]徐生娥.教育公平研究的基本视角与启示[J].西北成人教育学报,2008(6).
[2]张人杰.国外教育社会学基本文选[M].上海:华东师范大学出版社,1989.
[3]李红婷.农民工子女低学业成绩的人类学阐释——对A市农民工子女学业成绩的现状调查与归因分析[J].湖南师范大学教育科学学报,2008(3).
[4]教育部网.《中华人民共和国义务教育法》[EB/O L].http://www.moe.edu.cn/publicfiles/business/htmlfiles/moe/moe_619/200606/15687.html,2006-6-29.
[5]卢妮娜.走向教育过程公平[D].芜湖:安徽师范大学,2011.
[6]张勇.教科书城市偏向的课程社会学思考——以苏教版小学语文教科书为例[J].浙江教育科学,2007(4).
神奇的数字编码 篇2
放学一回到家,我就扔下书包,跑进厨房,跟正在洗菜的妈妈说:“妈妈,老师说要我们找身份证号码的信息,快把您的身份证给我看看吧!”妈妈一听,立马把手擦干,找出身份证递给了我。我拿着身份证,看见了一排数字:360312198306262826。“哇!这么多数字,好复杂啊!我怎么能记得住呢?”我一边自言自语,一边问妈妈,“您能告诉我这些数字代表什么吗?”妈妈说:“我们一起来查下资料吧!”于是,我和妈妈一起打开了电脑查资料。
我发现,身份证号码是由18位数字组成的。1-6位的数字是地区代码,其中1-2位数字是各省级政府的代码,3-4位数字是地市级政府的代码,5-6位数字是县、区级政府代码;7-14位的数字是出生日期码;15-17位的数字是顺序码,为县、区级政府所辖派出所的分配码,其中第17位的数字用于区别性别——男单女双;第18位的数字是校验码,由计算机自动生成。
看了这些介绍,我似懂非懂,再次拿起妈妈的身份证,把上面的号码写在一张纸上,然后按照刚刚找到的资料把数字分组。突然,我很惊喜地发现了妈妈的出生日期。我开心地告诉妈妈,妈妈直夸我厉害,不仅学会了查阅资料,还能很快发现数字编码中的奥秘。
数字编码好神奇啊!
编码过程论文 篇3
关键词:音频加密,Lorenz混沌系统,Logistic混沌系统,MP3编码
0 引言
随着通信与计算机技术的飞速发展, 世界已经进入了信息化的时代。人们可以利用数字设备来处理图像、语音和视频等信息媒体, 并通过网络来传播, 多媒体技术的发展给人们带来了巨大的便利。然而, 这也被非法侵权者所利用, 各种数字盗版产品在市场上流动, 严重损害了所有者的产权, 同时抑制了制作者的创作积极性。因此, 数字产品的知识产权的保护是迫切需要解决的问题。
多媒体信息中的音频是其重要的组成部分, 因此音频加密成了研究的重点。音频加密的方法主要有两类, 部分加密和完全加密[1,2,3]。当数据量较小时可以采用完全加密, 这样就省去了对音频编码的格式的考虑, 从而缩短了开发时间。然而, 在现实中往往要加密数据量较大的音频, 若采用全部加密, 必定导致效率低下。若采用部分加密, 可以在安全性得到保证的前提下大大提高效率。
本文提出的一种使用Lorenz混沌系统, Logistic混沌系统和MP3编码过程相结合的音频加密方法, 采用部分加密的方式, 符合大数据量音频加密的要求。通过对MP3编码的分析, 加密MP3中的重要信息, 提高了加密的效率, 同时选择混沌流密码加密, 不仅降低了成本, 还进一步提高了密码的安全性。
1 MP3加密数据选择
根据压缩质量与编码复杂程度, MPEG-1划分为3层, 层次越高, 编码器越复杂, 压缩率越高。MP3是音频压缩的第三层。
MP3编码算法[4]主要包含时域频射 (多相滤波器组与MDCT[5]变化) , 心理声学模型[6], 量化编码 (比特分配与Huffman编码) 和比特流格式化。多相滤波器组把输入的数字音频信号按频率分成32个子代, 由MDCT补偿, 生成576个MDCT系数。由心理声学模型的计算结果, 576个MDCT系数被分成带有消减量化噪声的比例因子[7]的多个因子带, 控制量化噪声在不易被察觉的频带。量化后, 经由Huffman编码进一步压缩后, 再以比特流格式化生成比特流。由Huffman编码的特点可知, 在解码时, 必须按照霍夫曼编码表才能正确译码。
MP3文件的结构[4]大体可分成三部分:TAG_V2、Frames、TAG_V1 (可选) 。MP3文件基本是由帧构成的, 帧分为帧头和音频数据两部分, 帧头是固定的4字节, 其后是帧的音频数据。音频数据由边信息、主数据和附加数据组成。边信息主要包括主数据的起始位置、反量化和霍夫曼编码等相关资料。主数据是经过压缩和处理后的音频数据, 而主数据中, 最重要的信息包括比例因子和霍夫曼码。
综上可知, 可以利用混沌流密码加密帧内的比例因子和霍夫曼码, 这不仅保证了安全性, 而且提高了效率。
2 混沌系统
混沌来自于非线性动力系统, 而动力系统描述的是任意随时间变化的过程, 这个过程是确定性的、类似随机的、非周期的、具有收敛性的, 并且对于初始值有极敏感的依赖性。这些混沌运动的特征使混沌系统适合于数字信息的加密。
Lorenz混沌系统[8]是一种三维的混沌系统, 它的动力学方程为:
式中a, b, c为系统的参数, (x, y, z) 为系统轨迹。
当a=10, b=8/3, c=28时, Lorenz系统进入混沌状态。根据这些参数, 可以得到Lorenz混沌系统的吸引子数值仿真结果, 如图1所示。
Logistic混沌系统[9]是二维的混沌系统, 它的动力学方程为:
a是Logistic混沌系统的参数, 为一个常数, 0≤a≤4。当x∈[0, 1]时, Logistic映射工作处于混沌状态, 即初始条件X0在Logistic映射作用下产生的序列是非周期的、不收敛的。由图2可知, 在a越接近4的地方, x取值范围越能平均分布在0到1的区域, 因此选取的Logistic参数越接近4越好, 本文选取a=4。
当x1=0.4与x1=0.401时, 可比较仿真结果, 由图3可见 (带*的为x1=0.4时的分布图, 不带*为x1=0.401的分布图) 系统对初始条件非常敏感, 即使当初始条件存在很小的差别, 在一段时间后, 也会得到完全不一样的结果。
3 加密算法
本文基于MP3编码过程, 利用Lorenz混沌系统与Logistic混沌系统生成的混沌表作为加密序列对MP3音频文件加密。
(1) Lorenz混沌系统的初值设定为x0, y0, z0, 迭代n次后产生xn, yn, zn, 并取其小数得到Xn, Yn, Zn。
(2) 分别用Xn, Yn, Zn作为Logistic混沌系统的初值, 迭代m次生成m*3的混沌表{Xi;Yi;Zi}。
(3) 当0≤Xi<0.5时, 取Yi, 0.5
MP3音频加密流程图如图4所示。
4 结束语
本文给出了利用两个混沌系统生成混沌表, 结合MP3编码过程对音频文件进行加密的算法。如图5为加密前, 加密后, 解密后的部分波形图。分析和仿真都表明, 混沌系统对初值的敏感性极高, 并具有不可预测性。利用混沌表产生的混沌序列有着很好的伪随机的特性, 加强了对音频文件的保密强度, 同时又根据MP3编码过程对文件进行部分加密, 提高了加密的效率。
参考文献
[1]葛龙, 廉士国, 孙金生, 等.基于参数敏感性的MP3音频选择加密方案[J].计算机应用研究, 2006 (10) :122-127.
[2]朱志良, 张伟, 于海.基于Lorenz混沌系统的MPEG视频加密算法[J].计算机应用, 2008, 28 (12) :3003-3006.
[3]Servetti A, DeMartin.Perception-basd partial encryption of compressed speech[J].IEEE Transactions on Speech and Audio Proceeding 2002, 10 (8) :637-643.
[4]曹强.数字音频规范与程序设计:基于Visual C++开发[M].北京:中国水利水电出版社, 2012.
[5]Goo-Rak Kwon, Chuntao Wang, Shiguo Lian, et al.Advanced partial encryption using watermarking and scrambling in MP3[J].Multimedia Tools and Applications 2012, 59 (3) :885-895.
[6]张力光, 王让定.心理声学模型及其在MP3编码中的应用[J].宁波大学学报:理工版, 2010 (3) :27-31.
[7]文仁轶, 潘峰, 申军伟.针对MP3压缩域比例因子的音频水印算法[J].计算机工程与应用, 2012 (27) :58-62.
[8]姚翔辉, 禹思敏.基于Lorenz混沌系统的数字视频加密[J].微型机与应用, 2011, 30 (4) :41-43.
编码过程论文 篇4
一般认为,软件质量是软件产品满足使用要求的程度。影响软件质量的因素很多。软件质量保证(QA)活动为达到高质量软件提供了一个框架。编码阶段是利用具体的编程语言,实现软件详细设计的过程。
Java是一个广泛使用的网络编程语言,作为一种程序设计语言,它简单、面向对象、不依赖于机器的结构。利用Java编写正确、健壮、高效的代码,更具有挑战。因此,在基于Java的软件产品开发过程中,如何保证编码阶段的质量,就成为很关键的问题。编码阶段的质量保证如何实施,编写健壮、高效的代码,成为软件开发人员关注的焦点。本文给出了Java软件编码过程的质量保证的关键方法和工具。
1 编码阶段质量保证的含义
除了设计错误外,编码是唯一引入软件缺陷的地方。编码阶段的质量保证正是为了预防编写代码过程中软件缺陷和错误的产生。
编码阶段的质量保证主要由开发人员来实施,而不是测试人员和项目管理人员。开发人员和其他人员对软件质量关注和贡献的侧面不同,其工作是相辅相成的。在软件质量领域多年的研究和实践积累,诸多质量保证的方法被提炼出来并获得了广泛的应用并且逐渐成熟。其中,编码阶段的质量保证的关键方法有:编码规范、代码评审、单元测试、文档实时化等。
2 编码规范
编码规范是语言相关的规则,是经过实践锤炼出来的经验。通过建立代码编写规范,形成开发小组编码约定,提高程序的可靠性、可读性、可修改性、可维护性、一致性,同时,使开发人员的工作成果更容易共享和继承。良好的编程标准将有效地帮助开发人员避免开发有潜在危险的代码,并能有效地统一和规范整体开发活动。
2.1 JAVA编码规范
2.1.1 源代码排版规则
包括文档化,必须用javadoc来为类生成文档;代码行缩进,缩进应该是每行2个空格,不要在源文件中保存Tab字符;源文件页宽,页宽应该设置为80字符;{}对,{}中的语句应该单独作为一行;括号,左括号和后一个字符之间不应该出现空格,同样,右括号和前一个字符之间也不应该出现空格。
2.1.2 Java命名约定
包括变量、常量或表态变量、包、类与接口、方法、组件的命名规则。
2.1.3 Java文件样式
所有的Java(*.java)文件都应该遵守如下的样式规则:
版权信息必须在Java文件的开头,其他不需要出现在javadoc的信息也可以包含在这里。
package行要在import行之前,import中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果import行中包含了同一个包中的不同子目录,则应该用*来处理。
类定义(含类的注释,类声明、类体的定义,属性/成员变量的定义,存取方法的设置方法,构造方法,克隆方法,main方法)
2.1.4 代码注释规范
避免形成注释框,避免使用缩写,使用缩进,注释要简洁。注释通常位于它们要说明的代码的前面。为了从视觉上突出注释与它的代码之间的关系,将注释缩进,使之与代码处于同一个层次上。
在编码以前开发小组要共同讨论,在编码规范上形成共识,并把确定的编码形成文档,供开发人员编码过程中遵照。
2.2 编码规范执行的辅助工具
2.2.1 代码排版工具JBuilderX
源代码的排版属于编码规范的一部分,评价代码质量的高低不仅取决于算法和数据结构,代码排版布局也是一个不可或缺的方面。JBuilderX集成了一个强大的代码排版布局格式化工具,在你编写好代码后,可以通过它来美化你的代码。JBuilderX提供了丰富的代码模板,JBuilderX的代码模板库提供了大量的常用的代码模板,代码模板库允许你对代码模板进行维护,对已有模板进行更改或新增自定义的代码模板。
2.2.2 编码规范检查工具Checkstyle
在开发团队中推行编码规范有时是困难的。编码规范检查工具Checkstyle可以帮助编程人员编写符合编码规范的Java代码。程序员都非常讨厌程序的检查工作,Checkstyle能够自动地完成这项烦琐但又非常重要的工作,从而节省了程序员的时间,也提高了检查的质量。NtCheckstyle是一个可安装的模块,它自动完成Checkstyle和Netbeans环境的集成。集成后Checkstyle的使用非常方便。Checkstyle的输出结果直接输出在Netbeans的标准输出窗口中,然后你就可以对照输出结果逐条修改你的源代码,直到完全符合编程规范为止。当然,根据要求你也可以忽略掉某些不符合的结果信息。
3 代码评审
代码审查一般由一个小组来执行,评审会由评审领导人主持,所有的评审人员和生产者参加。一个评审员担任记录员,他记录评审中提出的所有重要问题。FTR首先讨论日程安排,接着让生产者对其产品进行简要介绍,解释材料,评审者根据他们事先的准备提出问题。当问题被确认或错误被发现时,记录员要把它们都一一记录下来。
评审结束时,所有FTR的参加者必须作出决定:是否接受该产品,不再作进一步的修改;是否暂时接受该产品,小的错误已经发现,必须改正,但没有必要进行另外的评审。
当决定之后,FTR所有参加者都必须签名,以表明他参加了会议,并同意评审组的裁决。
3.1 代码评审的辅助工具
人工代码评审可以充分发挥评审小组内专家的经验,发现一些隐藏的bug,并能通过面对面的交流,提高开发人员的编码水平。但是人工评审存在工作最大、效率低、容易遗漏等缺点。代码编写中一些可能出现bug的代码有一定的模式,很多代码评审的工具,将检查规则内置其中,能检查出不符合要求的源代码。工具辅助的代码评审可以分为两类:静态代码评审和动态代码评审。静态代码评审是指在不运行程序的状态下查找问题。可以通过充分发挥编译器的检查功能或者利用专门的静态代码评审工具。动态代码评审是在程序执行过程中,发现程序中的问题。
3.2 充分利用编译器
很多人忽视了编译器在代码评审前期的作用。实际上充分利用编译器可减少潜在错误。
Java编译器是将以“.java”为扩展名的Java源程序转换成可由Java解释器执行的类文件的工具。Java编译器的程序名是javac,它的语法是javac[选项]源程序文件。
3.3 静态代码评审工具
LOGISCOPE是法国Telelogic公司推出的专用于软件质量保证和软件测试的产品,它是一组嵌入式软件测试工具集,贯穿于软件开发、代码评审、单元/集成测试、系统测试、以及软件维护阶段。LOGISCOPE的重点是帮助代码评审(Review)和动态覆盖测试(Testing)。LOGISCOPE对软件的分析,采用基于国际间使用的度量方法(Halstead、McCabe等)的质量模型,以及从多家公司收集的编程规则集,可以从软件的编程规则、静态特征和动态测试覆盖等多个方面,量化地定义质量模型,并检查、评估软件质量。在代码评审阶段,LOGISCOPE定位那些具有80%错误的程序模块。通过对未被测试代码的定位,LOGISCOPE帮助找到隐藏在未测试代码中的缺陷。
4 单元测试
单元测试是在软件开发过程中要进行的最低级别的测试活动,一般由开发人员来执行。在单元测试中,独立完成在与程序的其他部分相隔离情况下的测试。单元测试能够简化错误检查,在减少开发时间和成本的同时提高软件质量,被公认为软件开发过程中的一个关键步骤。为了彻底地测试类的结构和功能性,应该设计两种类型的测试用例:黑盒和白盒。白盒测试通常根据覆盖准则设计测试用例,使程序中的每条语句、每个条件分支、每个控制路径都在程序测试中受到检验。黑盒测试着重于验证软件功能和性能的正确性。一般来说,好的测试用例至少应该做到执行覆盖,即被测试代码的每一行都要至少执行一次。
在建立这些测试用例以后,执行整个测试用例并分析结果,确定在哪里出现了错误。并且测量测试用例的覆盖性,以确定类被测试的程度以及需要追加的测试用例。
任何时候一个类被修改后,应该执行回归测试,保证没有引入新的错误。
(1) Java代码的单元测试框架Junit
测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可少,Junit是一个非常强大的单元测试包,可以对一个/多个类的单个/多个方法测试,还可以将不同的TestCase组合成TestSuit,使测试任务自动化。
(2) 覆盖性分析工具PureCoverage
单元测试的难点之一就是要保证测试用例要尽量覆盖被测试代码。Rational PureCoverage是Rational家族的测试覆盖性分析工具。测试覆盖性分析就是要确定哪些模块、函数和语句已经被执行过,便于在整个开发和测试过程中,了解测试状态。可以选择是否开启PureCoverange。如果开启,在程序运行时,PureCoverage。记录下程序中的哪些部分已被检测过。运行结果后,利用保存的覆盖性信息,显示哪部分代码已经测验过,多少代码被测验过,以及不同的代码块执行多少次。
5 文档实时化和完备化
软件文档在计算机软件产品的构成中占有举足轻重的作用。历史经验一再说明,软件文档是"图纸化"的规范化软件生产的重要依据;直接关系到软件开发过程控制的可见性,是保证软件产品质量的关键,对可读性、可维护性起重要作用。编写软件文档是软件设计和开发人员必须具备的一项基本技能。
在编程过程中,所需要编写的文档包括以下几种:软件质量保证计划;程序源代码,包括每一次修改过程、位置及内容;注释文件,包括软件功能、每个模块功能、关系代码行功能及设计思路:评审报告和记录,包括评审了什么产品,谁评审的,发现了什么,结论是什么;评审问题表,用来确定产品中问题的大小和成为生产者修改错误时的校对表;单元测试计划。
6 结 论
在上述方法和工具支持下的软件编码过程可以简要表述为:开始编码前,开发小组制定编码规范并达成共识。以此规范为基础,定制Jbuiderx和Checkstyle,使其配置符合编码规范的要求;过程中,注意用Jbuiderx格式化和布局代码。每次代码编译完了以后要用Checkstyle检查一遍,修改违反编码规范的代码;执行相关单元测试,包含黑盒测试和白盒测试。用PureCoverage检查测试用例的测试覆盖性,必要时增加测试用例,至少达到行覆盖;开发者自己检查相关代码。结合编译器LOGISCOPE、Purify和optimizeit分别对代码进行静态检查和动态检查。修改相关缺陷。每次代码修改以后,都要执行回归测试;评审主持人准备代码评审会议和召开评审会议并记录评审小组指出的问题;开发者修改评审中指出的问题,评审主持人负责追踪问题直到解决;开发过程中及时撰写及更新相关文档。
实践证明,在上述方法和工具支持下的编码阶段的质量保证方法,和开发人员日常编码无缝结合,执行起来非常高效,对于提高开发效率和质量大有裨益。上述方法配合功能测试和系统测试,以及配置管理、每日构建、Bug追踪等,形成了一个高效的质量保证流程。
摘要:在基于Java软件产品开发过程中,如何保证编码阶段的质量,是软件开发人员关注的关键问题之一。软件质量中的方法和工具是保证软件质量的关键,介绍了软件质量的基本概念和模型,说明了基于Java语言编码过程质量保证的关键方法和工具。
关键词:Java,编码阶段,质量保证
参考文献
[1]许育诚.软件测试与质量管理.北京:电子工业出版社,2004.
[2]邵荣.Java编程实践指南.北京:清华大学出版社,2003.
[3]齐冶昌,宁洪.软件工程.北京:高等教育出版社,2004.
[4]SixSun.http://www.w3china.org/blog/more.asp?name=sixsun&id=1067.
[5]http://www.51testing.com/html/30/296.html.
[6]http://www.sddn.com.cn/Article/ShowArticle.asp?ArticleID=68412006313.
编码过程论文 篇5
关键词:FPGA,信道编码,扩频
0 引言
扩频通信技术是当今通信系统中的一个主流,以其诸多优点在各个通信领域里面得到了广泛的应用,本文的图像编码传输过程就是基于移动通信中的扩频通信技术,所用FPGA为美国ALTERA公司的EPM7512AEQI208-10,在整个图像编码过程中主要实现了对串行的视频码流的相应处理,主要包括:I、Q分路、差分编码、格雷编码及扩频调制,最终完成了中频发射单元FPGA程序的研制。
1 中频发射单元FPGA程序设计
1.1 中频发射单元FPGA程序运行流程
中频发射单元的运行流程如图1所示。FPGA上电程序加载完毕后,中频发射单元开始运行:首先对输入的40MHz的基准时钟进行10分频,降为4MHz,再将4MHz的时钟分成四路,两路作为码时钟分别送到I路和Q路的PN码发生器,一路送到计数器产生40ms的清狗信号,一路经过7.5分频降为KHz,再次分成两路,一路作为同步Fs信号计数器的时钟,一路2分频后,作为I路和Q路的串行码采样时钟。
PN码是由本地产生的,采用八级移位寄存器,序列长度为255,码速率为4Mbps,具有较好的互相关系数和较强的随机性。
1.2 视频串行数据流的处理
当视频串行码流输入后,首先要用正交分路将数据分为I、Q两路。外部输入的视频串行码流的码速率为kbps,对该串行码的采样周期为串行码码片周期的二倍,即为串行码时钟的二分频。这样串行码流就分别在采样时钟的上升沿和下降沿被分成I、Q两路。
然后分别对I路、Q路进行差分编码和格雷编码,最后用本地产生的PN码进行扩频,最终将处理过的I、Q两路扩频数据输出给发射通道单元完成串行码的QPSK调制。
2 中频发射单元FPGA程序说明
2.1 差分编码模块
差分编码模块程序程序图如图2所示,串行数据流输入后先进行I、Q分路,然后再分别对I、Q两路数据进行差分编码。差分编码:差分编码是I路或Q路的输入数据延时1比特,再与自身进行异或,最后把结果传给下一级格雷编码模块进行处理。
2.2 格雷编码模块
图3所示为格雷编码模块程序流程图。格雷编码是对I、Q两路同时进行编码。格雷编码是对I、Q两路同时进行编码,其基本原则是相邻十进制数编码以后的二进制码字只有一位不同,具体码映射如表1所示:
格雷码通常用于数据变化较慢或者比特错误率比较低的系统或通信链路中,在输出数据变化慢的场合,如本发射单元所处理的串行数据流,格雷码具有很好的检错性能,如果在解码时发现相邻的数之间有多余两位的变化,则接收电路会认为数据传输出错。
2.3 PN码生成模块
图4所示为PN码生成模块程序流程图。PN码由本地产生,做为串行码的扩频码。码时钟上升沿触发产生I路PN码,下降沿触发产生Q路PN码,故Q路PN码要比I路PN码延时半个码片周期。
码时钟是由输入的基准时钟信号10分频后得到的,频率为4MHz,占空比为50%。
码生成多项式及初相如表2所示。
将寄存器初值设为码的初相,由生成多项式对寄存器中的值进行模二和,所得数值补到寄存器最低位,高位输入,循环操作即可生成所需的PN码。本单元采用八级移位寄存器,产生的序列长度为255,码速率为4Mbps,其中每15个扩频码对一个串行数据进模二和,每个PN序列可对17个串行数据进行扩频。经仿真测试这17组扩频码的互相关系数大都在8以下,最高不会超过10,故PN码有较好的互相关系数,其随机性也较强,具有到很好的抗干扰能力。
2.4 扩频模块
图5为扩频模块程序流程图。扩频模块对输入信号所作的处理就是在扩频码的码时钟的作用下将扩频码与输入信号进行模二和,处理之后输出的信号就为上文所要求的扩频码了。
3 联机调试结果分析
图6所示为中频调制发射单元组程图。FPGA处理后输出的I、Q两路扩频信号通过接插件传给调制发射单元,数据先后经过QPSK调制、数模转换、带通滤波、中频调制等处理,最终输出给功率放大器后经天线发射出去。发射的中频信号频率为650MHz±5MHz,功率为50W。
联机调试为中频发射单元与中频接收单元通过衰减器联接调试,通过调节衰减器的值来模拟中频信号在无线信道中传输。分别针对信道衰减量及有无信道编码两种情况进行调试。第一种情况是在有信道编码时信道的衰减值分别为70dB、80dB时发送图像与接受图像的对比;第二种情况为同样的信道衰减无信道编码与有信道编码的情况下所接收的的图像的对比。有信道编码时不同信道衰减下的图像对比
测试结果是第一种情况有信道编码时,信道衰减为70dB时接收图像与发射图像基本一致,视频数据准确传输,信道衰减为80dB时收受图像中虽然出现了少量的马赛克,但并不影响整体效果,误码率在可接受范围内;第二种情况在无信道编码的情况下,信道衰减为70dB时的图像就出现了马赛克,而同样情况下有信道编码所接收到的图像就很清晰基本上不存在误码。信道衰减为80dB时有信道编码的情况下所接收到的图像,图中只有极少部分出现马赛克现象,而相同的信道衰减下无信道编码时所接收到的图像,图像出现跳跃、不连续、马赛克等现象。因此,由上面的两组对比可见,通过信道编码这一环节,对数码流进行相应的处理,使系统具有一定的纠错能力和抗干扰能力,可极大地避免码流传送中误码的发生。
通过整机的调试及多次检验,证明了系统性能的优越性,达到了国内同类产品的较高水平。
参考文献
[1]阮秋琦.数字图像处理学[M].北京:电子工业出版社,2001.
[2]李雷鸣,张焕春.一种基于FPGA的图像中值滤波器的硬件实现[J].电子工程师,2004,2.
[3]张博,吴芝路,等.基于FPGA的电子稳像平台的研究[J].电子技术应用,2004,5.
[4]王诚,等.FPGA/CPLD设计工具[M].北京:人民邮电出版社,2003.
[5]徐欣,于经旗,等.基于FPGA的嵌入式系统设计[M].北京:机械工业出版社,2005.
[6]杨坤明.一种基于FPGA技术的高速码型数据发生系统的设计与实现.北京:制造业现代化.2009.10.
编码过程论文 篇6
下面就发动机机加线设备拆迁时如何对伺服电机进行的防护以及损坏后的一些对策进行探讨。
1设备拆迁前应判断是否将伺服电机和编码器整体拆下
对于体积和重量均较大带有伺服电机的设备,由于伺服电机通常超出设备主体1m左右,而编码器就位于伺服电机末端,在设备装、掏集装箱和水平运输过程中极易造成损坏,因此我们建议增量型编码器伺服电机如果有可能尽量拆下集中存放运输。因为绝对值编码器测从开始工作后角位移量,对初始位置要求精确,安装位置不准极易造成设备事故,所以对于带有绝对值编码器的伺服电机应依据其特点原则是尽量不解体,可采用防撞加固措施,因为解体将会对恢复安装及动作调试带来很大困难。
对于带有增量值编码器的伺服电机,由于增量值编码器型只是测角位移增量,以前一时刻为基点,只要做好与配套设备之间的关联标识,且防护好位置反馈接线端后,可根据需要解体。
2编码器被损坏后选择替代品
依据什么原则选配编码器:通常情况下可以找相应品牌在国内的办事处或代理商,但往往供货周期漫长、价格昂贵,考虑到施工现场编码器损坏的量较大,经与业主方协商请了一家较有实力的公司对损坏的编码器进行维修,报价只有代理商报价的30%。
这些编码器在维修时应确保其防护等级(即IP值)、技术参数(接口信号、扫描脉冲的波形、电压及电流的等级、内部码盘的精度)不能随意改变,在安装时还要注意一下几个方面的问题。
机械方面:
由于编码器属于高精度机电一体化设备,所以编码器轴与用户端输出轴之间需要采用弹性软连接,以避免因用户轴的串动、跳动而造成编码器轴系和码盘的损坏。
1)安装时注意允许的轴负载。
2)应保证编码器轴与用户输出轴的不同轴度<0.20mm,与轴线的偏角<1.5。
3)安装时严禁敲击和摔打碰撞,以免损坏轴系和码盘。
4)长期使用时,定期检查固定编码器的螺钉是否松动(每季度一次)。
电气方面:
1)接地线应尽量粗,一般应大于1.5mm2。
2)编码器的输出线彼此不要搭接,以免损坏输出电路。
3)编码器的信号线不要接到直流电源上或交流电流上,以免损坏输出电路。
4)与编码器相连的电机等设备,应接地良好,不要有静电。
5)配线时应采用屏蔽电缆。
6)长距离传输时,应考虑信号衰减因素,选用具备输出阻抗低、抗干扰能力强的型号。
7)避免在强电磁波环境中使用。
由于增量型旋转编码器采用固定脉冲信号,因此旋转角度的起始位(HOME点)可以任意设定;而绝对值旋转编码器在一个检测周期内对不同的角度有不同的格雷码编码,因此编码器输出的位置数据是唯一的,因此重新开机时旋转角度的起始位(HOME点)的设置相对复杂,需参考以下步骤:
设置绝对零点→项目初期更换(重装)部件→手动移动到设备的初始零点→设置绝对零点时不可移动轴(切记)→伺服驱动控制器不允许加使能(考虑安全方面)→控制系统发出设零点命令→移动轴至绝对零点
依据以往的工作经验,我们建议对一些高精度的加工中心尽量采用原装的编码器替代,对于专机选择国产替代品也是个不错的选择。
摘要:通过对汽车发动机加工线编码器性能的分析,提出了在二手设备拆解、运输和安装过程中预防编码器损坏的方法和编码器被损坏后替代品的选型以及维修和安装过程中在机械和电气方面应该遵循的原则。
刍议信源编码、信道编码 篇7
实现信息传递所需的一切技术设备和传输媒质的总和称为通信系统, 一个通信系统最基本的部分是信源、信道、新宿, 信息在传递的过程中必然会遇到外界或自身的干扰, 怎样把这些干扰去除掉或者减小, 这就需要我们对信号进行处理。在输入端我们对信源进行处理, 即信源编码, 在传输的过程中, 对信道中的信息进行处理, 即信道编码。可靠性和有效性是衡量通信系统的有效的性能指标, 而这两种性能往往是相互矛盾和相互制约的, 因此必须尽量选择合理的信源编解码和信道编解码方法, 以同时满足系统这两方面的要求。下面我们对信源编码和信道编码进行分析。
2 信源编码
信源编码是指将信号源中的多余部分也即冗余部分的信息去除掉, 从而形成一个适合传输的信号的过程, 信源编码主要包括压缩编码和模拟信号的数字化, 其目的是提高系统传输的有效性。
2.1 压缩编码
压缩编码可以用硬件也可以用软件的方法实现, 软件实现方法就是将压缩算法用软件的形式实现, 软件方法成本低, 使用灵活, 可以随时修改, 但处理速度较慢, 不易保证处理的实时性;采用硬件实现就是将压缩算法固化到专门的芯片上, 这种方法处理速度慢, 不易修改调整, 便于实时处理。
2.2 模拟信号数字化
将模拟信号转化成数字信号的方法有多种:脉冲编码调制PCM、增量调制△M、线性预测编码LPC、自适应脉码增量调制编码ADPCM等。这几种方法的主要依据便是抽样定理:抽样、量化、编码。
3 信道编码
信道编码是指为了减小衰落和抑制信道噪声对信号的干扰, 给信号编码增加冗余的纠、检错码, 或者是把信号编码进行重新排列的过程。信道编码主要包括差错控制编码和交织技术, 其目的是保证系统传输的可靠性。
3.1 差错控制编码
在实际信道传输数字信号的过程中, 引起传输差错的根本原因在于信道内存在的噪声以及信道传输特性不理想所造成的码间串扰。为了提高传输系统的可靠性, 就需要采用差错控制编码, 对已经出现的差错进行控制修正。差错控制编码是在信息序列上附加一些监督码元, 利用这些冗余的监督码元, 使原来不规律的或规律性不强的原始数字信号变为有规律的数字信号, 差错控制译码利用这些规律性来鉴别传输过程中发生的错误, 以便纠正错误。
3.2 差错控制编码的分类
按照信道编码的功能, 差错控制编码分为纠错码和检错码;按照信息码元和监督码元的检验关系, 将差错控制编码分为线性码和非线性码;按照信息码元和监督码元的监督关系, 将差错控制编码分为分组码和卷积码等。
3.3 差错控制方式
差错控制方式常用到的有三种:前向纠错FEC、检错重发ARQ、混合纠错HEC。下面将对这三种差错控制方式进行介绍。
3.3.1 前向纠错
采用前向纠错时, 在发射端经过信源编码的信息在进入信道后经信道编码, 使其发出的码字具有一定的检纠错能力, 到达接收端进行译码时, 不仅会发现传输中的错误, 还可以将这些错误进行纠正。纠错能力是通过增加冗余码元来实现的, 因此它降低了系统传输的效率;还有在接收端是对接收的码元进行了检错和纠错, 但纠正的码字是否正确就不好把握了。但是, 这种差错控制方式不用反馈, 其实时性较好, 因此这种方式用在单工信道中, 比如以前我们使用的无线电寻呼系统中。
3.3.2 检错重发
检查重发时, 在发射端经过信源编码的信息在进入信道后经信道编码, 使其具有一定的检错能力, 但无纠错能力, 接收端在收到这些码字后进行译码, 在译码的过程中它发现错误但不能对错误进行纠正, 它会通过反馈信息把这一判断结果反馈给发送端, 发送端收到反馈信息, 就会对刚才发射的信息进行重发, 直至接收端认为接收的码字已经正确。这种差错控制方式不能工作于单工通道, 而且控制系统比较复杂, 不适合大干扰的信道, 因为在大干扰信道, 有可能整个系统处于反馈和重发循环当中, 这就降低了系统的效率, 但这种编码需要的冗余码少, 有一定的自适应能力, 且复杂性比前向纠错要低很多。
3.3.3 混合纠错
混合纠错方式是对前向纠错和检错重发方式的结合, 在这种方式中, 在发射端经过信源编码的信息进入信道中, 经过一系列的信道编码, 这些码字具有一定的检错和纠错能力, 到达接收端译码时, 系统先检查错误, 如果有错误便对错误进行纠正, 如果检查出的错误超出了系统的纠错能力, 系统可以通过反馈信息要求发送端进行重发。这种控制方式实时性和译码复杂性是前线纠错和检错重发的折中。
4 交织技术
差错控制编码只能检查和纠正随机比特的错误或连续有限个比特的错误, 当产生的错误为非随机性或者发生连串的错误时, 就必须在差错控制编码的基础上加上交织技术。
交织技术的基本原理是将已经编码的信号比特按一定规律进行重排, 这样, 即使在传输过程中发生了连串的错误, 经过重排将这些错误分散化, 再利用信道解码的纠错功能纠正错误, 最终恢复出原始信号。
下面我们结合实例, 来分析交织技术:
假设我们要传递这样的一则消息:we will hold a meeting this evening.如果不进行交织技术, 在强干扰信道中发生连串的错误, 到达接收端我们便没有办法对信息进行恢复, 但如果我们将这段包括空格在内的36个字符进行重排, 分成六组, 取出六组中的第一个字符, 共六个字符, 将这六个字符结合在一起形成一个新的组合, 编号为1, 用同样的方法依次取出六组中的第二个、第三个、第四个、第五个、第六个字符, 并编号为2、3、4、5、6, 最后, 我们把新组合按顺序重新排列起来, 进行发送, 这样就把连串的错误分散到不同的分组, 在接收端进行去交织, 便可恢复原始信息。将传输错误率降低。
5 结束语
信源编码主要利用信源的统计特性, 解决信源的相关性, 去掉信源冗余信息, 从而达到压缩信源输出的信息率, 提高系统的有效性;信道编码为了保证通信系统的传输可靠性, 克服信道中的噪声和干扰的, 信道编码的目的是试图以最少的监督码元为代价, 以换取最大程度的可靠性的提高。要想有良好的通信质量必须兼顾有效性和可靠性。
参考文献
[1]池秀清.信源编码与信道编码[J].科技情报开发与经济, 2001 (06) :71-72.
[2]张会生.现代通信系统原理[M].北京:高等教育家出版社, 2009.
[3]樊昌信, 通信原理[M].北京:国防工业出版社, 2013.