编码译码

2024-08-17

编码译码(共4篇)

编码译码 篇1

一、弹幕视频的定义

弹幕视频指的就是“弹幕化”的视频, 这类视频和以往的视频相比有着很大的区别。首先并不是任何视频都适合被“弹幕化”, 以B站 (哔哩哔哩弹幕网) 为例, 网站视频的内容主要有以下几类视频组成:第一类为日本的ACG (ACG为英文Animation、Comic、Game的缩写, 是动画、漫画、游戏的总称) 。第二类是网友分享的适合吐槽的视频、音频, 主要以视频内容为主, 音频较少。第三类是已有的视频节目进行的重新拼贴、组合、恶搞还有网友利用各种软件制作的特效音频或二维、三维动画。弹幕视频目前还只是一个较为小众的视频形式。

二、弹幕文化的特点

弹幕文化是一种很有特点的亚文化, 弹幕文化体现了网络文化和青少年亚文化的特点, 这主要因为弹幕网站在一开始的主要视频都是围绕着ACG的。在我国长期以来动漫被低龄化生产, 以及被主流媒体贴上非主流文化的标签。弹幕网站的高使用率人群集中于社会中一个特别的群体——御宅族。他们中间大多是一些喜欢宅在家里足不出户的年轻人, 并且在一定程度上很喜爱动漫。相比之下, 其他网站所显示出的多年龄段的人群参与与弹幕网站的参与者形成鲜明的对比。这些“御宅族”通常是ACG爱好者, 他们在他们熟悉的ACG领域有着丰富的知识, 并且有强烈的表达自己观点的诉求, 但是又喜欢宅在家里, 和现实世界的他人很少交流这方面的内容。所以他们选择通过弹幕这一形式来发表自己的意见。他们的爱好在现实社会中并不为大多数人认同, 且存在观念上的差异, 然而在弹幕网站上集结着大量和自己有着相同兴趣的人。这使得他们的孤独感有所消失, 并且获得认同。

三、弹幕视频的编码与解码

在霍尔的著名文章《电视讨论中的编码与译码》中, 编码与译码成为电视话语意义产生和传播的中心词。信息内容是通过一定的符号表现出来的, 传播者将特定的内容以一定的符号形式表现出来的过程, 即编码活动, 通俗讲就是信息的采集、筛选、加工和制作活动。①另一方面, 受传者在接受到传来的符号以后, 必须经过对符号的阐释和理解才能从中得到意义, 因此受传者对符码的理解和阐释过程就是译码活动。霍尔认为, 电视话语好比是商品, 也要经历马克思主义所描述的生产、流通、使用、再生产四个环节。这四个环节共同组成了电视话语的编码与解码的过程。②霍尔虽是针对电视话语提出的编码译码理论, 但是这一模式可以运用于任何话语生产的分析中。弹幕视频的编码与译码则区别于传统电视节目的编码与译码, 大部分提供视频资源的UP主本身并没有参与到视频的制作当中。而译码活动借助弹幕的优势能够以一种更加显著的方式表达出来, 译码的过程和受众对于视频的了解程度以及自身的社会背景想关联。

第一阶段是弹幕视频的意义的生产, 也就是所谓的“编码”阶段。以B站为例, 弹幕视频的来源主要包括以下几种形式。UP主通过视频网站外部链接的形式搬运的视频和UP主的原创视频。在UP主搬运的视频中, UP主自身并没有参与到视频的制作当中, 视频在没有被UP主重新改编的前提下, 视频所表达的意义是原视频制作者所生产的。在这时UP主起到的是中介的作用。而UP主制作的视频中主要分为通过原视频改编的视频和完全原创的视频。在UP主制作视频的这个过程中, 视频将带有UP主自己对于事物的看法、观点、价值观等。以个人名义上传的视频多以个人的兴趣表达为主。在网络视频当中越是专业生产内容就越接近于传统电视节目的编码形式, 呈现出带有强烈的目的性的视频, 以自上而下的方式将预期所要传递的意义传递给受众。

第二阶段是弹幕视频的成品阶段。当一个视频上传在弹幕网站以后, 这个视频不论是原创的还是转载的, 都成为了意见市场的商品。在这一个阶段, 视频进入意见市场, 视频意义的形成遵循着葛兰西文化领导权理论当中相互妥协的逻辑。

第三阶段是观众的解码阶段, 也是编码译码过程当中最重要的阶段-意义的再生产阶段。在这解码的过程当中, 观众获得的内容是加入了视频作者个人意见表达的内容, 受众只有在特定的意见环境下对内容解码, 内容本身才能产生意义。在这点上无论是电视, 网络视频和弹幕视频都是一样的。处在不同社会环境有着不同文化背景的受众对于同一个视频的理解是不一样的。随着环境的变化、时间的变化对于同一个视频的理解同一个观众也会不一样。观众对于弹幕视频的解码和传统的电视节目的解码有着很大的区别。弹幕视频的解码形式更加丰富。因为弹幕视频当中有很大的一部分是恶搞视频, 这些恶搞视频可以理解为是受众对主流文化的仪式反抗。这些视频通常是在一个主流文化视频的基础上进行重新组合, 所以就恶搞视频本身就是对原有视频的一种解码形式。在弹幕不断地叠加过程当中意义始终是在不断地形成的过程当中。

另外, 区别于其他视频形式的最主要特点就是弹幕将受众的评论直接呈现在视频当中。这种呈现方式, 第一, 它让受众获得了从未有过的参与感。目前我国主流的视频网站也提供视频的评论功能, 但是这种评论的作用实现的是传播过程中的反馈过程。而在弹幕视频当中弹幕随着视频的播放一起滚动, 受众在观看视频的同时也会看到各种弹幕, 弹幕成为视频内容的一部分。受众通过弹幕的各种形式的表达成为视频内容的一部分。第二, 在弹幕视频上的弹幕是保存在网站的弹幕服务器上的, 一个视频的弹幕是在不同时间进行叠加的, 只要不取消外部链接这个视频中的弹幕就会以这种形式不断地叠加下去。在视频的一个时间段之前的弹幕和之后的弹幕会同时在视频上面滚动, 在这一点上弹幕让受众的表达有了不同时间上的同步的特点。这一特点使得受众的译码更容易受到之前的弹幕的影响。

受众的解读方式主要分为以下三种:“支配式解读”、“协商式解读”和“对抗式解读”。

“支配—霸权立场”, 对应的解读方式是“支配式解读”。“支配式解读”顾名思义指的是受众在对内容的解读上完全遵循的是视频制作者为视频的指定含义。在大众传播领域中支配式立场被认为是遵循主流意识形态的解读方式。而即使在解构内容消解意义为主要特点的弹幕网站依然有大量的视频能够形成支配—霸权立场。两类视频更能取得支配立场, 一类是科技类和教育类的视频, 这类视频往往需要很强的专业性才能对其产生“质疑”, 人们将在观看这类视频时主要的动机是学习知识。从传播效果的角度来看, 传播者更愿意受众在支配式解读的立场上对内容进行解读。但在目前的主要的弹幕网站A站和B站都是以ACG内容为主, 科技类和纪录片类视频只是一个补充。

“协商的立场”, 对应的解读方式是“协商式解读”。“协商式解读”是说观众一方面对传播者的编码意义保持一定的认同, 认可视频当中的某些观点, 一方面又坚持着自己理解的立场对视频提出建议。弹幕视频网站上大部分内容都是动漫内容, 这些动漫以日本的动漫为主。文化上的差异使得青少年们在欣赏着日本动漫的同时, 同样会保持我国的文化传统。网络亚文化越来越走向后亚文化时代的今天, 青少年更多地是注重自身的风格化以及生活方式的改变, 而一些视频素材的“意识形态特征被网络文化的游戏性所消解”, 这也使得协商式解读成为主要的解读方式。

“对抗代码或对抗立场”, 对应的解读方式是“对抗式解读”。“对抗式解读”就是把他自身的情况完全置于支配意识形态的对立面的那些观众所做出的解读, 这些受众能够看懂弹幕视频编码传达的意思, 并且对视频内容有一定的自我理解能力, 在对内容的解读上更加个性化也较多自我见解。“对抗式解读”在网络文化当中大行其道, 青少年群体一方面受网络文化去中心化的特点影响, 一方面青少年群体掌握的社会资源较少, 社会地位相对较低。但是他们又需要通过一定的方式去表达自己的观点, 一方面寻求身份认同, 另一方面通过仪式对主流文化进行反抗。③利用网络的反抗和现实中的行动有着巨大的区别, 人们更倾向于采取懒人行动主义的方式来实现意见的表达。弹幕同样有着网络匿名性和碎片化的特点, 这种表达的成本也较低。迎合了青少年群体希望在这种安全的环境中表达自己的诉求化, 青年亚文化和大众文化及网络文化中的一些因素结合, 不断地促进着我国文化的繁荣。

结论

通过分析我们可以发现弹幕视频的编码和解码都是重复过多次实现的。弹幕视频的意义在不断地消解及重构中产生。弹幕文化在内容的不断生产之中成为一种极具风格和形式化的青年亚文化形式。④弹幕不断叠加的属性让弹幕视频从一个文化商品转变为一个意见发表的平台。青少年群体特别是御宅族运用弹幕技术通过各种各样的编码译码形式实现意见的表达, 并起到了丰富文化形式, 活跃文化气氛的作用。

注释

11徐超超.浅论编码解码理论的积极受众观——受众本体地位的初立[J].金田, 2013, 07:382

22 宋贝贝.从霍尔的编码译码理论看电视节目的编码[J].新闻知识, 2009, 04:57-59

33 早报记者杜方舒.“新媒介让青年亚文化空前活跃丰富, 也良莠不齐”[N].东方早报, 2012-05-11B02

44 马中红.国内网络青年亚文化研究现状及反思[J].青年探索, 2011, 04:5-11

编码器、译码器位的扩展及应用 篇2

关键词:编码器,译码器,扩展,位

0引言

随着现代电子技术的发展, 编码器、译码器作为最基本的电子元器件之一, 其应用领域越来越广泛, 例如光栅尺、旋转编码器、单片机的I/O等。同时, 也正是其应用领域的不断扩展, 现有的编码、译码芯片已远远不能满足需求, 现在需要的是多位数据信号的编码、译码, 为此, 有必要对编码器、译码器位的扩展做进一步研究。

1编码器位的扩展

表1, 图1给出了74LS148的功能表和逻辑符号图。

由此不难看出, 在undefined电路正常工作状态下, 允许undefined当中同时有几个输入端为低电平, undefined的优先权最高, undefined的优先权最低。当undefined时, 无论其他输入端有无输入信号 (表中以X表示) , 输出端只给出undefined的编码, 当undefined时, 无论其他输入端有无输入信号, 只对undefined编码。其余的输入状态类同。

图2是由8片74LS148编码芯片及门电路组合而成的具有64线-6线优先编码扩展电路。undefined是该编码扩展电路的选通输入端, undefined是其选通输出端, 该编码扩展电路具有优先编码功能。编码器7的undefined输入端优先级最高, 编码器0的undefined输入端优先级最低。输入输出信号均以低电平为有效信号 (注:在以下分析过程中, 均以undefined为低电平来分析) 。

由图2可知, 该编码扩展电路的编码功能主要还是由74LS148优先编码器来实现的, 之所以编码位数能够扩展, 是因为编码器芯片的增加, 但关键是如何准确地选择要工作的芯片。也就是说, 这8片芯片并非同时进行编码, 实际上每次对信号进行编码时, 有且只有其中的一个芯片在进行编码工作, 而其他的芯片则是处于禁止工作状态, 只要正确选择要工作的编码芯片, 就可以正确地将信号进行编码。例如, 当编码器7的输入端 (以undefined为例) 有输入信号时, 由于undefined为低电平, 编码器7的选通输入端有效, 所以编码器7的输出端有编码信号输出, 即undefined;同时编码器7的选通输出端undefined将输出高电平, undefined输出低电平, 并且undefined的一条支路接到编码器6的选通输入端, 禁止编码器6输出, 另一条支路接到或门T6的输入端, 使T6输出高电平, 然后T6的输出又导致或门T5输出高电平, 依次下去, 或门T4~T0的输出都变成高电平, 与之相应, 编码器5~编码器0将被禁止工作, undefined输出为高电平。也就是说, 只要编码器7有编码信号输出, 其他的编码器将禁止编码。与此同时, 编码器7的输出端undefined及选通输出端undefined分别经与门电路T7, T8, T9, T10, T11, T12, T13运算后, 使得编码扩展电路的输出端undefined, 从而形成对编码器7输入信号undefined的整个编码过程。再如, 当编码器6的输入端 (以undefined为例) 有输入信号时 (编码器7无输入信号, 其他编码器的输入为任意) , 虽然编码器7的选通输入端有效, 但编码器7的所有输入端无输入信号, 故编码器7的选通输出端undefined将输出低电平, GS.6输出高电平, 于是导致编码器6的选通输入端有效, 将对其undefined输入端信号进行编码并输出, 则有编码器6的输出端undefined, 编码器6的选通输出端undefined将输出高电平, undefined输出低电平, 同时或门T0~T6的输出都将变成高电平, 编码器0~编码器5的输入端无论输入什么信号, 都将无效, 而最终输出结果为undefined。即形成了对编码器6的输入端undefined的编码过程。其他状态的编码过程可依据编码扩展电路图自行分析。

此外, 该编码扩展电路可等效成为一片74LS148编码器芯片, 即编码扩展电路的输入口——编码器0 ~ 编码器7的64个输入口等效于74LS148的8个输入口, 编码扩展电路的6个输出口等效于74LS148的3个输出口, 编码扩展电路的选通输入端undefined等效于 74LS148的选通输入端undefined, 编码扩展电路的选通输出端undefined等效于74LS148的选通输出端undefined, 如图3所示。

2译码器 (74LS138) 位的扩展

表2, 图4给出74LS138译码器的功能表和逻辑符号图。当undefined时, 译码器处于工作状态;否则, 译码器被禁止, 所有的输出端被封锁为高电平, 这3个控制端也叫“片选”输入端。在此, 也正是利用这些输入端来扩展译码器位的。图5给出是由9片74LS138译码器芯片组成的6线-64线译码电路。图中译码器H的控制线undefined是该译码扩展电路的总控制线。此外, 该译码扩展电路的输出端信号是以低平为有效信号的。下面就该译码扩展电路做一分析 (在以下分析中令控制线undefined。

假定译码扩展电路的输入I5I4I3I2I1I0=000000, 首先I5, I4, I3引到译码器H的输入端, 由于undefined, 所以译码器H先进行译码, 并使其输出undefined, 其输出端undefined又引到译码器0的控制线undefined, 从而使译码器0开始对其输入端信号I2, I1, I0进行译码, 并使其输出undefined。另一方面, 由于译码器H的其他输出端undefined为高电平, 导致译码器7, 译码器6, …, 译码器1都被禁止。到此为止, 该译码扩展电路的译码工作完成, 即当译码扩展电路的输入端I5I4I3I2I1I0=000000时, 译码器0的输出端undefined有有效信号输出。再假定译码扩展电路的输入端I5I4I3I2I1I0=001000, 那么译码器H输出undefined, 译码器1将被选中, 并对其输入信号进行译码, 最终译码器1的输出端undefined有有效信号输出。依次分析下去可知, 该译码扩展电路的输入端I5I4I3I2I1I0从000000~111111的每一个信号, 都将有惟一的有效输出与之相对应。

图6是译码扩展电路与74LS138的等效简图, 即译码扩展电路的6个输入口等效于74LS138的3个输入口, 译码扩展电路的控制线undefined等效于74LS138的控制线undefined, 译码扩展电路的输出口——译码器0~译码器7的64个输出口等效于74LS138的8个输出口。

3编码、译码扩展电路的应用

所谓编码、译码位的扩展, 其位不仅仅只是扩展到64位, 即使再多位的扩展都是能实现的, 只不过是多用几片芯片而已。实际上往往会遇到这些问题, 如可能会需要将编码、译码的位扩展到72位、80位、88位、96位等, 其处理方法相同。下面应用说明编码、译码扩展电路在一些具体电子电路中的应用。

3.1 由编码扩展电路组成的键盘接口

在单片机应用系统中, 键盘是人机交互的重要组成部分, 用于向单片机应用系统输入数据或控制信息。而传统的键盘接口则主要是采用矩阵的结构, 故占用的单片机I/O口较多, 而且扫描程序又比较繁琐。为了解决这些问题, 将对另一种键盘接口结构做一分析, 即由编码扩展电路组成的键盘接口。图7是由编码扩展电路组成的键盘接口硬件电路, 它只用了单片机的6个口就可采集到64个键盘输入信号。而单片机对键盘信号的采集可采用程序扫描、定时扫描和中断扫描三种方式。

3.2 由译码扩展电路组成的顺序脉冲发生器

图8是由译码扩展电路组成的32位顺序脉冲发生器的原理图。74LS161与T触发器组成了32位加法计数器, 由Q, Q3, Q2, Q1, Q0输出。译码扩展电路用于对QQ3Q2Q1Q0进行译码, 从而在译码扩展电路的输出端产生顺序脉冲。此外, 只有在undefined为低电平时, 该电路才可正常工作。还有一点要注意的是, 计数器74LS161的边沿脉冲CP之所以要通过非门接到译码扩展电路的选通输入端S1.H上, 其目的是为了消除译码扩展电路中各个译码芯片因传输时间不一致而产生的竞争-冒险现象。

4结语

无论是多么复杂的编码、译码电路, 其实都可以等效为简单的编码译码模型, 从而使其设计思路简单化。可以说, 在实际应用中的某些复杂电子电路的设计, 都可以通过这一模型来取代。

参考文献

[1]阎石.数字电子技术基础[M].4版.北京:高等教育出版社, 1998.

[2]王德彪.MCS-51单片机原理及接口技术[M].北京:电子工业出版社, 2003.

[3]李广弟, 朱月秀, 王秀山.单片机基础[M].北京:北京航空航天大学出版社, 2001.

[4]周常森, 范爱平.数字电子技术基础[M].2版.济南:山东科学技术出版社, 2005.

[5]卫桦林.数字电子技术基础学习指导书[M].北京:高等教育出版社, 2004.

[6]孔晓华, 周德仁, 汪宗仁.电工基础[M].2版.北京:电子工业出版社, 2004.

[7]储克森.电工基础[M].北京:机械工业出版社, 2003.

[8]白乃平.电工基础[M].西安:西安电子科技大学出版社, 1998.

[9]谭恩鼎, 瞿龙祥.电工基础[M].北京:高等教育出版社, 2008.

编码译码 篇3

卷积码因其良好的纠错能力而在多种通信领域得到了广泛应用。WCDMA(宽带码分多址)3GPP标准将卷积码作为实时要求较高业务的信道纠错编码,使高速Viterbi译码器成为第3代移动通信系统的重要组成部分。在码的约束度较小时,Viterbi算法具有效率高、速度快、译码器简单等特点,现在已被广泛应用于各种数字系统中。近年来,可编程逻辑器件得到了很大发展,以其密度高、速度快、编程灵活、成本低廉等优点在各个领域得到广泛应用。基于FPGA(现场可编程门阵列)的卷积码Viterbi译码器,针对FPGA触发器资源丰富的优点,设计了幸存路径寄存器交换模块,并且对数据溢出和输出判决部分进行了优化,使译码过程变得快速简单。为了便于描述译码器的工作原理,本文以生成矩阵G=[1011,1101]的(2,1,3)卷积码为例,介绍了设计和实现过程。所设计出的Viterbi译码器可以很容易地根据需要集成到应用系统中,具有重要的实用价值。

1 卷积编码原理及实现

卷积码是一种重要的前向纠错FEC(编码),一般写成(n,k,L)形式,其含义为:编码器有k位信息输入、n位编码输出,并且输出不仅与当前时刻输入信息有关,还与本时刻以前的L个分组有关,称L为约束长度[1],它的编码效率为R=k/n。由于其充分利用了各组之间的相关性,与分组码相比,在同样码率和设备复杂性条件下,卷积码的性能不比分组码差,且实现最佳译码较分组码容易。卷积码的编码电路见图1所示。

卷积码的编码过程可以认为是输入信息序列通过编码网格图相应路径的过程。如图2所示,8状态(2,1,3)卷积码网格图中,实线和虚线分别表示输入比特为0,1时的状态转移,根据输入比特和编码器状态,得到相应的编码输出码字。

2 Vitebi译码器原理

参照图2,Vitebi译码可以认为是根据接收码字序列寻找编码时通过网格图路径的过程。找到该路径即完成了译码过程,并可以纠正接收码字中的错误比特。

Vitebi算法的基本原理是:在不同时刻t=k+1,k+2,…,k+M,对于同一时刻的所有8个状态,分别计算并比较以其为终点的2条路径的路径度量,保留一条具有最大路径度量的路径,称为幸存路径,而将另一条路径舍弃。每个时刻进行同样的运算处理过程,直到最后时刻,留下的幸存路径即是所要的最大似然译码路径。幸存路径对应的编码比特,就是译码输出的硬判决比特。实际译码过程中,考虑到译码延时与译码器存储量,常采用截尾译码方式,即在处理完第M段码元序列后,译码器就开始输出第k个判决比特,M称为译码窗口宽度,等于译码器的译码输出延时。理论表明,当M=(5~10)L时(L为卷积码编码存储长度),对译码器输出的译码错误概率影响很小。对于8状态卷积码,L=3,因此设计中取M=21。

3 Viterbi译码器设计方案

Viterbi译码器主要由5个子模块构成,见图3。

a)BMU(支路度量发生单元):每经过一个时钟,将输入的码元(X,Y)与到达该状态的2个码字分别求码距,为每一个状态生成相应的支路度量,将结果BM 1、BM 2送到ACSU。

b)ACSU(加比选单元):将BMU生成支路度量BM 1、BM 2分别和前一时刻相应的路径度量PM 1、PM 2相加并比较,得到本时刻的新的路径度量NewPM和相应的判决比特,如图4所示。

c)PMU(路径度量计算单元):为ACSU提供上一时刻的路径度量,并存储当前时刻新的路径度量,更新所有8个状态的路径度量值。由于该单元要进行无限次累加,设计中采取了一种简易的防溢出措施。相关文献中已证明,对于约束长度为L的1/2卷积码的硬判决译码,每一步度量的最大值与最小值之差即度量跨度不超过2L[4]。用二进制表示的度量跨度最多需要log2(2L)bit。当L=3时,最少可用3bit存储路径度量。考虑到溢出控制的简单化,用了4bit存储度量。溢出控制是这样进行的:对所有累积度量寄存器的最高位进行异或,如结果为1,则最高位都清零。其原理如下:4bit表示的数最大值为15,因为硬判决分支度量的最大值为2,所以当度量最大值为14时,下一次运算可能溢出。而此时度量的最小值不小于14-2L=8,其二进制表示为1000,最高位为1。所以此时所有度量的最高位均为1。清零的结果等价于减去8,而且用FPGA实现时相当简单。

d)SMU(幸存路径寄存器交换单元):常用的幸存路径存储方法有寄存器交换法和回溯法2种。寄存器交换法利用大面积寄存器矩阵和复用器与ACSU相连,将所有状态的当前幸存路径完整保存下来,存储这些序列的各个寄存器之间的连接方式ACSU完全相同。每处理一个新的支路,各寄存器则按照比较后的幸存序列进行交换,在各寄存器的一侧加上一个新的符号,并将最先存入的那个符号传送给输出判决单元。回溯法是用RAM来保存每次每个状态更新的幸存分支,待译码进行一段后回溯寻求最大似然路径输出。两种方法相比较,寄存器交换法速度快、时延小,特别适用于高速应用,本设计即是用寄存器交换法来快速实现Viterbi译码过程,完成幸存路径的选择、交换、存储等功能。同时,根据图2可知:进入0,1,2,3状态的输入信息必为0;进入4,5,6,7状态的输入信息必为1。因此,可以简化寄存器阵列的复杂度,在每一状态幸存路径的最高位直接置为常数(0或1),见图5。

寄存器交换法保存了所有状态的幸存路径信息,那么译码器在判决并输出译码信息时,一般有以下3种判决准则选择:任意状态判决准则(任选一个状态,把它的幸存路径寄存器的第1段信息元作为译码输出);大数判决准则(把所有状态的路径寄存器的第1段信息元取出,然后按大数判决输出译码结果);最小状态判决准则(在所有状态的路径寄存器中,挑选一个具有最小路径度量的状态,以它的路径寄存器的第1段信息元作为译码器的输出)。

最小状态判决准则性能最好,大数判决准则次之,任意状态判决准则最差。由于最小状态判决准则要找出8个状态中的最小值,如果状态数就增加,复杂度较大,而大数判决准则只需对信息元做大数判决,实现简单,资源消耗少。本设计中采用了大数判决准则,把各状态最低位相加,如果大于4,则判决输出1,否则判决输出0,如图5所示。

e)译码控制单元:用于产生系统复位和时钟信号,控制和协调Viterbi译码器各功能单元的工作时序。

4 仿真结果

Viterbi译码器及所有模块均在Xilinx公司的ISE9.1开发环境中成功调试及综合下载,FPGA器件选用Xilinx公司Spartan3E系列中的XC 3S500E,仿真工具采用ModelTechnology公司的ModelSim。系统后仿真的吞吐延迟为5 621ps,测试数据采用伪随机序列,在译码器的输入端,每4个码字,加入1bit错误,从而充分测试译码器的纠错能力。仿真结果如下。

4.1 卷积编码模块

如图6所示,data为输入信息序列,regd为状态寄存器,x,y为卷积编码后的并行码字序列。

4.2 路径度量和分支度量模块

由图7可以看出,译码器收到码字序列x,y后,准确地产生了到达各个状态的2个分支度量bm 1和bm 2,并且在每个时钟周期,更新路径度量newpm r,pm是对路径度量进行溢出控制后存储的路径度量值。例如,在3700000ps处,进行了一次溢出处理,保证了判决信息decion的准确输出。

4.3 幸存路径和判决模块

图8中,幸存路径模块根据输入的判决信息decion,生成的8个状态每个时刻的幸存路径分别为s0,s1,s2,s3,s4,s5,s6,s7,并由判决模块得到正确的判决信息输出decode。

4.4 顶层电路仿真

由编码器和解码器的顶层电路仿真波形可以看出,译码器纠正了加入的错误,得到正确信息输出,如图9所示。

5 结束语

在Viterbi算法基础上,结合卷积码固有的特点,设计了基于FPGA的卷积编码器和Viterbi译码器,采用了幸存路径交换寄存器模块,充分利用FPGA中的触发器资源,并且简化了数据溢出和判决输出的控制,从而减小了译码器的复杂度,提高了译码器的运行速度。

参考文献

[1]曹雪虹,张宗橙.信息论与编码[M].北京:清华大学出版社,2005.

[2]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2003.

[3]朱明程.Xilinx数字系统现场集成技术[M].南京:东南大学出版社,2001.

编码译码 篇4

在日常数字逻辑电路实验中编码译码显示实验电路是编码、译码、显示三个电路的综合运用, 在数字逻辑实验电路中具有重要的地位, 在实验的过程中, 时常会出现显示结果的抖动, 经研究出现这种现象主要原因是:编码电路的编码信号输入采用手工拨盘方式, 产生的编码输入信号往往不稳定;另外, 电路控制性能较差, 不能达到自动复位, 为此有必要对现有电路进行改进, 在电路的设计上采用89C51单片机为控制电路制作而成, 自动提供稳定编码输入信号, 显示结果稳定性和电路控制性能大大提升, 提高了教学实验质量。

1编码译码显示实验电路的基本结构

编码译码显示电路的基本结构如图1所示, 主要由控制电路、编码信号发生器、编码译码显示电路等组成, 控制电路产生编码信号作为编码译码显示电路输入信号, 译码电路将编码信号转换成对应的七段数码显示信号, 送至LED数码管显示。

2系统硬件设计

控制系统和编码信号发生器采用89C51单片机实现。89C51性价比较高, 采用12 MHz晶振, 其内部带有4 KB的FLASH ROM, 无须外扩程序存储器。编码译码电路没有大量运算和暂存数据。89C51内部的128 B片内RAM已能满足要求, 无须外扩片外RAM。系统硬件设计如图2所示。

2.1 编码信号发生器电路

编码信号由89C51内部编程控制, 键盘输入“0~8”从P0.0~P0.7口送给编码器74LS147, “9”从P2.0口送给编码器, 具体编码见表1。

2.2 键盘设计

键盘采用4×3阵列结构设计, P1.0~P1.3为键盘扫描高4位, P1.4~P1.6为低4位。设计有“0~9”、Rst (复位) 、Ser (顺序) 。列线通过电阻接正电源, 并将行线所接的单片机的I/O口作为输出端, 而列线所接的I/O口则作为输入。当按键没有按下时, 所有的输出端都是高电平, 代表无键按下。行线输出是低电平, 一旦有键按下, 则输入线就会被拉低, 这样, 通过读入输入线的状态就可得知是否有键按下。

2.3 编码译码显示电路

编码译码显示电路主要由编码器 (74LS147) 、六反相器 (74AC04) 、译码器 (74LS247) 、七段LED数码管组成。编码器74LS147的1~5脚, 10~13脚为编码输入端, 低电平有效, 实验时可用接地作为低电平输入;14, 6, 7, 9脚为编码输出 (反码) ;16, 8脚为电源正负极。译码器74LS247的6, 2, 1, 7脚为译码输入 (高电平有效) ;9~15为译码输出;8, 16脚为电源正负极。六反相器 (74AC04) 主要是解决编码器74HC147和译码器74LS247信号匹配问题, 共有6组输入与输出, 只取其中4组。七段LED数码管主要是显示译码器输出状态。

电路主要原理是在74LS147的A¯1~A¯9输入011111111~111111110, 编码后得到4位反码, 经74AC04反相后送到74LS247, 由74LS247驱动LED数码管, 正确时能显示0~9。

3系统软件设计

软件设计由初始化、键盘扫描、编码程序三部分组成。开始进行初始化, P0、P2口按复位状态附值输出, LED无显示。然后4×3阵列式键盘开始进行扫描, 当判断有键按下时, 延时去键抖动, 判断是否务抖动, 当确定判断是有键按下时, 等待闭合键释放, 保存键值。根据键值调用编码程序, 将表1对应的编码送到P0, P2口输出, 主程序流程图如图3所示。

当按Ser (顺序序列) 键时, 依次按1~9编码值送至P0, P2口, 间隔0.5 s输出。Ser编码编码子程序如下:

4系统仿真与调试

Proteus是一个基于ProSpice混合模型仿真器的, 完整的嵌入式系统软、硬件设计仿真平台。编码译码显示电路能很方便地在此平台上进行调试和仿真, 延时时间同选用的单片机和所用晶体振荡器有关, 在调试时须注意。

5结语

提出了一款编码译码显示实验电路设计, 其控制系统和编码信号发生器采用89C51单片机实现, 经Proteus仿真和实验调试结果来看, 大大改善了电路的性能, 电路制作方便、操作简单, 在数字逻辑电路实验教学中具有一定的推广价值, 电路主要不足是不能实现故障自动检查, 如果能对电路故障进行自动检测, 电路性能将更加完善。

摘要:当前手工拨盘方式编码译码显示实验电路存在输入信号不稳定、控制性较差等缺点, 为了克服上述缺点, 电路设计采用89C51单片机为核心器件作为编码信号发生器和自动控制系统。通过Proteus平台仿真和实验调试, 电路能产生高质量输入信号和实现自动控制, 较好地解决了手工拨盘方式编码译码显示实验电路存在的缺陷。

关键词:89C51单片机,编码译码,显示,Proteus仿真

参考文献

[1]肖金球.单片机原理与接口[M].北京:清华大学出版社, 2004.

[2]肖明耀.数字逻辑电路[M].3版.北京:中国劳动社会保障出版社, 2003.

[3]王志功, 陈莹梅.集成电路设计[M].2版.北京:电子工业出版社, 2009.

[4]胡斌, 胡松.电子电路知识点:显示电路 (合订本) [M].北京:机械工业出版社, 2010.

[5]吴云.典型电子电路160例[M].北京:中国电力出版社, 2010.

[6]梅开乡, 梅军进.电子电路实验[M].北京:北京理工大学出版社, 2010.

[7]黄继昌, 张海贵, 徐巧鱼.数字集成电路应用集萃[M].北京:中国电力出版社, 2008.

[8]王守中, 聂元铭.51单片机开发入门与典型实例[M].2版.北京:人民邮电出版社, 2009.

[9]刘宁.创意电子设计与制作[M].北京:北京航空航天大学出版社, 2010.

[10]任文霞.电子电路仿真技术[M].北京:中国电力出版社, 2009.

上一篇:军事认知通信网络研究下一篇:布尔哈通河