电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

仿真编码器范文

来源:漫步者作者:开心麻花2025-11-191

仿真编码器范文(精选8篇)

仿真编码器 第1篇

在计算机系统中,常常需要将不同的地址信号通过一定的控制电路转换为对某一芯片的片选信号,这个控制电路称为译码电路,它所对应的逻辑部件就称为译码器[1]。译码器是数字电子技术应用中最常用的组合逻辑器件,在存储器、I/O端口、数据分配器、函数发生器等应用中都有使用,随着其应用领域的不断扩展,单片译码器已无法满足多位数据信号的译码需求[2],采用级联方式可以有效扩展译码器的数据输入位数,从而扩大译码器的使用范围,利用Lab VIEW虚拟仪器软件可高效直观仿真设计译码器的扩展效果,为译码器及其扩展提供了良好的学习及验证平台。

2 译码器的扩展(The expansion of the decoder)

译码器种类很多,这里仅以常用的74Ls138译码器为例,74Ls138是带有扩展功能的集成3线—8线译码器,图1为74Ls138译码器的引脚功能图,S1、S2、S3为译码器的三个使能输入端,当S1=1,S2=S3=0时,译码器允许工作(Enable),否则禁止(Disable),A1、A2、A3为译码器的三条输入线,不同的输入组合决定了输出端Y0—Y7的状态,其中只一个输出有效,其功能表如图2所示。

图1 74Ls138译码器引脚功能图 Fig.1 74Ls138 decoder pin function

图2 74Ls138译码器真值表 Fig.2 74Ls138 decoder truth table

采用单片74Ls138只有三个输入端,实际使用中需要将多出的高位输入信号通过一定的逻辑门电路生成所需的使能信号,这使得电路设计变得复杂,利用74Ls138的输入端和使能信号,采用级联方式,可以对译码器进行简捷灵活的位扩展。图3为两片74Ls138扩展为4线—16线的原理图,第四个输入信号D3分别接到1#S2S3和2#S1,当D3=0时1#片有效,D3=1时2#有效,将1#和2#74Ls138的输入端A0A1A2并联起来,分别接D0D1D2三个输入信号实现片内译码,同理采用多片74Ls138可以扩展出更多位的译码器来,从而有效的扩展其应用范围。

图3 两片74Ls138扩展为4线—16线译码器原理图 Fig.3 Two 74Ls138 extended to 4 line-16 line decoder schematic

3 译码器及其扩展的仿真实现(Decoder of extended and simulation)

Lab VIEW是基于虚拟仪器技术的图形化应用开发软件[3],在仪器控制、数据采集、信号分析、设计仿真、电子信息技术学习和实验等领域都有广泛的应用,利用Lab VIEW可形象生动的模拟仿真出译码器的功能,不需要真实的硬件环境,便于初学者学习和验证结果。

3.1 单片74Ls138的仿真设计

程序框图如图4所示。S1、S2、S3由三个布尔控件输入并经逻辑运算后接到74Ls138的条件框中控制其工作,输入端A0、A1、A2由三个布尔控件输入不同的值,按其特性方程经逻辑或门就可得到相应的输出信号。如图5所示为74Ls138输出前面板,图中S1=1、S2=S3=0,74Ls138正常工作,当输出A2A1A0=011时,Y3输出有效。

图4 74Ls138仿真程序框图 Fig.4 74Ls138 simulation program block diagram

图5 74Ls138仿真前面板 Fig.5 74Ls138 simulation front panel

3.2 多片74Ls138的扩展仿真

将单片74Ls138的程序保存为子VI,在扩展时可直接调用子VI来设计和验证。图6是1片主74Ls138,5片从74Ls138采用两级级联方式扩展为6线-40线的仿真程序框图,输入信号A0—A5中,低三位A0A1A2接从片A0A1A2,高三位A3A4A5接主片A0A1A2来生成选片信号,主片的每个输出Y0—Y7都可作为选片信号连接到一个从片的使能控制端,两级最多可接8个从片,扩展成6线—64线的译码器。图7为6片级联扩展为6线—40线译码器的仿真前面板,当S1=1、S2=S3=0时,输入A5A4A3A2A1A0=010111时得到输出Y23有效。

图6 6线—40线扩展仿真程序框图 Fig.6 6 line-40 line simulation program block diagram

图7 6线—40线扩展仿真前面板 Fig.7 6 line-40 line simulation front panel

按级联方式可以对译码器进行无限的位扩展,经过扩展后的译码器有了更大的应用范围,而利用Lab VIEW仿真设计可以让用户把主要精力投入到电路的逻辑设计上[4],不受硬件环境的限制,通过仿真运行随时验证结果、提高了设计效率、减少了设计成本。这种方法还可以实现对其他芯片的仿真,将各个芯片的仿真程序都可建成一个子VI,通过Lab VIEW的接口、数据采集、存储、回放等功能,仿真出各种复杂的工程应用,也为虚拟实验室提供了有效的方法[5]。

4 结论(Conclusion)

采用级联方式可以有效扩展译码器的位数,从而扩展其应用范围,利用Lab VIEW对译码器进行仿真,并进行扩展仿真可以有效提高设计效率,减小工作量和成本,并及时进行验证,可进一步应用到教学及实验中,为教学及仿真实验提供了平台。

摘要:为了提高译码器的应用范围,采用级联方式可以对译码器进行灵活的位扩展,并以Lab VIEW软件为主要开发工具,对译码器功能进行仿真,可以方便的进行虚拟设计、扩展及验证,大大提高了设计效率、降低成本、并为教学及实验提供了一种新的思路和方法。

仿真编码器 第2篇

图5为这三个系统在高斯信道下的误码性能曲线图。

其中在仿真中采用的多径时延参数为ITU室内B信道模型,码片速率为8.0Mchip/s,可分离多径数为6;最大多普勒频移为30Hz。

对于未编码的OFDM系统,假设信源速率为Rbit/s,经过串/并变换,每个子载波的速率为R/32bit/s,每个子载波经过QPSK调制后符号速率为R/64chip/s,经过OFDM调制后符号速率为Rchip/s,再加上循环前缀符号速率变为1.125Rchip/s,经过滚降系数为0.6的升余弦滤波器脉冲成型后,整个系统占用的带宽为0.9RHz。所以未编码的OFDM系统的信道利用率为1.11bit/s/Hz。当采用4PSK 4个状态的空时网格编码时,由于4PSK 4个状态的空时网格编码是同时输入2个比特,同时产生2个符号,它们分别对应发送天线1和发送天线2。因此对每一个发送天线来说,其符号速率为未编码的OFDM系统符号速率的一半即为R/64chip/s;然后每个子载波经过QPSK调制后符号速率为R/128chip/s,再经过OFDM调制后符号速率为R/2chip/s,再加上循环前缀符号速率变为0.5625Rchip/s,经过滚降系数为0.6的升余弦滤波器脉冲成型后,整个系统占用的带宽为0.45 RHz。所以采用空时网格编码的OFDM系统信道利用率为2.22bit/s/Hz,是未采用空时编码的OFDM系统信道利用率的2倍。

如图5所示,在高斯信道下未编码的OFDM系统的误码率性能反而比采用空时网格编码的OFDM系统的误码率性能好,采用网格编码的OFDM系统的误码率性能大约比未编码的OFDM系统的误码率性能恶化1dB,采用分集接收后可以为系统带来大约3dB的分集增益。如表3所示,在频率选择性衰落信道下采用空时网格编码的OFDM系统的误码率性能明显优于未采用空时网格编码的OFDM系统的误码率性能;同时采用两副接收天线的STTC-OFDM系统比采用一副接收天线的STTC―OFDM系统的误码率性能要好。这说明采用空时网格编码的OFDM系统非常适于应用在频率选择性衰落信道下,同时采用较多的接收天线可以有效地改善系统的误码率性能。

仿真编码器 第3篇

随机网络编码是一种分布式网络编码方式,它能适应拓扑动态变化、无中心节点的网络。随机网络编码提出推动了网络编码走向实用,使得网络编码不再受限于确定的网络拓扑以及集中式的算法[1]。在传感器网络中应用随机网络编码能提升网络的传输可靠性[2,3,4,5],降低网络中的能量消耗[6]等。文献[2,3,4,5]都是通过缠绕多路径模型计算验证了应用网络编码后网络传输可靠性的提升,文献[6]在OMNET++上通过能量模型计算评估了应用网络编码后的能量消耗,文献[7]提出了一种基于部分网络编码的机会路由机制,都是一种数值计算结果,并未实现对数据包的作编码、缓存和传输等仿真处理,未能实现网络仿真。祝琳[8]针对水声网络提出了基于网络编码的路由协议,并利用NS2进行了网络仿真,但并未进行模块化的设计,难以扩展。本文在OMNET++仿真平台上设计随机网络编码模块,添加到网络中的节点,实现数据包层级的随机网络编码仿真,能对应用随机网络编码的网络数据包传输可靠性、延时和吞吐量等网络特性进行评估。

1 仿真平台原理

1.1 OMNET++

OMNET++[6]是一种离散事件仿真器,主要由6个部分组成:仿真内核库(Simulation Kernel Library,Sim)、网络描述语言的编译器(Network Description Compiler,NEDC)、图形化的网络编辑器(Graphical Network Description Editor,GNED)、仿真程序的图形化用户接口Tkenv、仿真程序的命令行用户接口Cmdenv和图形化的向量输出工具Plove。OMNe T++具有模块化的结构,OMNe T++的仿真体系结构(箭头表示2组件之间的交互)如图1所示。Sim为嵌入式仿真内核,是处理和运行仿真的核心。当有事件发生时,仿真内核就调用执行模型中的模块。在Sim和用户接口CMDENV或TKENV之间是一个通用接口ENVIR,用户可以通过替换用户接口来定义仿真的运行环境。可执行模块是为仿真设置的模块,包括在模型组件库中所有组件的实例对象(如模块、管道等)。模型组件库包含所有已经编译好的简单模块和复合模块,仿真模型包含一些常用的网络协议、应用和通信模型。

OMNe T++仿真要经历模型建立、模拟实现和结果分析3个阶段[10]。OMNe T++采用混合式的建模方式,同时使用网络描述(Network Discription,NED)语言和C++进行建模。NED是模块化的网络描述语言,包括大量的对组件的描述,如通道、简单和复合模块的类型。NED还可以实现动态加载,便于更新仿真模型的拓扑结构。C++用来实现模型的仿真和消息的处理等功能NED文件可以编译为C++代码,连接到仿真程序中。OMNe T++中的消息通过CMessage类定义,消息传输由简单模块完成,有端口传输和直接传输2种方式。端口传输是通过模块之间的端口和连接,按照一定的规则,将消息逐步传输到目的模块。而直接传输是通过仿真内核直接传输消息到目的模块。通过这套机制,可以灵活地使用C++或者OMNe T++本身定义的几个基本类,就可以实现对复杂网络模型的仿真。

1.2 随机网络编码原理

信源以m为单位,将原始数据包分割,由同一原始数据包分割而来的m小个数据包X1,X2…Xm属于同一分组,用分组号识别。从有限域Fq中随机地选择m个数gi 1,gi 2,…,gim作为编码系数,对X1,X2…Xm进行编码组合,编码后变成了M(>m)个数据包,源端冗余系数α=M/m,用Y1,Y2,…,YM表示,即

这里执行的都是有限域的加法、乘法运算规则。信源把编码数据包Y1,Y2,…,YM的组标志和相应的编码系数组成的编码向量<gi 1,gi 2,…,gim>添加到数据包前发送出去。中间节点接收到编码数据包后进行再编码后转发,目的节点在接收到至少m个线性无关编码数据包后即可解码得到原始数据包。编码过程如图2所示。

2 仿真设计

应用随机网络编码时需要进行有限域运算,中间节点需要对编码数据包进行缓存。同时源节点需要通过多条传输路径将编码数据包传输至目的节点,才能在中间节点实现数据包之间的融合。因此我们需要在随机网络编码模块实现有限域运算,建立缓存及多路径路由机制。

2.1 有限域运算实现

有限域(Finite Field)F:域F中的元素是有限的,又称为伽罗华域(Galosis Field)。通常计算机领域采用二进制表示,有限域大小记为q,则相应的有限域中记为F2q,包含了2q个元素。与整数域,实数域相比,有如下特点:

①只包含有限个元素,如F22={0,1,2,3},而所有运算在该域内是封闭的,不会超出这4个数;

②为保证有限域内的加法和减法的封闭性,采用XOR执行加法和减法;

③为保证除法和乘法的封闭性,在执行乘法和除法时采取多项式运算,然后模上本有限域对应的本原多项式。

考虑到有限域运算时需要模上本原多项式,复杂度较高。同时,其运算在域内是封闭的,将任意2个数运算结果通过二维数组记录,实时计算时就能通过查表方式获得有限域内的四则运算结果。在此基础上,实现有限域的矩阵运算,包括矩阵相乘、求逆和求秩。

2.2 缓存处理机制

应用随机网络编码下的数据包结构如图3所示。编码数据包能通过数据包头中的源节点、目的节点地址、分组号和编系数识别。源节点向目的节点发送一组数据时进行按顺序进行分组编号。中间节点接收到某组数据包的第一个编码数据包后启动该组数据包的定时器。未超过设定缓存时间Ttimeout时,中间节点通过数据包头中的编码系数判断与缓存中已有编码数据包是否线性相关,如果线性无关则放入缓存;否则,丢弃。缓存过程中,如果线性无关编码数据包达到m个,则进行再编码后转发。若缓存超时后,假设中间节点R缓存中存在k个相同组标识的线性无关的数据包Y1,Y2…Yk,从有限域Fq中随机地选择k个数生成局部编码系数gri1,gri2,...grik,执行与源节点相同的编码过程,由此得到原始数据包对应的全局编码系数

,将新编码系数更新数据包中的编码系数后继续发送。

2.3 网络节点模型

网络节点模型如图4所示。

网络仿真时,未添加随机网络编码模块时节点模型如图4(a)所示,网络节点由应用模块产生数据包,传递给路由模块,路由模块按照路由协议传输给该数据包下一节点的队列,再经连接链路传递给下一节点。添加随机网络编码模块后节点模型如图4(b)所示,应用模块产生的数据包首传递给网络编码模块进行拆分编码,再传递给路由模块。链路队列接收到其他节点传输过来的数据包后,如果是普通数据包则交付给路由模块处理;如果是编码数据包,则交付给网络编码模块进行再编码后传递给路由模块进行处理,或者解编码后交给应用模块处理。网络编码模块独立于节点其他模块,能独立进行数据包编码、解编码,只需规范好接口就能与其他模块连接好。随机网络编码模块中分组大小,冗余系数,有限域大小都能进行选择设置,仿真时就能通过调整参数获得更加适用目标网络的参数。网络编码模块独立于其他模块,在仿真时可以将其添加进不同的网络节点,选择不同的应用模块及路由模块进行实验。

3 仿真实验

通过NED语言建立的网络场景如图5所示,定义节点间的连接通道以及节点内部模块的连接关系。仿真时假设节点间通过链路状态信息的交互,在本地形成了网络中其他节点的跳数表。源节点传输数据包时,在包头中添加到目的节点的跳数标签,每转发一次,条数标签减1。中间节点接收到数据包后,当判断自身到目的节点的跳数比数据包中的跳数标签要小,则进行转发,从而在数据转发过程中形成了一种多路径。如图6所示,我们在一个矩形区域内部署了26个网络节点,随机选取其中2个节点分别为源节点(2号节点)和目的节点(17号节点),形成的多路径路由如图中灰色节点(1,7,8,9,12,14,16,18号节点)所示。

仿真参数设置如下:链路传输带宽为2 Mb/s,文件大小为2 MB,原始数据长度为1 024 Bytes,组大小m=4,节点缓冲延时为10 ms,源端冗余系数α=1.25,误码率设置从1×10-5~9×10-5变化。

仿真时设置单个原始数据包长度为1 024 Bytes,应用网络编码时,将原始数据包拆分为4个长度为256 Bytes的数据包进行编码处理。源节点与目的节点之间传输一个2 MB大小的文件,设置变化的链路传输误码率对传输可靠性、延时和有效吞吐量进行统计。同一网络,在多路径传输方式下,对比应用随机网络编码模块前后数据包传输可靠性、延时和有效吞吐量统计结果如图6所示。

仿真结果验证了应用随机网络编码后的多路径传输方式(Network Coding Based Multipath Routing,NCMR)网络传输可靠性和有效吞吐量都要优于纯粹的多路径传输方式(Multipath Routing,MR)。应用随机网络编码后,因为缓存机制的应用,单个数据包的传输延时相较于纯粹多路径传输方式更长。纯粹多路径传输方式,从同一源节点到目的节点,数据包若传输成功,则传输延时是一样,但因为传输可靠性差,传输同样大小的文件需要更多时间,也就是有效吞吐量更低。

4 结束语

本文在OMNET++仿真平台上设计了随机网络编码模块,其添加到网络节点模型中,并与多路径传输方式对比,验证了应用随机网络编码后网络数据包传输可靠性、延时和吞吐量等网络特性能够改善。随机网络编码模块独立于其他节点模块,可进行参数设置,可设计不同的路由模块、应用层模块和链路模型进行组合,完成不同应用场景的网络仿真,为应用随机网络编码提供了一种仿真设计思路。

参考文献

[1]CHOUP A,WU Y,JAIN K.Practical Network Coding[C]∥Allerton Conference On Communication,Control and Computing,2003:25-35.

[2]GUO Z,XIE P,CUI J H,et al.On Applying Network Coding to Underwater Sensor Networks[C]∥Proceedings of the 1st ACM International Workshop on Underwater Networks.ACM,2006:109-112.

[3]YANG Yu-wang,ZHONG Chun-shan,SUN Ya-min,et al.Network Coding Based Reliable Disjoint and Braided Multipath Routing for Sensor Networks[J].Journal of Network and Computer Applications,2010,33(4):422-432.

[4]赵炜,唐振民,纪淑标,等.基于网络编码的传感网多径模型分析[J].计算机工程与设计,2012,33(3):875-879.

[5]宋小全,胡鹏,孙旭.基于局部重传和网络编码的可靠性传输机制[J].北京邮电大学学报,2014,37(4):51-55.

[6]WANG Lei,YANG Yu-wang,ZHAO Wei.Network Coding-based Multipath Routing for Energy Efficiency in Wireless Sensor Networks[J].Journal on Wireless Communicaitons and Networking,2012(1):1-15.

[7]邬晨,何加铭,曾兴斌,等.一种新的基于部分网络编码的机会路由机制[J].无线电通信技术,2014,40(2):24-27.

[8]祝琳,江志浩,李迅.基于网络编码技术的水声网络路由协议研究[J].无线电通信技术,2016,42(1):24-27.

[9]夏锋.OMNET++网络仿真[M].北京:清华大学出版社,2013.

仿真编码器 第4篇

JPEG 2000的一个重要特性是支持兴趣区的编码。感兴趣区域编码可以使图象的一定部分以更好的质量进行编码或解码。用户利用这个特性可指定感兴趣的图像区域,在压缩时对这些图像区指定特定的压缩质量,或在恢复时指定特定的解压缩要求,这给用户带来了极大的方便。例如,在有些情况下图像中只有一小块区域对用户是有用的,对这些区域采用低压缩比,而其他区域采用高压缩比,在保证不丢失重要信息的同时能有效地压缩数据量。ROI使用的是基于标度的方法,其主要思想是那些与该ROI相关的系数放置在比背景的比特高一些的位平面。然后,在嵌入编码过程中,将最高有效位ROI位平面在图象背景位平面之前放入位流。这样,ROI将比图象的其余部分先解码,或提高其质量。有静态和动态两种方式。静态方式中,ROI是在编码器一侧决定并编码的。动态方式中,ROI则可以位流行进过程中决定和编码。JPEG2000中推荐的ROI方法是MAXSHIFT法。

2 ROI感兴趣区域编码实现算法

2.1 ROI算法原理

一幅含有感兴趣区域的静态图像,可以划分成两个部分:感兴趣区域(ROI)和背景区域(BG)。感兴趣区域可以有多个,而背景区域只有一个。ROI算法一般分为以下两步:

1)从所有的小波系数区分出ROI区域的小波系数;

2)对ROI区域的小波系数采用一些特定的方式进行编码,从而使它们的质量比一般的

BG区域高。根据算法可以知道,区分出ROI区域的小波系数是整个算法中最重要的一部分。为了实现这一步,JPEG2000定义了一个ROI标志位(ROI mask),从而在进行DWT变换的时候,可以记录下某个小波系数是属于ROI还是BG,以及该系数属于哪一个ROI(在定义了多个ROI的情况下)。该mask的生成算法的好坏直接影响ROI编码的效率。

2.2 ROI mask生成算法

ROI mask描述的其实就是某一小波系数存在于哪一个位平面上,从而精确的重构期望的区域。因此,针对特定某一层的小波变换中,输入的原始信号样本x(2n)和x(2n+1)与高/低通滤波器好h(n)/l(n)之间的运算关系,实际上就是该mask。同样的,针对其他滤波器的ROI mask也是由如此的定义产生,只不过公式不同而已。对于任意形状的ROI,为了描述形状,必须获得属于ROI的所有的小波系数,所以必须产生所有的ROI mask;但是在某些特定的形状下,由于形状的规律性使得ROI mask的产生方式会简化许多,其中具有代表性的就是矩形。

如果ROI区域是个矩形,那么在重构图像的反向变换时,就不需要记录每个像素的小波系数的值,只需要记录区域左上和右下两个点就可以了,所有的在这两个点之间的样本均属于ROI,需要产生mask。这样计算量可以大幅度减小在进行小波的分层分解时,ROT的mask的范围在不同的子带中也会进行一定的变化,假设ROT区域是个矩形,在父亲子带中的(x0,y0)和(x1,y1)两点之间,那么它在分解后的SUB子带中将会处于:

其中neg_sup和pos_sup取决于新的SUB子带是通过高通还是低通滤波器形成的,还与高、低通滤波器组与原始区域相关的的频率分量系数有关。它们的值可以通过h(n)和l(n)计算获得。因此,想要还原ROI区域中系数x(2n)和x(2n+1),必须获得使用的滤波器的信息。

2.3 MAXSHIFT算法

由于使用ROI时,必须确定ROI区域的范围,所以必定要按照一定的形状进行编码和解码,那么系统的复杂度会大大提高。而且,当源图像数据量比较大的情况下进行解码时,逐个计算小波系数的ROI mask非常的浪费资源,也增加了不必要的计算复杂度和内存开销。于是,JPEG2000标准中使用MAXSHIFT算法来解决以上问题。MAXSH1FT算法的思想是不采用标准的逐个检查小波系数的方法确定ROI区域的范围,而是在量化编码时,将小波系数作特定的处理,从而使ROI区域的小波系数的最小量级比背景区域(BG)的小波系数的最大的量级还大。此时,ROI区域的范围就可以由ROI区域中最小的量化小波系数S来表示。

例如,对ROI中系数ci,进行特定变化ci=2ci,则

S=2cmin

如此,解码时系统的负担将会大幅度减小,这时只需要简单的判断该系数是否大于范围值S即可确定是否属于ROI区域,解码系统省下来所要做的工作仅仅是按照不同的质量水平分别将两部分系数还原即可。

3 ROI感兴趣区域编码仿真与性能分析

采用Lena.bmp作为测试图像,是一张尺度为512512的灰阶图像。选择3种测试算法:1、本文设计的基于MAXSHIFT算法的ROI解决方案;2、基于一般位移算法的ROI解决方案,具体编码可以参考JASPER1.200程序;3、无ROI解决方案的算法;由两个含有ROI解决方案的算法分别可以得到在同样的ROI大小及范围时,且总码率又相等的情况之下各种码率还原后的结果,第三个算法所得到的是相同总码率时但未使用ROI解决方案的结果,如此便能够进行还原后图像质量的比较。图像质量是用PSNR(PeakSignal to Noise Ratio)来表示,单位为dB。MSE(Mean Squared Error)为均方误差,为重建图像中每个像素与原始图像中每个像素的平均平方误差和而得;而由于Lena.bmp是灰阶图像,其亮度值的范围为0255,因此求得PSNR的算式如下:

图1便是在该码率时分别由最大位移法、一般位移法两种含有ROI解决方案得到还原后的结果,以及未使用ROI解决方案所得到的结果。

从图1、2和3可以发现使用最大位移法的ROI算法与使用一般位移的ROI算法这两者一效能的比较与ROI的大小以及码率的设定密切相关:若码率的设定大到足以让使用最大位移法的ROI算法在编码时一将ROI的位平ICI编码完成,则使用最大位移法的ROI算法与使用一般位移法的ROI算法的效能是差不多的,否则在码率不足的情况下,使用一般位移法的ROI算法所得到的图像质量会较使用最大位移法的ROI算法更好;当然码率也不能刻息设定的非常小,因为如此一来两种ROI算法都不能保障还原后的图像质量。

4 小结

JPEG2000是一个非常有用的新一代静止图像的压缩标准。该文主要介绍了JPEG2000标准的一个重要特点:感兴趣区域编码。并分析了JPEG2000感兴趣区域编码技术的基本原理以及核心算法Maxshift,对ROI编码进行了仿真和性能研究。

摘要:对图像感兴趣区域ROI(Region of Interest)的的支持是新一代静止图像压缩标准JPEG2000的一项重要功能。该文系统介绍了JPEG2000感兴趣区域编码技术的基本原理以及核心算法,并重点对ROI感兴趣区域编码进行了仿真与性能分析。

关键词:ROI,JPEG2000,算法,仿真

参考文献

[1]黄会雄.基于率失真优化的ROI编码算法[J].计算机应用,2008(9):242-245.

基于Ka波段信道编码的建模与仿真 第5篇

近年来,在系统科学、控制理论、信息处理技术以及计算机技术的发展推动下,仿真科学在理论研究、工程应用、仿真工程和工具开发环境等许多方面取得了令人瞩目的成就,并已经逐渐发展为一门综合性学科。

蒙特卡洛(Monte Carlo)仿真技术是系统仿真的基础,其基本思想可以这样描述:当所求问题的解是某个事件的概率,某个随机变量的数学期望,或者是与概率、数学期望有关的函数时,通过某种试验的方法,可以得出该事件发生的频率,或者该随机变量若干个具体观察值的算术平均值,通过它们就可以得到问题的解。

2 仿真技术

仿真技术[1]是以相似原理、系统技术、信息技术以及仿真领域的有关技术为基础,以计算机系统、与应用有关的物理效应设备及仿真器为工具,利用模型对系统(已有的或设想的)进行研究的一门多学科的综合性技术。

仿真本质上是一种知识处理的过程。典型的系统仿真过程包括:系统模型建立、仿真模型建立、仿真程序设计、模型确认、仿真实验和数据分析处理等,它涉及很多领域的知识和经验。系统仿真可以有很多种分类方法。按模型的类型可以分为连续系统仿真、离散系统仿真、连续/离散(时间)混合系统仿真和定性系统仿真;按仿真的实现方法和手段可以分为物理仿真、计算机仿真、硬件在回路中的仿真(半实物仿真)和人在回路中的仿真;根据人和设备的真实程度,可以分为实况仿真、虚拟仿真和构造仿真。而本文所采用的基于Matlab/Simulink的蒙特卡洛仿真技术则属于计算机仿真的一种。

实际的通信系统通常是一个具有较长使用寿命的复杂系统,其运行环境条件往往是变化的,这种变化有可能是周期的,但在大多数情况下是随机的,例如,卫星通信系统、短波通信系统以及远程地面网络等。对于这些复杂系统,它们不仅建设费用高,而且维护费用昂贵。因此,为了降低上述成本,在通信系统的设计、建设和使用过程中引入仿真技术势在必行。本文将从仿真学的角度,以Ka波段信道编码的建模与仿真为实例,讨论如何高效、简洁、准确地构建一个完整的通信系统仿真模型。

3 通信仿真及其一般步骤

通信仿真[1]是仿真学科中的一个重要分支。实际的通信系统是一个功能结构相当复杂的系统,对这个系统做出的任何改变都可能影响到整个系统的性能和稳定。因此,在对原有的通信系统做出改进或建立一个新系统之前,通常对这个系统进行建模与仿真,通过仿真结果衡量方案的可行性,从中选择最合理的系统配置和参数设置,然后再应用到实际系统中,这个过程就是通信仿真。

通信系统仿真一般分成三个步骤,即仿真建模、仿真实验和仿真分析。通信仿真是一个螺旋式发展的过程,因此,这三个步骤可能需要循环执行多次之后才能获得令人满意的仿真结果。

3.1 仿真建模

仿真建模是根据实际通信系统建立仿真模型的过程,它是整个通信仿真过程中的一个关键步骤,因为仿真模型的好坏直接影响着仿真的结果以及仿真结构的真实性和可靠性。

在仿真建模过程中,首先需要分析实际系统存在的问题或设立系统改造的目标,并把这些问题和目标转化成数学变量和公式。确定了仿真目标后,下一步是获取实际通信系统的各种运行参数。同时,仿真模型的建立需要综合考虑其可行性和简单性。

在以上工作准备好之后,就是仿真软件的选择了。除了使用传统的编程语言外,目前工程技术人员比较倾向于更加专业和方便使用的专门的仿真软件。常见的包括Matlab、OPNET和NS2等。

3.2 仿真实验

仿真实验是一个或一系列针对仿真模型的测试。在仿真实验过程中,通常需要多次改变仿真模型输入信号的数值,以观察和分析仿真模型对这些输入信号的反应,以及仿真系统在这个过程中表现出来的性能。需要强调的一点是,仿真过程中使用的输入数据必须具有一定的代表性,即能够从各个角度显著地改变仿真输出信号的数值。

对于需要较长时间的仿真,应该尽可能地使用批处理方式,使得仿真过程在完成一种参数配置的仿真之后,能够自动启动针对下一个参数配置的仿真。这种方式减少了仿真过程中的人工干预,提高了系统利用率和仿真效率。

3.3 仿真分析

仿真分析是一个通信仿真流程中的最后一个步骤。在仿真分析过程中,用户已经从仿真过程中获得了足够多的关于系统性能的信息,但是这些信息只是一些原始数据,一般还需要经过数值分析和处理才能够获得衡量系统性能的尺度,从而获得对仿真性能的一个总体评价。常用的系统性能尺度包括平均值、方差、标准差、最大值和最小值等,它们从不同的角度描绘了仿真系统的性能。

需要注意的是,即使仿真过程中收集的数据正确无误,由此得到的仿真结果并不一定就是准确的。造成这种结果的原因可能是输入信号恰好与仿真系统的内部特性相吻合,或者输入的随机信号不具有足够的代表性。

以上就是通信仿真系统的一个循环。应该强调的是,仿真分析并不一定意味着通信仿真过程的完全结束。如果仿真分析得到的结果达不到预期的目标,用户还需要重新修改通信仿真模型,这时候仿真分析就成为了一个新循环的开始。

4 通信系统仿真举例

Simulink是Matlab提供的实现动态系统建模和仿真的一个软件包。Simulink的每个模块对用户而言都是透明的,用户只须知道模块的输入、输出以及模块的功能,而不必管模块内部是怎么实现的,于是留给用户的事情就是如何利用这些模块来建立模型以完成自己的仿真任务。下面以静止卫星信道条件下Turbo编译码为例,使用Simulink搭建其仿真模型进行仿真,以此介绍一个完整通信系统仿真模型的构建方法。

由文献[2]可知,对于Ka频段静止卫星信道而言,由大气引起的时变衰落可以归结为一个乘性复衰落过程,而由于静止卫星信道衰落随时间变化非常缓慢,因此信道乘性衰落过程至少在一个符号间隔内可以看作一个常数,这样就可以将这种乘性衰落描述为:

上式中T为调制码元宽度,a和φ分别表示等效低通信道的包络和相位,二者均为实随机变量。关于a和φ的概率分布特性,前人利用Olympus星、Italsat星和ACTS星进行了传播特性测量实验,积累数据表明,Ka频段静止卫星通信信道特性主要由天气条件决定,信号包络和相位的概率分布均为高斯分布,其概率密度函数分别表示如下:

式中p(r)为信号包络的概率密度函数,p(φ)为信号相位的概率密度函数,σ′2和σ″2分别是信号包络和相位的方差,而m′和m″分别为相应的均值。表1和表2分别给出了Ka频段固定卫星通信信道在各种天气条件下信号包络和相位的概率分布参数。

因此,我们可以建立Ka频段静止卫星信道的统计模型如图1所示,在此模型中,用C(t)=aexp(jφ)表示信道乘性干扰矢量,Z(t)表示加性白高斯噪声。

4.1 仿真模型的构建

根据文献[2]中得出的结论,构建出如图2所示的Simulink仿真模型,其中turbo encoder,receiver front end和turbo decoder模块是用Subsystem模块建立的子系统。

图3、图4、图5分别是各个子系统的内部结构,其中图3为Turbo码编码器的内部结构,该模块对Bernoulli信号发生器产生连续的二进制比特流进行Turbo编码,图4为receiver front end模块内部结构,该模块主要为后面的译码器做一些准备工作,完成矩阵解交织的功能。图5为Turbo码译码器的内部结构,它对接收的数据流进行译码,然后输入到Error Rate Calculation模块,计算出输入信号的误码率,并由Dis-play模块显示出来。

在模块的搭建过程中应当注意,矩阵交织器和矩阵解交织器应当配合使用,且参数设置应当相同,因为它们二者的作用规则是互逆的,随机交织器和随机解交织器亦是如此。

整个系统的仿真流程为:Bernoulli信号发生器产生连续的二进制比特流,经过BPSK调制、Turbo编码及乘性衰落,经历AWGN信道的加性噪声污染,通过解调恢复出原始信号并通过误码监测与发端信号进行比较来统计误码,从而实现Monte Carlo仿真过程。

4.2 仿真实验与结果分析

以上模型的仿真参数设置如下:码率为1/3,5次迭代,分量码生成多项式为(7,5)8,交织长度为1 024,LOG MAP译码算法。运行该模型得到的仿真结果如图6所示,图中横坐标Eb/No表示信噪比,用分贝数表示,纵坐标BER代表误码率,用对数坐标表示。

从图6(a)和图6(b)可以看出,在各种天气条件下系统的误比特率曲线与未编码的曲线对比十分明显。除中雨及雷雨两种天气之外,并行级联Turbo码可以提供较大的编码增益,能够较好地改善系统的误比特率指标。同时从图中曲线的走向趋势也可以看出,仿真结果没有出现异常的情况,这与预料中的结果吻合的较好,表明了仿真模型的正确性。

5 结语

基于蒙特卡洛仿真技术,利用Simulink构建了Ka波段静止卫星信道的系统仿真模型,在莱斯衰落和高斯信道下,对其进行了仿真,通过对仿真结果的分析,确定了所建立模型的正确性,从而建立了适用于静止卫星系统链路层研究的仿真平台。通过该平台,还可以对其他技术进行研究,如OFDM技术、信道估计、信道均衡、LDPC码等,从而为改善系统性能,降低误码率打下良好的基础。

参考文献

[1]李贺冰,袁杰萍,孔俊霞.Simulink通信仿真教程[M].北京:国防工业出版社,2006.

[2]李宏博.Ka波段卫星通信中Turbo码应用研究[D].西安:空军工程大学,2007.

[3]李云峰.现代计算机仿真技术的研究与发展[J].计算技术与自动化,2002,21(4):75-78,83.

仿真编码器 第6篇

编码协作(coded cooperation,CC)是一种较放大转发(Amplify-and-Forward,AF)和译码转发(Decode-and-Forward,DF)等协作方式性能更优的协作方式。文献[1]对经典的三节点编码协作模型的中断性能进行了研究,并给出了一种多用户全部参与协同时的情况。在协作阶段,能够正确解码的所有用户全部参与协作并把源节点的冗余信息发送至基站,源节点也要发送冗余信息。该方法中断性能较好,但占用资源太多,信道资源利用率低。文献[2]针对正交传输方式提出了一种机会协同协议(OpportunisticCooperationProtocol,OCP),通过中继和目的节点间有限的信息反馈实现最佳中继的选择和参与协同传输。为表述方便,下文简称这种机会(OpportunisticRelaying)编码协作中继选择策略为OR-CC。文献[3]提出“增量中继”(IncrementalRelaying)的概念,即当直接传输不能满足目的节点解码要求时,才由中继节点重发信息,否则中继节点不参加协同传输。结合文献[3]和文献[2]本文给出了一种新的编码协作中继节点选择的策略,即增量最佳编码协作节点选择策略(Incremental-Best-Relayselectionschemeincodedcooperationsystem,IBR-CC),并对其在瑞利信道条件下的中断概率性能和有效信息速率进行了仿真。

1 系统模型

考虑一个由源节点S、目的节点D和K-2个中继节点构成编码协作网络。

根据文献[1]中编码协作的定义,发送端将原始数据分块编码成等长的若干数据帧发送,发送每一帧信息的目标信息速率为R。每一帧的信息长度为N比特,对应发送时间为Tf。每一帧信息又可以分成长分别为N1、N2比特的两个子帧,N1+N2=N。源节点S在时隙Tg(Tg=αTf)内发送子帧N1比特,0<α1,N1=αN;中继在时隙Tr=(Tr=(1-α)Tf)内发送子帧N2比特。N1构成较N码率更高的码字,N2称为N1的冗余。

任意两个节点间的信道相互独立,且服从准静态瑞利慢衰落。节点i与j之间的瞬时信道衰落系数在一帧内保持不变,且满足αij=αji。噪声为加性高斯白噪声,功率谱密度为N0。所有节点以等功率ρ发送,链路的平均信噪比γ=ρ/N0。节点i与j之间瞬时信噪比为γij=γ|αij| 2。

2 增量最佳编码协作中继选择策略(IBR-CC)描述

假设系统可以实现目的节点与所有节点进行可靠的信息反馈与交互,每个节点在其他节点内都有一个固定编号。

第一阶段:源节点首先利用时隙Tg广播发送第一个子帧,其他节点和目的节点D进行监听,并尝试译码。如果目的节点译码正确,则目的端反馈ACK并准备接收新信息,源节点接收到目的节点反馈的ACK信息后在时隙Tr内发送新信息;否则,目的端发送NACK信息表明需要中继协作发送冗余。能够正确译码的中继节点通过反馈信道向目的节点反馈ACK信息告知目的节点,并采用与源节点相同的编码方式重新编码,接收到目的端的发送要求后发送源节点的N2比特冗余信息。

第二阶段:目的节点通过中继节点反馈的信息,估计相应信道的瞬时信噪比,并从能够正确译码的节点集合C+(包括源节点)中选取对应中继-目的节点信道条件最好的节点发送冗余N2,并通过反馈信道广播所选节点的编号。接收到自己编号的节点立即发送源节点冗余信息N2,其余节点清除缓存内相应的冗余信息。目的节点联合两次接收的信息比特译码。如果译码不正确,就发生中断。其具体流程如图2所示。

3 性能仿真与结果

3.1 中断概率性能仿真

假设发射机的数据发射速率一定,协同传输采用总码率为1/4的RCPC码[4]编码协作通信系统,无协同传输采用相同母码的总码率为1/4的编码系统。令L=K-2,图3给出了IBR-CC方案与其他传输模式中断概率性能仿真结果。

仿真中取R=2bit/s/Hz,L=6,分别得到了无协同(NoCoop)、固定节点编码协作(FixedSingleNodeCodedCooperation,FSR-CC)、文献[2]机会编码协作(OR-CC)以及本文方案(IBR-CC)的中断概率与链路平均信噪比的关系。由图可见,本文方案确实取得了与文献[2]OR-CC方案相同优良的中断概率性能。

3.2 有效信息速率性能

取α=1/2,当信噪比较好时,发送完第一子帧N1比特后目的端若可正确译码,则此时不再发送冗余N2比特,第二时隙将由源节点继续发送新的一帧信息,此时相当于码率由1/4提高到了1/2。对系统而言,相当于提高了有效信息速率。

取R=2bit/s/Hz,α=1/2,L=6,通过仿真分别得到了各种通信方案有效信息速率与链路平均信噪比的关系,如图4。

由图4可知,IBR-CC方案较直接传输和其它方案,有效信息速率有了很大提高。这是因为IBR-CC不仅保持了OR-CC方案较低中断概率的优良特性,还较OR-CC方案以及其它方案减少了冗余的发送次数,更有效地利用了信道资源,使得网络的传输效率大大增加。

4 总结

本文给出了一种新的编码协作中继选择策略,即增量最佳编码协作中继选择策略。仿真结果表明,通过在目的端引入1比特的反馈信息,使得所提方案在保持机会编码协作协议中断概率性能的基础上,进一步提高了系统的有效信息速率。

摘要:针对多用户的编码协作通信网络,给出了增量中继和机会中继结合起来的增量最佳编码协作中继选择策略并对其进行了计算机仿真。结果表明,与其它编码协作节点选择方法相比,该策略在取得机会中继中断概率性能的基础上,进一步节省了信道资源,提高了系统有效信息速率。

关键词:编码协作,增量中继,机会选择

参考文献

[1]Hunter TE,Sanayei S,Nosratinia A.Outage Analysis ofCoded Cooperation[J].IEEE Trans Inf Theory,2006,2(52):3062-3080.

[2]Tajer A,Nosratinia A.Opportunistic Cooperation Via Re-lay Selection with Minimal Information Exchange[C]//.in Proc International Symp Inf Theory(ISIT’07),2007:1926-1930.

[3]Laneman J N,Tse D N C,Gregory.Cooperative Diversi-ty in Wireless Networks:Efficient Protocols and OutageBehavior[J].IEEE Transactions on Information Theory,2004,50(12):3062-3080.

仿真编码器 第7篇

目前,稀疏编码技术在盲源信号分离、自然图像特征提取和自然图像去噪等方面已取得了重大成果,并进入到了推广应用阶段[1]。目前,由于科学家对视觉系统主视皮层V1区的基本功能和生理基础等方面缺乏全面的科学认识,故对感受野的处理机理和稀疏编码技术的理论研究还不够成熟,需要科学界继续攻关。

Olshausen[2]等人提出的稀疏编码SC模型对V1区简单细胞与自然图像经过稀疏编码后得到的基函数建立了联系,掌握了该区视觉刺激图像的基本特征。设想的试验方法可满足相关理论要求。但是,由于该方法采用的是概率密度模型,具有选择性和随机性,区域最优解的获得十分困难,特别是对较高维的图像输入数据,其收敛速度尤其慢。其次,如何确定系数分量的先验稀疏分布是实际应用中的关键问题,也是一个难题。针对这些问题,本文基于峭度值与固定系数方差两个因子,在确保特征系数的稀疏性与重构误差两方面出发,保持二者处于理想的动态范围之内,提出了新的SC算法,该方法能够更好地表示自然图像的结构和内容。由于视觉皮层V1区简单细胞的感受野的空间调谐特性[3]可以用二维Gabor函数很好地描述,在SC算法中,为了尽可能缩短寻找最优基向量所用的时间,我们的基函数取二维小波基来表示。同时,在稀疏编码模型中,系数分量集合参数自带分散性,集合中的因子只有极小一部分不为零值。

在对图像的稀疏变换处理的同时,图像就得到了压缩。根据处理过程中获得的系数分量,应通过选取阈值来加大系数的稀疏性,以期获得更为理想的图像压缩比。实验表明,本文提出的SC算法能够有效地提取自然图像的特征,而且与标准的独立分量分析ICA和离散余弦变换DCT相比,该算法对自然图像压缩的效果明显优于ICA和DCT。

1 传统稀疏编码算法分析

自1959年,科学界有“稀疏表示”[4]的说法后,稀疏编码的研究经历了一个不断突破的发展过程。现在被业界当做的标准SC模型[5,6],是一种在构造哺乳动物视觉系统主视皮层V1区简单细胞感受野的人工神经网络方法。以Olshausen为代表的学者,尝试以一副完整的图像中所囊括的信息集合中的为数不多的非零值因子来表示,研究出了一种低熵编码的代表形式,并取得了重大突破。在构造体系中,具有如下特点: ( 1) 非0系数的概率密度呈单峰的形式; ( 2) 在为0系数的左右,曲线为尖峰走势。并构造函数如下:

2 基于峭度准则的稀疏编码算法

2. 1 目标函数的建模

目标函数由三项组成,如下所示:

式中,符号〈si2〉表示求si2的数学期望; Xi与si分别为X和S的某一行向量; ( x,y) 为灰度值大小; X = ( X1,X2,…,Xn)T为图像输入参数,S = ( S1,S2,…,Sm)T为系数矩阵; A = ( a1,a2,…,am) 表示n × m维的特征基矩阵,其中ai表示A的一个列向量( 注意: 基函数不必满足正交的条件) ; λ1和 λ2均为非负实数; σt2是提前设定的尺度系数。

上述函数的首项表示自然图像的重构误差,信息诠释能力与误差值大小成反相关关系,在此项中,可以做出初始判别。函数第二项表示稀疏惩罚,上面已经定义把峭度值数值作为稀疏性度量准则。对超高斯性信号[7,8]而言,峭度为正,最大化峭度即是最大化非高斯性。而对服从超高斯性分布的自然图像而言,最大化峭度也即是最大化其稀疏性。用kurt( si) 表示随机系数si的峭度的绝对值,那么最大化kurt( si) ( 或最小化 - kurt( si) ) , 就是最大化si的稀疏性。假设随机系数si已经过预处理变成均值为零的随机信号,则kurt( si) 的函数形式如下所示:

式中 β 对应峭度的符号,当峭度为负时,β = - 1; 当峭度为正时, β = 1 。

目标函数末项表示固定系数方差,它针对神经元输出的方差〈si2〉偏离 σt2的严重程度,可能达到稳固信息的目的。在二者拟合的过程中,尽可能确保X与AS大致相同,这就需要基函数满足A ∝ ( 1 /α) A( 0 < α < 1) 。同时,必须注意到,当 α → 0时, S → 0,虽然这时可以获得最大的稀疏程度,但是A → ∞ ,基函数不收敛。综上,当此项不存在情况下,难以对重构图像做准确表示。

研究表明,神经细胞的感受野可以用Gabor函数来表示,因此在我们的SC算法中,为了缩短寻找理想特征基所用的时间, 现采用GABOR小波基性质的特征基函数,并充分发挥其优点。

2. 2 学习规则

采用标准梯度下降的优化算法[9,10]来更新特征基函数A和稀疏系数矩阵S。在预启动学习活动时,设定需要录入的数值已经经过相关物理处理。针对Si,由式( 2) 得到特征基函数A的第i列列向量ai标准梯度为:

则列向量ai的学习规则为:

第i行行向量Si的标准梯度为:

式中,λ3= 4λ2为一常数; f1( si) 是峭度的绝对值kurt( si) 对行向量Si的导数,推导如下:

其中,β 是峭度的符号。把式( 7) 代入式( 6) ,得到矢量Si的更新规则:

对于基向量与系数矢量,带入相关公式,对它们进行更新操作,并达到相应的程度,达到理想的学习结果。进行更新操作时,二者需在对方一定的情况下进行当。为了计算方便,基向量和系数向量的标量尺度可以调整。

2. 3 基于峭度准则 SC 算法的自然图像压缩

在对该领域的探究中,贯穿始终的前提是: 把该变换当做线性变换。实际中,该变换本身不会对图像进行有效压缩,它的功能是把有效变换系数的数量尽可能地降低,并对获得的有效系数与熵进行相关处理,从而达到理想的目的。前文已经阐述,稀疏变换操作就是对自然图像进行压缩的操作。我们可以把系数分量作为突破口,通过相关操作和处理,从而来进一步提高压缩比。

使用稀疏编码实现自然图像压缩的主要步骤和小波压缩方法类似,简述如下:

( 1) 基于峭度准则SC算法获得自然图像的特征基向量A 。 对选取的实验图像进行压缩操作,先要选择M幅与其有同样统计特性的一组自然图像( 这M幅图像并不一定包含待压缩的图像) 。采用图像分块预处理的方法( 每一个子图像块转化为一行向量或一列向量) 得到具有零均值的训练集合Xtrain。然后使用SC算法提取自然图像的特征基函数A,并求出A的逆阵W ,此矩阵就是我们接下来要用到的系数权值矩阵;

( 2) 预处理待压图像。在实验图像上面,利用散弹射击法择取适当数量的对称子图像块,数量以L个为宜,组建录入集X0,然后对相关数据做核心化、归一化和主成分分析PCA降维操作处理,经过这些操作后,便获得相应的数理集合,暂记为X ;

( 3) 把W值带入S = WXT得到S值;

( 4) 确定阈值Tthr,处理规则: 不大于该值的系数以零值对待,获得新的集合S*,并利用RLE( Run Length Encoding) 压缩规则对S*进行压缩;

上述压缩步骤中,为了便于计算,子图像块的大小通常选为8 × 8像素或16 × 16像素两种情况。

基于峭度准则SC算法处理的流程如图1所示。

3 仿真实验分析

为了验证本文方法的性能,选择了10幅自然图像数据来测试本文提出的稀疏编码算法,每一幅图像的大小为512 × 256像素。计算机配置为Intel酷睿i5四核处理器,4 GB内存,3. 2 GHz主频,Windows7操作系统,开发环境为VC ++ 6. 0。

对每一幅图像随机采样5000个8 × 8像素大小的图像块, 得到一个大小为64 × 50 000的输入数据集合X0。对此集合进行白化和PCA降维预处理后,得到大小为40 × 50 000的集合X 。

对X分别采用标准SC算法和本文的基于峭度准则SC算法进行训练,进行不同重构误差和不同数量特征基向量的实验, 上述两种方法的迭代次数如表1所示。

由此可见,基于峭度准则的稀疏编码图像压缩方法具有较快的收敛速度。

对X使用我们的SC算法进行训练,得到的40个特征基向量如图2所示( 设定图像重构误差 ε ≤ 0. 02,迭代次数约为26 000次) 。

对于上面的图像,把“grashopper”作为下一步的实验图像, 进行相关操作。按照上面所说的压缩操作程序,按照预定的阈值,作为压缩的度量控制,实现对图像的相关操作。接下来使用传统的峰值信噪比检测方法,对获得的新图像性能进行科学量化。如果PSNR值越大,即可说明实验效果十分理想。假设Xij表示大小为N × M的原始图像数据,X方法ij表示同样大小的解压后的重构图像数据,i表示行,j表示列,则PSNR的定义如下所示:

设定不同的系数阈值,使用本文SC算法得到的压缩结果如图3所示,使用式( 9) 计算得到的各PSNR的值被列于表2中。表2也给出了不同阈值下零系数所占的百分比 ρ 。从目视效果看,对应不同阈值的各压缩图像之间的差别很小,很难区分开。与原图像相比,这些压缩图像都很好地保留了原图像的信息,而且,阈值Thr越小,压缩图像质量越清晰,越接近原始图像的视觉效果。观察表2中的PSNR值和零系数百分比,很容易看出,利用稀疏编码算法得到的压缩图像均具有较高的PSNR值( 即均方误差MSE较小) ,而且阈值越小,PSNR值越大,进行解压重构后的图像质量越好,但是,零系数所占的百分比 ρ 越小。

在同样的条件下,采用标准ICA算法[11,12]模拟了自然图像的压缩过程,其压缩步骤和SC压缩的步骤类似,只是基函数A是由ICA算法训练得到的。在不同阈值下利用ICA得到的压缩图像如图4所示,各压缩图像的PSNR值和零系数百分比也被列于表2中。观察图4,我们可以发现: 对于获得的压缩图像,如果阈值较大 ( 即压缩比较高时) ,则方块效应十分明显,实验效果不理想; 若阈值取0. 2,视觉效果良好。对比图3和图4, 显然,利用SC得到的压缩图像没有明显的方块效应; 在相同的阈值Tthr下( Tthr= 0. 2的情况除外) ,图3中SC方法压缩图像的目视效果远优于图4中的目视效果。对比表2中的数据,可以看到,相同阈值下,SC的零系数百分比大于ICA的零系数百分比,故SC的图像特征系数比ICA图像特征系数的稀疏性强; 利用SC得到的各PSNR值明显高出利用标准ICA得到的PSNR值; SC在最大阈值下得到的PSNR值要比ICA在最小阈值下得到的PSNR值高出4. 7538 d B。因此,我们可以得到这样一个结论: 当SC和ICA算法应用于自然图像压缩时,SC比ICA具有更好的压缩性能。

为了进一步探讨SC压缩的有效性,我们也利用离散余弦变换DCT和小波全局分层阈值压缩方法对“grasshopper”图像作了一些压缩对比实验。

在对比DCT与SC的压缩性能时,仅选用四个零系数百分比来进行DCT压缩实验: ρ =99. 2% ; ρ = 96. 88% ; ρ = 93. 22% ; ρ = 50% 。若 ρ = 93. 22% ,那么对一个8 × 8像素的子图像而言,大约有60个零系数,即其压缩比约为1∶ 16,压缩图像如图5( c) 所示,对应的PSNR =13. 5025 d B。当 ρ =99. 2% 时,在子图像块中仅保留下来一个非零系数,信噪比PSNR =13. 4520 d B。显然,与相同 ρ 下的SC压缩结果相比,其PSNR值远小于图3( d) 和( h) 所对应的PSNR值,而且DCT压缩的结果有明显的方块效应,图像质量目视效果很差。ρ 越大,DCT压缩的效果越差,而SC压缩却仍能使用极少数的非零系数重构出比较清晰的图像。因此,在相同的零系数百分比下,SC压缩方法优于DCT压缩,而且比较ICA与DCT的压缩结果,也可以看出ICA法的压缩性能也优于DCT方法。另外,假设零系数百分比为 ρ = 50% 时,利用DCT压缩得到的重构图像如图4( d) 所示,其对应的PSNR =18. 1629,可以看出,此图像的目视效果仍较差。

综上所述,对SC的压缩性能我们可以得到如下结论: 对自然图像进行压缩时,当系数阈值相同时,SC的压缩性能优于ICA; 当零系数百分比相同时,SC的压缩性能也优于DCT ; 相同条件下,ICA的压缩效果优于DCT。

4 结 语

仿真编码器 第8篇

关键词:卷积码,纠错编码,直接序列扩频

1 引 言

随着高新技术的高速发展,通信系统面临的环境日益复杂,通信干扰与抗干扰的研究也越来越深入。20世纪80年代以来,扩频通信已广泛应用于军事通信领域,作为一种最典型的扩频体制,直接序列扩频由于具有很强的抗截获和抗干扰能力,近年来在水下通信、战术卫星、微波通信、遥控遥测、导航定位等领域中得到了广泛应用[1]。而实践表明,在实际的直接序列扩频通信系统,研究者们在采用直扩体制的基础上,还结合了信道纠错编码技术。这是由于在通信系统发送端发出的无线信号不可避免地要受到随机噪声和突发噪声的影响,如若信号传输波形受到破坏,那么接收端在进行判决时很容易发生错误,因此,信道纠错编码技术的出现为解决这一问题提供了思路,从而较好地保证了通信系统的良好性能。

信道纠错码按照不同的分类依据可以有多种分类方法[2]。按照误码产生的原因不同,可分为纠正随机错误的码和纠正突发性错误的码,前者主要用于产生独立的局部误码的信道,而后者主要用于产生大面积的连续误码的情况。按照纠错编码方式的不同,信道纠错编码又可以分为奇偶监督码、恒比码、汉明码、卷积码、交织码以及级联码等等。卷积码具备既能纠正随机错误,又能纠正突发错误的能力,因此在深空通信以及第二代、第三代移动通信中均得到不同形式的运用,如在飞往木星和土星的Voyager号上,NASA将卷积码作为内码,与外码RS码构成级联码,该级联码性能优良,一度成为业内标准。再如在美国的第二代移动通信标准IS-95中,其下行信道采用了1/2码率的(2,1,8)卷积码,其下行信道采用了1/3码率的(3,1,8)卷积码[2]。

然而,扩频体制与信道编码的实质都是利用增加带宽得到信噪比的增加和系统误码率的降低。文献[3]指出,纠错编码对于扩频系统而言是一项不可缺少的技术,它能从根本上提升扩频系统的性能。那么,当系统带宽一定时,两者的结合对信道编码的编码增益以及扩频体制的处理增益分别有何影响?文献[4]中指出,当系统带宽一定时,若要求信息速率不变,纠错编码获得编码增益的同时将会造成扩频处理增益的降低,文中也对不同编码效率的卷积编码的直扩系统抗单音干扰性能进行了分析。但是,并未考虑到卷积码的Viterbi译码算法在采用不同判决方式时的情形。事实上,究其性能,卷积码的纠错能力与其约束长度或者距离特性有关,而实际的纠错性能与所用的译码算法有关[5]。文献[6]中讨论了卷积码中软判决与硬判决的区别,并明确指出了软判决比硬判决所得到的编码增益要多。那么,在直扩系统中,这两种判决模式对系统的性能是否也将产生上述影响呢?针对这个问题,本文主要针对卷积码译码分别采用硬判决和软判决时直扩系统的性能进行研究,并利用Matlab/Simulink仿真平台搭建了结合卷积编译码模块的直扩系统仿真模型,得出了有用的结论。

本文的内容作如下安排:第二节主要介绍加入卷积编码后直扩系统的基本原理,并分析了卷积码Viterbi译码算法硬判决和软判决的理论依据,为后文进行理论分析和搭建仿真模型打下基础;第三节从理论上描述了两种不同译码判决模式下的误比特率性能;第四节搭建了仿真模型,并对仿真的模块以及处理流程做了详细说明;第六节进行了系统仿真,并对仿真结果进行了讨论和分析。

2 基本原理

本文所要讨论的结合卷积编码的直扩系统原理框图如图 1。

如图 1中所示,本文设计的是基于先扩频后编码的直接序列扩频系统,即在发射端,卷积编码模块处于系统完成扩频调制之后,基带调制之前;在接收端,卷积码的译码模块在系统解扩之前,译码算法选择比较常用的Viterbi译码算法。Viterbi算法是一种最大似然的译码算法,其译码过程通常采用网格图来描述。该算法的性能对于误帧率是最优的,但对于误码率不一定是最优的。在先验概率不相等的情况下,对于卷积码的误码率,最优的译码算法是MAP(最大后验概率)译码算法,当先验概率相等时,两种算法的误码率和误帧率是相当的。然而,MAP译码算法的计算复杂度远大于Viterbi算法,出于从性能和复杂度的折中角度来看,Viterbi算法是简单有效的算法,因此也成为目前工程应用中的主流算法[2]。下文主要就卷积码的Viterbi译码算法在硬判决和软判决两种情况下的性能做详细分析。

对于二进制(n,k,m)卷积码,假设一个长度为kL的二进制信息序列u=(u0,u1,,uL-1)经编码后得到长度为N=n(L+m)的码字v=(v0,v1,,vL+m-1)。其中,ui是k维的二进制向量, vi是n维的二进制向量。v通过时间离散无记忆信道得到接收序列r=(r0,r1,,rL+m-1),ri是n维向量。那么解码器必须根据接收序列对每个码字进行估计。对于离散时间无记忆信道而言,

undefined

进而可得

undefined

其中P(ri/vi)为信道转移概率。

(1) 对于AWGN信道而言,假设其为离散无记忆的,那么,对于时刻i,

undefined

vi为均值为0,方差为σ2的独立同分布的n维高斯随机变量,那么,

undefined

由此可见,对于离散无记忆的AWGN信道,Viterbi算法找到最大似然路径就是与接收信号的欧氏距离最小的路径。

(2) 对于离散无记忆的二进制对称信道而言,假设其信道转移概率矩阵为:

undefined

那么,根据二进制对称信道的性质可知,

undefined

也即:logP(rundefined/vundefined)=ln(1-ε)-(ln(1-ε)-lnε)(rundefined♁vundefined),其中♁表示0,1码元之间的异或运算。由于ln(1-ε)-lnε为正的常数,则logP(rundefined/vundefined)与rundefined♁vundefined成反比。因此,可以判定,对于离散无记忆的二进制对称信道,Viterbi算法找到的最大似然路径就是与接收信号汉明距离最小的网格图路径。

上述卷积码的两种距离特性决定了其译码判决模式的选择。对于硬判决译码,译码器对二进制符号进行操作,编码性能用汉明距离衡量。而软判决译码器从解调器接收量化的模拟信号,译码操作基于欧氏距离[7]。下文将着重分析两种判决模式下的误比特率性能。

3 理论分析

文献[8],[9]均对卷积码Viterbi译码算法在软、硬判决两种模式下的性能做了详细分析,并得出了误比特率上界。由于本文所选择的信道为高斯白噪声信道,因此,本文主要分析在高斯白噪声信道条件下卷积码译码分别采用软、硬判决时的性能[10]。

对于卷积码(n,k,m),当卷积码Viterbi译码算法采用硬判决时,本文为了分析方便,采用的是二相相移键控BPSK,信道中的噪声为白噪声,信道输出是硬判决二进制信号,若信道的误码率为P,则

undefined

其中E为信道中的每一码元(或符号)的能量,N0为单边白噪声功率谱密度,对一个自由距离为dfree的卷积码,当P较小时,Viterbi译码输出的误比特率表达式为:

undefined

其中Eb为编码后每个码元的能量折合成每信息比特的能量,Eb=E/R,R为卷积码的码率,R=k/n。

当卷积码Viterbi译码采用软判决时,软判决译码和硬判决译码的基本原理相同,只是软判决译码接收的序列是对解调输出序列进行Q电平量化,此时,差错事件的概率为:

undefined

其中p(j/0)为0变j的转移概率,p(j/1)是1变j的转移概率,T(D)为计算卷积码自由距离的信号流图的生成函数,其表达式为

undefined

Ad为正整数,表示重量为d的差错路径的条数。

因此,采用软判决的Viterbi译码时信息比特的错误概率上限为:

undefined

若AWGN信道的输出不量化,即Q∞,那么差错概率上限为:

undefined

因此,信息比特的错误概率上限为:

undefined

上述讨论是针对未采用扩频体制的系统而言的,那么,在扩频系统中,上述结论是否适用呢?根据本文所设计的卷积编码直扩系统的基本原理可知,卷积码的编译码过程是在扩频调制与解扩之间完成的,那么在本文设计的系统中,卷积码编码器要处理的对象是已经完成扩频调制的序列。因而,当系统带宽无特别要求时(当系统带宽一定时,编码增益与扩频增益相互制约),在卷积码自身的性能上不会受到扩频调制的影响,而是在系统整体的性能上体现出卷积码与扩频相结合的优越性。

4 仿真模型

根据前文所述,本文所采用的是先扩频后编码的直扩系统[10],即卷积编码在扩频之后,相应地译码在解扩之前。文中分别采用码率为1/2和1/3的卷积码,利用Matlab/Simulink中的功能模块,本文的系统模型如图 2。

当接收端采用软判决Viterbi译码时,译码模块接收的对象是量化后的多级模拟信号,因此,必须在Viterbi译码模块前增加量化模块。本文用文献[11]中的映射解调模块替换图2硬判决系统中BPSK解调模块即可得到软判决系统。该映射解调模块的内部结构如图 3。

如图 2和图 3中所示,仿真模型中信息流的处理流程为:首先通过随机数产生器产生二进制信息序列,为了便于后续运算,此时需要将输出序列转换为双极性,在与同样经过极性变换的PN序列进行异或完成扩频调制之后,对异或结果恢复无极性形式,进入卷积编码模块完成编码,随后采用BPSK基带调制器进行调制,经过AWGN信道后,如果接收端采用硬判决,那么信道输出信号可直接输出到BPSK基带解调器进行解调,如果采用软判决,那么信道输出信号将输出至软输出BPSK基带解调模块。解调后的信号进入Viterbi译码器中进行译码,之后将译码结果转换为双极性再次与PN序列异或完成解扩,最后,将解扩的结果与信源输出序列进行比较,计算误比特率。

5 仿真结果及其分析

本文主要考虑码率为1/2和1/3两种情况,下面简要归纳部分已知的卷积码如下表 1。

为了便于分析,在所建立的仿真模型中,主要考虑纠错编译码模块参数的选取对系统性能的影响,因此,数据产生速率与PN序列产生速率的取值保持不变,且发送端与接收端采用同一PN序列以消除PN序列不同步对系统性能造成的影响。文中取数据产生速率为100bits/s,PN序列产生速率为10000bits/s。

5.1 判决方式对系统性能的影响

此处主要考虑码率为1/2和1/3时分别采用软判决和硬判决时的情况,在本次试验中,约束长度均设为7,卷积码编译码模块的回溯深度设为48,软判决比特数设为3,性能比较如图4、图5。

从图 4和图 5可以看出,本文设计的基于卷积纠错编码的直扩系统的系统性能与未采用任何纠错编码措施的直扩系统相比有了较大的改善,并且可以看出,当信噪比处于较低区间时,未编码直扩系统性能反而略好于编码的直扩系统,而当信噪比增到一定取值之后,编码的直扩系统性能才逐渐好于未编码系统。从这一点可以说明,卷积码的编译码对系统所处的信噪比环境有一定要求。

同时,在本文所设计的系统中,卷积码Viterbi译码采用不同判决方式时,系统的性能有较大差异。图 4中码率为1/2时,取误比特率为0.01作为参考值,软判决较硬判决而言信噪比降低了接近2dB;图 5中码率为1/3时软判决方式下的系统性能也明显好于硬判决方式。因此可以得出结论,即与硬判决方式相比,采用软判决时,Viterbi译码器能够获得更多的信息,使得译码的准确度得到了提高,从而降低了系统的误比特率。

5.2 码率对系统性能的影响

此处主要考虑系统接收端分别采用硬判决和软判决两种方式时,不同码率对系统性能的影响。设定卷积码的约束长度均为7,软判决比特数均为3bits。仿真结果如图 6、图 7。

从图 6、图 7中可以看出,系统接收端不论是采用硬判决还是软判决方式,码率为1/3时的卷积码对系统性能的改善要比码率为1/2时要好。这是因为码率越小,编码时加入的校验位越多,使得卷积码在译码时的准确度得到有效提升。但是是否可以得出码率越小,系统性能越好的结论呢?实际上,码率的减小,意味着所需信道带宽的增大以及系统复杂度的增加,因此,并不是码率越小系统性能越好。所以,码率的选取对于系统性能也有一定程度的影响。

6 结 论

本文主要从Viterbi译码的软判决和硬判决两种判决方式的异同入手,搭建了基于卷积纠错编码的直扩通信系统,仿真分析了在其他条件相同的情况下,系统接收端Viterbi译码采用不同的判决方式以及卷积码码率对系统性能的影响。仿真结果表明,软判决方式相较于硬判决具有更高地译码准确度,从而更好地降低了系统误比特率,同时,码率对本文所设计的直扩系统性能有着明显的影响。由于本文的卷积编码直扩系统是基于先扩频后编码再调制的设计,它只是直扩与卷积编码相结合的众多实际应用中的一个侧面,所得结论难免具有片面性。总体而言,本文搭建的基于卷积纠错编码的直扩通信系统为后续针对直扩系统中卷积纠错编码模块抗干扰性能的研究以及对卷积编码的直扩系统最佳干扰的研究打下了基础。

参考文献

[1]朱永松,张海勇.直接序列扩频通信及其军事应用研究[J].舰船科学技术,2005,27(6):79-84.

[2]吴湛击.现代纠错编码与调制理论及应用[M].北京:人民邮电出版社,2008.

[3]Jifeng Li,Hideki Imai.An Overview of Forward Error-Correction Coding for Spread Spectrum[C].IEEEFourth International Symposium on Spread SpectrumTechniques and Applications(ISSSTA'96)Mainz,Ger-many.1996,9.

[4]杨丽春,李仲令,李少谦.通信综合抗干扰技术的仿真研究[A].2005年中国西部青年通信学术会议论文集[C].成都:2005:547-551.

[5]S.Hest,R.Johannesson,K.Sh.Ziganirov.Active Dis-tance for Convolutional Codes[J].IEEE Trans.On Infor-mation Theory,1999I,T-45(3):658-669.

[6]韩维,黄建国.软判决在纠错编码中的应用[J].系统仿真学报,2008,20(17):4763-4766.

[7]赵江.扩频通信系统中信道编码技术的研究[D].南京:东南大学硕士学位论文,2005.

[8]曹志刚.现代通信原理[M].北京:清华大学出版社,1992.

[9]Proakis,J.G.Digital Communications(Fourth Edition)[M].北京:电子工业出版社,2006.

[10]姚中华.水声通信中串行级联纠错编码技术研究[D].西安:西北工业大学硕士学位论文,2006.

[11]徐明远等.Matlab仿真在通信与电子工程中的应用[M].西安:西安电子科技大学出版社,2005.

仿真编码器范文

仿真编码器范文(精选8篇)仿真编码器 第1篇在计算机系统中,常常需要将不同的地址信号通过一定的控制电路转换为对某一芯片的片选信号,这个...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部