码率检测

2024-09-28

码率检测(共7篇)

码率检测 篇1

未经压缩的原始视频序列包含巨大的数据量,使之难以在现有信道带宽条件下直接传输。因此,在视频通信中,往往需要在编码端对视频序列进行压缩。由于编码端的视频压缩通常是有损压缩,和压缩前的原始图像比,压缩后的图像质量会有所下降。为了在有限的信道带宽和压缩后的图像质量之间取得一个合理有效的平衡点,必须在编码端进行合理有效的码率控制。

H.264是JVT(JointVideoTeam,联合视频工作组)于2003年提出的最新视频编码标准。和以往的视频编码标准相比,H.264能在同等信道带宽条件下获得更好的图像质量。在当前H.264所采用的码率控制算法JVT-G 012中,是以GOP(GroupOf Pictures,图像组)为单位组织I帧(Intra-prediction frame,帧内预测帧)和P帧(Inter-predictionframe,帧间预测帧)的[1]。

一个GOP通常以一个I帧开始,在其后有一定数量将该I帧做为参考帧的P帧。

JVT-G 012的帧层码率控制将同一个GOP中的各个P帧看做具有相同的编码复杂度,这与实际情况并不相符,尤其是在视频序列中发生场景切换时,如果不做出相应处理,会导致压缩后图像质量的下降和编码资源的浪费。

针对场景切换问题,出现了多种码率控制算法[2—5]。这些算法彼此之间的区别主要在两个方面:如何检测出场景切换及检测出场景切换的后续处理。对场景切换的检测需要根据算法的应用场合在检测精度和算法复杂度之间做出折衷。一般来说,对实时性要求不高的场合可以采用计算复杂度较高的算法,如先进行预编码确定场景切换的位置,再进行二轮编码对场景切换做出合适的处理;而对实时性要求较高的应用场合,如视频通信,需要低复杂度的场景切换检测方法。

在视频通信中,编码器缓冲区的尺寸通常比较有限,同时对实时性的要求相对较高。本文根据视频通信的实际需要,提出了一种低复杂度的场景切换检测方法,并在检测出场景切换使用可变长GOP与主动跳帧相结合的方式对其进行处理。仿真结果证明,本文所提码率控制算法可以有效的改善场景切换对视频质量的影响,在压缩后图像质量、信道带宽和编码器缓冲区占用度之间取得了较好的平衡。

1基于BH的场景切换检测

在场景切换帧中,大多数MB(MacroBlock,宏块)经过RDO(Rate-DistortionOptimization,率失真优化)后将在帧内预测模式下被编码,这会导致场景切换帧在模式选择上浪费了不必要的计算资源此外,要达到同等的图像质量,帧内预测模式需要比帧间预测模式更多的编码资源。在场景切换处,如果继续按照帧间预测模式为其分配编码资源,必然会导致场景切换处编码质量的下降。可见,必须对视频序列中可能出现的场景切换做出准确的检测和合适的处理。

针对视频通信中实时性要求较高的特点,本文提出了一种基于灰度直方图的场景切换检测算法设待编码帧为当前GOP中的第i个P帧,则当前帧和前一帧之间的BH(BlockHistogram difference,块亮度直方图差异)如式(1)所示[6]:

(1)式中,BH(i)是当前GOP中第i个P帧的BH值;Nmb是在一帧中包含的MB总数;q是最大灰度级;j是MB的序号;k是灰度级的序号;h(i,j,k)是第i帧中第j个宏块在灰度级k上的直方图值。BH(i)体现了相邻两帧之间亮度值变化的剧烈程度,BH(i)的值越大,说明帧间差异越大,使用帧间预测进行压缩编码的编码复杂度也随之增大。

作为两帧之间的绝对差异程度的度量手段之一,不同序列的BH值可能大小水平可能相去甚远,难以找到一个统一的场景切换检测门限。因此,为适应运动剧烈程度不同的各种序列,在BH的基础上进一步定义了当前帧的相对帧间预测编码复杂度BHratio,如式(2)所示:

(2)式中,BHratio(i)是第i个P帧的BH和当前GOP中已编码P帧BH的平均值之比,代表了当前GOP中第i个P帧的相对于已编码P帧的相对编码复杂度。

为了测试BHratio检测场景切换的能力,使用一个从6个QCIF序列中各取20帧组成的构造序列对其进行了测试。BHratio值的变化曲线如图1所示,在同一场景中,BHratio的值基本在1附近变化;当发生

从图1中可见,在场景切换处BHratio的值和在场景内的BHraio值相比有较大跃升,故可以通过选择一个合理的场景切换门限准确的检测出视频序列中可能发生的场景切换,如式(3)所示:

BΗratio(i)>ΤΗsc(3)

(3)式中,THsc是判断场景切换所用的门限值,在本文中THsc取值为2.5。若式(3)成立,则判定发生场景切换;否则,无场景切换发生。为了检测式(3)中所提场景切换检测算法的性能,对总数超过15 000帧的包含场景切换的测试序列进行了仿真,仿真结果表明通过BHratio(i)能够有效的检测出90%以上的场景切换,且误检率几乎为0。

2 对场景切换的处理

现有针对场景切换的码率控制算法可以按照对场景切换的处理分为两类:定长GOP算法[2,3]和可变长GOP算法[4,5]。在定长GOP算法中,不改变场景切换帧的编码类型,而是通过为场景切换帧分配更多的目标比特或调整场景切换帧的QP(Quantization Parameter,量化参数)来改善场景切换对视频质量的影响。在可变长GOP算法中,场景切换帧被编码为I帧,并重新组织GOP长度。

和定长GOP算法相比,可变长GOP算法的主要难点是在编码器缓冲区占用度和图像质量间做出有效的平衡。在定长GOP中,在编码一个GOP之前首先为该GOP分配一定的编码资源,如式(4)所示:

Rgop=ΝgopCbFr+Rprevious(4)

(4)式中,Rgop是当前GOP可使用的编码资源总量;Ngop是当前GOP包含的帧数;Cb是当前可用信道带宽;Fr是编码帧率;Rprevious是上一个GOP对当前GOP的影响,当上一个GOP过量使用编码资源时,Rprevious为负值;当上一个GOP有节余时,Rprevious为正值。

在编码过程中,每编码完一帧,更新一次本GOP剩余可用编码资源,如式(5)所示:

Rr(i)=Rr(i-1)-A(i-1)(5)

(5)式中,Rr(i)为编码第i帧之前当前GOP剩余可用编码资源;A(i-1)是编码第i-1帧实际消耗的编码资源。

对GOP中的各个P帧,各帧可用编码资源是从当前GOP剩余可用编码资源及编码器缓冲区占用度两个角度综合考虑后的加权和,如式(6)所示:

Τ(i)=w1Τc(i)+(1-w1)Τb(i)(6)

(6)式中,T(i)是第i帧最终分配得到的编码资源;Tc(i)是从当前GOP剩余可用编码资源角度为第i帧分配的编码资源;Tb(i)是从编码器缓冲区占用度角度为第i帧分配的编码资源;w1是加权系数,取值在0到1之间。

在JVT-G012中,从编码器缓冲区占用度角度为当前帧分配编码资源时,主要考虑到当前缓冲区占用度和目标缓冲区之间的差异及信道的输出能力,如式(7)所示:

Τb(i)=CbFr+w2(Τbl(i)-Cbl(i))(7)

(7)式中,Tb(i)是从编码器缓冲区占用度角度为第i帧分配的编码资源;Cb是当前可用信道带宽;Fr是编码帧率;Tbl(i)是目标缓冲区占用度;Cbl(i)是实际缓冲区占用度;w2是加权系数,取值在0到1之间。

编码器缓冲区的目标占用度也是在编码过程中不断更新的,如式(8)所示:

Τbl(i)=Τbl(i-1)-Τbl(2)-Cbl(1)Νgop-1(8)

通过(8)式可以看出,在JVT-G012中,位于GOP开始的I帧编码过程中对编码器缓冲区造成的负担被均匀分摊到该GOP的各个P帧身上。当视频序列中没有场景切换发生时,这种机制能够正常运作。而当场景切换发生在某一P帧处时,码率控制将面临两难选择:如果为场景切换帧分配较多的编码资源,势必增加对编码器缓冲区的压力,对其后P帧的编码质量造成影响;而如果场景切换帧不能得到足够的编码资源,又会到处场景切换处视频质量的突降。

为了缓解编码器缓冲区的压力,同时也满足视频通信的实时性,本文提出了一种结合跳帧控制的场景切换处理方法。在检测到场景切换之后,首先丢弃编码器缓冲区内所有未发送的已编码帧,并通知解码端哪些帧被跳过。在解码端,直接用跳帧前最后接收到的一帧代替跳过的帧。

通过缓冲区占用度和当前GOP各帧编码产生的实际比特数可以很容易的确定跳过的帧中是否包含I帧。新GOP所包含的帧数根据跳帧中是否包含I帧确定。若跳过的帧中包含I帧,相当于将当前GOP之前的一个GOP的长度延长了。此时,新的GOP由当前GOP的剩余帧组成。若跳过的帧中不包含I帧,则将当前GOP剩余帧和下一个GOP包含的所有帧一起组成一个新的GOP,场景切换帧作为此新GOP的第一帧。新GOP的初始QP通过类似JVT-G012的初始QP选择过程由bpp(bit per pixel)和当前可用信道带宽共同决定。

3 仿真结果分析

为了检验本文所提算法的性能,在H.264标准参考编解码程序JM12.2的基础上进行了仿真[7]。在仿真中,采用了H.264的基本配置(baseline),GOP长度为30帧,GOP结构为IPPP,目标码率为96kbps,编码帧率为30fps,基本单元大小为11,RDO开启,参考帧数为1,运动估计搜索范围为16。

仿真中使用了两个从标准QCIF 4:2:0格式测试序列Grandma和Foreman截取不同数量帧组成的含有场景切换的构造序列。其中,构造序列G32F58从Grandma中取32帧,从Foreman中取58帧;构造序列G45F45从Grandma和Foreman中各取45帧。

由于两个构造序列中场景切换出现的位置不同,对其进行的处理也不同。在序列G32F58中,场景切换出现在第33帧,由于此时编码器缓冲区占用度较高,还没有传输完原第2个GOP的I帧(第31帧)及其后的P帧被跳过。在解码端,用这两帧之前的最近一帧代替这两帧,即上一个GOP最后一帧(第30帧)。由于跳过的帧里包含I帧,故新的GOP由编码为I帧的场景切换帧(第33帧)和原第2个GOP中的剩余帧共同组成。而在序列G45F45中,场景切换出现时,当前GOP的I帧已经传输完毕。按照本文所提算法,跳过所有未开始传输的已编码P帧,并用之前的一帧代替这些帧。此时,新的GOP由当前GOP的剩余帧和原属于下一个GOP的各帧共同组成。

表1给出了两个测试序列分别在本文所提码率控制算法和JVT-G012控制下的编码结果。从表中可见,和JVT-G012相比,本文所提码率控制算法显著的提升了整个序列的平均PSNR,同时实际码率接近JVT-G012的实际码率。

图2和图3分别是序列G32F58在本文所提码率控制算法和JVT-G012控制下的PSNR比较图和编码器缓冲区占用度比较图。从图中可见,在JVT-G012控制下的视频序列的质量在场景切换后有较大的下降,且编码器缓冲区占用度较高。

与JVT-G012不同,从图2中可见,在本文所提码率控制算法控制下的视频序列在场景切换后不仅有较高的平均PSNR,GOP间的PSNR波动也比JVT-G012小,在本文所提码率控制算法控制下的视频序列的客观质量和主观质量都超过了JVT-G012控制下的视频序列。

从图3中可见,本文所提码率控制算法在场景切换处通过合理跳帧,即保证了新场景有足够的编码资源可以使用,又避免了可能出现的编码器缓冲区上溢。对缓冲区尺寸要求较低的特点使本文所提算法尤为适合应用于无线视频通信中。

图4和图5分别是序列G45F45在本文所提码率控制算法和JVT-G012控制下的PSNR比较图和编码器缓冲区占用度比较图。从图4中可见,本文所提码率控制算法控制下的视频序列没有发生在JVT-G012控制下出现的PSNR波动,这意味着本文所提算法在场景切换之后有更好的主观质量。

和G32F58序列不同,G45F45序列中场景切换发生时跳过的都是P帧。由于跳过的P帧数量较多,场景切换前数帧的主观质量会有相应的下降。而通过跳帧,在JVT-G012控制下发生的PSNR突降和波动得以避免。相比之下,得大于失。

4 结语

针对视频通信中编码器缓冲区较小和实时性要求较高的特点,本文提出了一种新颖的基于场景切换检测的H.264帧层码率控制算法。实验证明,本文所提算法在图像的客观质量、主观质量和编码器缓冲区占用度三方面都胜过了JVT-G012。该算法计算复杂度低,实时性好,实现容易,适合应用在视频通信领域中。

摘要:H.264采用的码率控制算法JVT-G012在信道带宽和压缩后图像质量之间取得了不错的平衡。然而,由于没有考虑到场景切换,在JVT-G012控制下包含场景切换的视频序列压缩后的视频质量往往有较大波动。为应对视频通信中可能出现的场景切换,提出了一种新颖的基于场景切换检测的H.264帧层码率控制算法。首先,提出了一种基于宏块级亮度直方图差异的场景切换检测方法。然后,使用结合跳帧控制的可变长GOP处理检测到的场景切换。仿真结果显示,和JVT-G012相比,所提码率控制算法能够有效应对视频序列中可能出现的场景切换,在同等码率下显著提高整个序列的平均PSNR,并且保持了较低的编码器缓冲区占用度。

关键词:H.264,码率控制,场景切换检测

参考文献

[1] Li Z,Gao W,Pan F,et al.Adaptive basic unit layer rate control forJVT.Joint Video Team of ISO/IEC MPEG and ITU-T VCEG,JVT-G012r1,2003

[2] Jiang M.Ling N.On enhancing H.264/AVC video rate control byPSNR-based frame complexity estimation.IEEE Trans on ConsumerElectronics,2005;1(51):281—286

[3] Lee C,Lee S,Oh Y,et al.Real-time H.264 rate control for scene-changed video at low bit rate.ICCE.2007;2007:1—2

[4] Lee J,Shin I,Park H.Adaptive intra-frame assignment and bit-rateestimation for variable GOP length in H.264.IEEE Trans on Circuitsand Systems for Video Technology,2006;10(16):1271—1279

[5]余成伟,陆建华,郑君里.基于场景切换的H.264码率控制技术.清华大学学报(自然科学版),2007;7(47):1133—1136

[6] Lee J,Dickinson B W.Temporally adaptive motion interpolation ex-ploiting temporal masking in visual perception.IEEE Trans on ImageProcess,1994;3(5):513—526

[7] JM reference software version 12.2.http://iphome.hhi.de/sue-hring/tml/.2007—8

高码率图像采集处理技术研究 篇2

当前, 图像采集和处理技术的发展十分迅速, 它和计算机技术一起, 在很大程度上帮助了我国进入数字化时代, 越来越多的场合需要用到数字图像技术, 多样化的图像和视频应用, 形象生动的表达了传统的媒体所不能传递的信息, 结合强大的通讯网, 很大程度上丰富了人民的业余文化生活。同时由于很多行业需要使用高清图像的实时监测和数据分析, 高码率的图像采集方法也已经成为工业中的重要技术之一。

在监控、高清电视转播、卫星图像传送等领域, 传统的压缩严重、码率较低的图像已经不能满足当前社会发展的需求, 由于软硬件技术的飞速发展和市场的需求, 高码率甚至是无损的图像以及视频数据已经不是硬件资源的瓶颈所在。发展先进的高码率数字图像采集和信号处理技术, 成为目前科研院所和企业研究的热点。

二、研究现状

我国电子技术的发展滞后于西方国家, 体现在核心技术上专利和技术积累的不足, 近年来国家层面上对集成电路等技术的支持力度十分显著, 标志着我国芯片技术的从无到有, 从弱到强。而这些硬件技术的发展, 对高码率数字图像在内的新兴行业带来了蓬勃的生机。

成像设备的是数字图像技术发展的基础, 我国当前生产CMOS以及CCD模块的厂家数量逐年增加, 例如中安视讯公司采用PCIe x1接口的视频采集卡, 在两路模拟视频信号采集下已经可以实现720x576x24bit的速率, 达到的水平也逐渐跻身国际前列[1]。

但是, 我们应该看到, 在高清成像技术的高端市场上, 索尼、尼康、苹果、Coreco等老牌的图像厂商无论是在硬件核心器件, 还是在后期图像的算法处理上, 都处于绝对的领先地位。

Coreco的一款图像采集卡系列甚至达到了1GB/s的高速数据量吞吐。但是, 中国市场的巨大带来的研发热潮是其他国家和地区所不能比拟的, 处于高速发展时期的中国, 无论是在高清电影拍摄等民用或者工业市场, 还是在国防、勘探等关系到国家利益的重大层次, 都对高码率的图像采集和处理技术保持着研发的热情。

三、高码率图像采集处理的技术实现要求

全高清时代的到来, 使得硬件设备更新换代的速率不断提高。传统的低码率图像传输使用场合受到的限制越来越多, 而对传统设备和技术的改进是一项巨大的工程, 特别是我国这样庞大的一个基数量级。设计和研究高码率的图像采集和处理技术, 需要注意以下几点:

1、系统的开放性以及兼容性:

众多的老设备不可能在很短的时间内迅速更换, 要最大程度的保留兼容的解决方案, 同时, 采用开放的系统接口, 满足不同设备的最低开销的使用;

2、技术实现下的经济效益最优化:

在满足技术指标的同时, 尽可能使用性价比高的设备以及容易实现的软件方案, 保证系统的实用性和经济性;

3、灵活的框架以及维护的便捷性:

高码率图像采集和处理技术的核心部件价格昂贵, 用户可以根据需求选择外部组件的配合使用, 保证了物尽其用。同时, 灵活的框架允许维护的过程更加简单, 节约了人力物力;

4、安全性和稳定性:

图像数据大部分存储在机器本地, 需要进行严格的分级加密保存和提取。但是涉及到需要使用网络进行远程传输的信号, 需要算法加密, 防止信息截取。

四、高码率图像采集处理技术的方法研究

随着电子技术和大数据时代的激发, 图像以及视频处理领域对更大的数字信号数据量的存储和处理需求提出了更高的诉求。

一般的, 高码率数字图像的采集涉及到很大的数据带宽, 这就需要很高的信号处理芯片级别, 传统的单片机肯定是无法满足要求的, 多数情况下, 使用ARM处理器, 嵌入式的Linux系统以及高速的DSP+FPGA方案实现[2]。

硬件方面, 高码率的图像信号采集和处理技术主要基于FPGA和高速并行DSP处理器完成数字信号的检测和处理, 同时对硬件的设计加以优化, 对程序控制中的时序进行严格把控, 使系统的稳定度和处理效果达到较好的水准。在高速信号处理过程中, 信号的传输质量始终关系到整个系统的运行。

传统的单端信号传输方式, 功耗和速度都已经难以适应芯片的发展。采用高速差分信号传输, 是一种抗共模干扰能力很强的新型数据传输方案。LVDS是满足FPGA和DSP之间高速高效数据传输的常见的差分接口, 主要用于诸如高清视频转发、遥感数据采集等高速数据传输连接之中, 是一种低压、差分信号的传输[3]。LVDS规定了驱动器和接收器的电气特性。使用LVDS的模数转化器, 不仅可以保证其高性能的转化, 并且能够实现高速数据传输。

在高清电影拍摄、高清视频实时转播、卫星图片传输等系统采用的高码率传输设备, 数据量可以达到甚至是超越Gbps, 这就需要除了控制硬件采集信号的质量之外, 对软件算法不断加以优化。

在视频压缩与编码部分, 不同的压缩算法决定了图像的质量和编码效率。在DSP+FPGA的高码率图像数据采集和处理方案中, 软件系统采用合适的无损/有损压缩, 配合优化的通讯协议和存储规则。[4]在FPGA上实现实时的高速算法, 确保成像质量。

五、结语

数字图像技术的诞生是人类历史上值得纪念的一项伟大技术, 伴随着图像采集和存储的发展, 特别是随着计算机技术的突飞猛进, 高码率图像信号采集和处理技术不断发展。现代工业测控领域很多应用中需要将高码率的图像数据信号实时地接收、处理并存储, 如工业监控图像数据采集、雷达视频回波信号数据采集, 以及卫星图像数据信号的采集等。本文研究了高码率图像采集处理的关键技术, 具有一定的现实指导意义。

参考文献

[1]吴振锋.基于FPGA的Camera Link相机图像采集及处理技术研究[D].哈尔滨工业大学, 2013.

[2]曾霞霞, 张小进-嵌入式系统视频图像压缩技术的研究, 《唐山学院学报》, [J]2010

[3]彭加进.基于JPEG图像压缩的嵌入式视频采集处理系统[D].河海大学, 2007.

多码率RA码的设计与仿真 篇3

关键词:RA码,删余,多码率,BER

0 引言

在大多数无线通信系统中, 信道是随时间变化的。为了使信道的频谱资源得到有效利用、系统的吞吐量达到最大化, 通信系统中常采用多码率的纠错码。删余算法[1]是一种常见的多码率设计算法。删余算法是从一个低码率的母码出发, 通过删去某些校验节点来获得一组性能较好的高码率码字。本文针对码率为1/3的具有优越性能的RA码[2]的结构, 研究三种删余方式对其译码性能的影响, 最后总结得出最佳的删余方式, 构造一组性能优异的多码率的RA码。本文所构造的多码率的RA码, 码率能够在很大范围内变化, 且在高斯白噪声 (AWGN) 信道下具有较好的BER性能。

1 RA码

RA码是一种最简单的类Turbo码, 即一种简单的串行级联码, 编码极其简单, 具有线性编码复杂度, 如图1所示。RA码的两个分量码分别是码率为1/q的重复码和码率为1的卷积码, 它们之间通过一个交织器 (或者还有组合器) 相连。

RA码的译码通常采用基于因子图的BP算法[3], 具有很低的译码复杂度和接近Shannon限的优异性能。如图2所示, 在RA码的译码过程中, 定义以下参数:信息节点u到校验节点c的m[u, c];校验节点c到信息节点u的m[c, u];校验节点c到奇偶节点y的m[c, y];奇偶节点y到校验节点c的m[y, c]。

2 删余算法

删余[4,5]后的码元的信道信息用0表示, 表示此码不经过信道传输。删余有很多种方式, 本文研究以下三种删余算法对多码率RA码性能的影响, 从而确定一种好的删余方式, 构造一组性能优异的多码率RA码。设置RA码母码参数如下:码长为N, 重复次数为q, 信息位长度为K, 则初始码率Ro=K/N, 删余后的码率为Rm, 那么要删余的比特数量Np=N* (1-Ro/Rm) 。

1) 随机删余

随机删余是一种比较简单的删余算法, 要删余的检验节点的位置由随机数生成。具体算法如下:先由随机数生成Np个不重复的数, 把Np数所对应位置的校验节点的信道信息用0表示, 则删余算法完成。

2) 间隔删除算法

针对RA码的累积结构, 间隔删余算法为保证译码时信息的有效传递, 通常是在两个未删节点中, 删除固定数量的比特。具体算法如下:若删除后的码率小于2/3, 则隔一个删一个;若大于, 则计算删除的个数与未删除的个数的比, 然后向上取整, 根据这个比确定每隔一个码元至少删几个。

3) 均匀删除算法

均匀刪余算法就是要让刪余码元均匀的分布在校验节点上。首先计算删除的校验节点个数与未删除的校验节点个数之比, 向上取整, 得K。K表示每个位置应连续刪余的码元个数。接着, 令未删除的校验节点固定, 每两个未刪余节点之间作为刪余位置。从刪余位置中随机选择若干个分别插入K个刪余校验节点, 直到刪余校验节点的数量达到要求。这样处理后, 码序列就删除得非常均匀了。

3 仿真结果

本文给定的RA码母码, 其码长为3072, 重复次数为3, 信息位长度为1024, 初始码率为1/3。若删余后的码率为Rm, 则要删余的比特数Np=N* (1-Ro/Rm) 。图3, 图4给出, 采用第2节三种删余算法设计的多码率RA码的仿真性能的比较。从图3中可以看出, 在BER=10-4的情况下, 在码率0.4, 0.5, 0.6时, 均匀删余设计的多码率RA码有性能优势, 相比间隔删余有0.1 d B的性能增益;比随机删余分别有0.1, 0.2, 0.7 d B的性能增益。在BER=10-4的情况下, 在码率为0.6时, 均匀删余与间隔删余性能相近, 较随机删余有0.6 d B的性能增益。从图4可以看出, 在BER=10-4的情况下, 在高码率0.7, 0.8时, 间隔删余具有明显的性能优势, 相比随机删余有0.4 d B的性能增益;而均匀删余在BER=10-3时, 已出现明显的错误平台。

根据仿真结果分析, 可以构造一组BER性能优异的多码率RA码:在码率低于0.6时, 此时采用均匀删余算法设计;在码率高于0.6时, 此时采用间隔删余算法设计。

4 结语

本文针对RA码的特殊结构, 分析了多码率RA码的设计方案。通过大量的计算机仿真, 分析比较了采用三种删余算法设计的多码率RA码, 在码率从13到0.8的范围内的BER的性能。在对三种删余算法分析的基础上, 构造了一组多码率RA码, 本文所构造的多码率RA码具有较优的性能优势。

参考文献

[1]肖旻, 黎勇, 王琳.码率自适应LDPC码删余算法[J].应用科学学报, 2011, 24 (9) :385-389.

[2]Divsalar D, Jin H, Mc Eliece R.Coding theorems for Turbo like codes[A].Proceedings of the 36th Annual Allerton Conference on Communication Control and Computing[C].1998, 9:201-210.

[3]王琳, 徐位凯.高效信道编译码技术及其应用, 北京:人民邮电出版社, 2007.

[4]J.Ha, J.Kim, D.Klinc, and S.W.Mc Laughlin, Rate-compatible punctured low-density parity-check codes with short block lengths[J], IEEE Trans.Inf.Theory, 2006, 52 (2) :728-738.

一种宏块级码率控制方案 篇4

对于视频通信,由于通信带宽有限,需要对视频编码码率进行控制,以保证信道带宽的充分利用和在接收端有良好和稳定的接收质量。现有的视频压缩标准都对其进行了广泛的研究。针对不同的应用场合,专家们提出了多种码率控制策略,较为经典的算法有:MPEG-2的TM5、MPEG-4的VM8[1]、H.263的TMN8[2],以及H.264AVC中采用的JVT-G012等码率控制算法[3]。JVT-G012算法对于宏块级码率控制,在实际实现中,不仅需要保存每个宏块的相关参数,而且每个宏块在编码之前都要进行参数的更新并求解二次方程,计算复杂度较高,不能很好地满足实际应用的需要。

如果能在RDO模式判别前可以预测出当前帧的编码复杂度、计算出达到目标比特数所需的量化级当然最好,但在RDO模式判决之前能得到的信息很少,主要是利用与参考宏块的相关性来预测,这在序列变化剧烈和场景发生变化的情况下很难预测准确。宏块级码控与帧级码控相比,优点当然是控制准确,缺点就是要花费很多比特数去编ΔQP。ΔQP越大,不为零的数越多,所耗的比特数就越多,PSNR值就会相应降低,图像质量也就相应变差。所以宏块级码控方案应该尽量减少不必要的比特数浪费,以求在控制精度的同时有较高的图像质量。

2 宏块级码率控制算法

在CAVLC中对DCT系数采用游程编码,而游程编码主要是对零的游程长度和非零数进行编码,所以在一定程度上游程长度和非零数可以反映出对DCT系数编码所耗的比特数。因此,可以利用DCT系数量化后零的游程和非零数来预测出DCT系数编码所耗的比特数[4]。宏块的头信息主要包括宏块类型、参考索引、运动向量差值、编码块模式、量化参数差值等,其中只有运动向量差值是随着情况的不同而大量变化的,其他参数所用比特数基本上相对固定[5]。本文用运动向量的个数和运动向量差值的非零数预测宏块头比特数。但在H.264编码中不管是要得到游程长度和非零数,还是要得到运动向量差值都必须先确定量化参数,这就是所谓的“蛋鸡悖论”。本文的方法是先利用前一宏块的量化参数进行模式判决和量化,然后根据量化后的信息估计当前宏块可能产生的比特数,并与目标比特数进行比较,来判断当前宏块的量化参数是否变化,若变化则用新的量化参数重新进行模式判决(只需用新的QP确定系数λ重新进行比较和判断)和量化。若量化参数经常发生变化,不仅码控复杂度会大大提升,而且需要消耗大量比特数对ΔQP编码。因此在保障控制准确的基础上,应尽量减少量化参数的变化,避免不必要的比特数浪费,提高图像质量。

本文的码率控制算法除每个GoP中的第一个P帧外,对所有其他帧间预测的帧进行控制。如果对每个GoP的第一个P帧也采用相同的码率控制算法,则由于P帧图像和I帧图像在编码特性上的差异,码率控制会有较大误差,因此沿用JVT-G012的方法,对于每个GoP中I帧和第一个P帧采用预定义的量化参数进行编码,码率控制只对每个GoP的第二个P帧开始的所有帧间预测图像进行控制。此外,在GoP、帧级目标码率分配上,本文算法使用的是JVT-G012的方案。

本文算法主要包括以下几步:

1)根据带宽和输入序列格式确定一组系数(a,b,c)和阈值THMAX;

2)为宏块分配目标比特数;

3)采用JVT-G012的方法用预定义的量化参数对I帧和第一个P帧进行编码;

4)从第二个P帧开始,第一个宏块的量化参数使用前一帧的平均量化参数;

5)根据运动向量的差值确定当前宏块头的比特数;

6)根据亮度和色度量化后零的游程长度和、非零数的数目及非零数的和来预测当前宏块残差值产生的比特数;

7)根据5),6)两步,预测当前宏块有可能产生的比特数并与目标比特数进行比较,确定当前宏块的量化参数是否发生变化,若变化则用新的量化参数重新进行模式判决和量化,否则继续进行编码;

8)若当前宏块模式是帧内和跳过模式,量化参数与前一宏块量化参数保持一致。

3 宏块级目标比特数的分配和当前宏块所耗比特数的预测

现有的码控方案主要包括两个方面,一个是根据带宽分配目标比特数,另一个就是建立一个量化参数与目标比特数的模型,然后根据这个模型计算出达到目标码字所需的量化级[6,7,8]。本算法并没有建立一个RQ模型,而是通过前一量化参数进行模式判决和量化,再通过量化后信息预测当前宏块有可能产生的比特数并与目标比特数比较,来判断当前宏块的量化参数增加、减少或不变。

1)宏块级目标比特数的分配

(1)使用JVT-G012的方案为GoP和帧分配目标比特数Frbits;

(2)宏块目标比特数MBtbits的分配主要由先前宏块所耗比特数Src_bits和剩下多少个宏块Units决定

MBtbits=(Frbits-Src_bits)/Units

2)当前宏块所耗比特数的预测

DCT系数所耗比特数TBmb(qp)的预测

TBmb(qp)=a×Xmb(qp)+b×Ymb(qp)+c×Z(mb)

式中:Xmb(qp)为DCT系数量化后非零数的个数;Ymb(qp)为DCT系数量化后零的游程长度和;Zmb(qp)为量化后AC系数非零数的和。

宏块头所耗比特数HBmb(qp)的预测

HBmb(qp)=m×MVn(qp)+n×MVDnz(qp)

式中:MVn(qp)为运动向量的个数;MVDnz(qp)为运动向量差值非零的个数。

计算预测的宏块比特数TBmb(qp)+HBmb(qp)与宏块分配的目标比特数MBtbits两者的差值

Difbits=TBmb(qp)+HBmb(qp)-MBtbits

并与阈值THMAX比较:若abs(Difbits)>THMAX),DeltaQP=1,否则DeltaQP=0;若(Difbits>0),QP+=DeltaQP,否则QP-=DeltaQP。

可以通过调节阈值THMAX和系数a,b,c来实现在保证精度的情况下,充分利用比特数提升图像质量。

4 实验结果和分析

在JVT的校验模型JM86上实现了笔者提出的码率控制策略,并和JVT提案中的码率控制策略JVT-G012进行比较。实验使用标准的CIF测试序列:news,bus,foreman,mobile,football和tempete。实验条件按照实际应用要求确立,帧率为25 f/s(帧/秒),给定第一个I帧的QP为28,其他测试条件如表1。实验结果如表2所示。

由表2可见,本文的码率控制算法码率控制得很好,PSNR值也很高。

为了更清楚地表明这两种码率控制的效果,图1给出两种方法下foreman和tempete各帧的PSNR,本算法PSNR变化比JVT-G012平缓,具有较高的主观视觉质量。图2给出了两种方法下foreman和tempete各帧的比特数,本算法各帧所产生的比特数与目标比特数的匹配情况比JVT-G012更好,更精确地计算出了达到目标比特数所需的量化级。

5 结语

本文所述码率控制算法先用前一宏块的量化参数进行模式判决和量化,然后使用量化之后的信息估计当前宏块有可能产生的比特数,因为是利用当前宏块量化后的信息来估计当前宏块有可能产生的比特数,估计准确性比较高。而且本算法只是利用已有的信息进行简单的线性运算来判断当前宏块量化参数是否发生变化,然后在极少量化参数发生变化的宏块中用新的量化参数重新确定系数λ,重新进行模式判决和量化,计算复杂度低,大大加快了编码速度。本算法是一种建立在简单率失真模型基础上的宏块级算法。该算法充分利用了宏块的实际编码特性,在保证码率控制准确性和图像质量的前提下,大幅提高了码率控制速度。

参考文献

[1]LEE H J,CHIANG T.Scalable rate control for MPEG-4video[J].IEEE Trans.Circuits and Systems for Video Technology,2000,10(6):878894.

[2]RIBAS-CORBERA J,LEI S.Rate control in DCT video coding for low-delay communications[J].IEEE Trans.Circuits and Systems for Video Technology,1999,9(1):172-185.

[3]LI Z G,PAN F,LIM K P.Adaptive basic unit layer rate control for JVT,JVT-GO12[C]//Joint Video Team of ISO/IEC and IIU7th Meeting.Pattaya,Thailand:JVT,2003.

[4]CHAN D-Y,CHANG C-Y.Low-complexity two-stage rate-controlwith succinct DCT-abundance modeling and consistence enhancement for low-delay video coding[R].JVCI-08-371.

[5]ISO/IEC JTC1/SC29/WG11and ITU-T SG16Q.6,H.264/MPEG-4AVC Reference Software Manual[S].2005.

[6]TSAI J C,HSIEH C H.Modified TMN8rate control for low-delay video communication[J].IEEE Trans.Circuits and Systems for Video Technology,2004,14(6):864-868.

[7]CHIANG T,ZHANG Y.A new rate control scheme using quadratic rate distortion model[J].IEEE Trans.Circuits and Systems for VideoTechnology,1997,7(1):246-250.

全台网低码率存储解决方案 篇5

1 电视台对存储需求分析

目前电视台全台网或大型的资料管理系统一般都采用FC+以太的双网结构模式, 高码率视频文件、低码率视频文件和音频文件都集中存储在同一个光纤通道存储设备上, 几乎所有的工作站都是通过光纤通道HBA卡和光纤通道交换机与核心的光纤存储连接, 对同一核心存储同时进行读写访问。这种将所有素材和节目集中式存储在单一的设备上的数据存储方式大大降低了数据的安全性及整个系统的高可用性, 一旦核心存储发生故障, 整个系统将会瘫痪。同时双网结构系统中的服务器和工作站需要安装FC HBA, 网络中需要大量光纤通道交换机, 因而也大大增加了系统的建设成本, 相当大的一部分投资要用来购买光纤通道网络设备和光纤存储。

实际上, 电视台全台网工作流的不同环节对于存储的需求并不是完全一致的, 对存储设备的带宽和容量要求不同。在节目收录、上载、和编辑制作环节, 工作站一般需要对存储设备进行高码率的流媒体方式读写, 存储设备要求具有恒定的大带宽, 但由于高码率文件的在线时间一般为7天或15天, 超过在线时间的高码率素材会被自动删除, 因此占用的容量不会很大。而在节目素材的编目、检索查寻和媒资管理环节, 工作站一般都只对低码率文件进行读写操作, 因此对存储设备的带宽和性能要求较低, 但由于低码率文件的占线时间较长, 一般都为半年到一年, 个别大型的全台网和媒资系统要求低码率文件长年基本永久在线, 存储低码率文件所需要的容量就会非常大。如果低码率文件和高码率一起都存储在价格昂贵的光纤通道存储设备上, 那么光纤通道存储的购置成本就会非常高, 而且, 全台网中的编目工作站、检索工作站以及其它的需要进行低码率文件读写的工作站数量一般都是几十台, 甚至上百台, 与之相关的存储共享管理软件的购置费用也会非常多。

同时由于高低码率工作站需要从同一个存储设备中共享地读写文件, 因此高低码率工作站就必须设置在同一个网段中, 且处于同一个网络安全级别, 这种应用方式完全违反了网络安全和数据安全的分级管理原则, 极大地降低了网络系统防黑客攻击和防病毒的能力。

2 UIT集群NAS解决方案

我们建议在全台网中采用UIT BA1800集群NAS来作为低码率文件存储设备, 实现高码率文件和低码率文件的分设备存储和分级管理。

采用UIT BA1800集群NAS作为低码率文件存储具有以下意义:

(1) 低码率存储采用相对低成本的NAS设备, 有利于大幅度降低系统的建设成本, 将有限的资金投入用于核心或关键设备的购置。高低码率文件存储设备分开, 有利于更充分地利用高码率存储设备性能, 降低高码率存储设备的购置成本。

(2) 集群NAS设备自带强大的存储共享功能, 可以大幅度降低存储共享管理软件的购置成本。

(3) 采用独立的低码率存储设备, 就可以实现高低码率工作站和服务器的网络安全分级, 将高低码率工作站分别设置在不同的网段中, 如将高码率和域服务器、数据库服务器、中间件服务器、迁移服务顺等关键服务器设置在内部中, 将所有编目工作站、检索工作站等低码率工作站设置在外网中, 有利于提高整个系统的网络安全管理能力, 减少低码率工作站的后期维护工作量。同时NAS存储设备一般都采用非Windows操作系统, 网络系统的防病毒能力也会大幅度提高。

3 UIT BA1800简介

3.1 高性能

UIT BA1800采用专用的网络传输处理芯片和多路BroadCom存储芯片, 对整体硬件平台作了针对存储应用的优化, 使其具有更高文件处理能力, 优异的数据传输速度和效率。BA1800专业的数据处理引擎使其具有优异的性能, 保证了数据的绝对一致。传统的NAS设备通常使用通用的硬件平台和服务器处理器。

BA1800硬件配置采用基于2×64bit (RISC) CPUs, pipeline架构, 专用TCP offload引擎和硬件来加速提供更高的I/O性能, 这是高性能FC存储设备才会使用的硬件架构, 因此, BA1800从硬件平台方面就可以保证具有非常高的性能。而普通NAS厂商一般采用PC架构, 也就是说其NAS设备的硬件部分就只是一个普通PC服务器。

在软件平台方面, UIT BA1800采用UIT独有的EverON操作系统软件, 可提供高稳定性和高性能的、基于多路高可用系统的集群NAS功能。每个网关最大可达到300MB的吞吐量和每秒36000个操作。这样的带宽和IOPS性能是市场任何的中高端NAS产品都无法比拟和超越的。

3.2 性能可扩展的高可用系统

业务系统环境中的存储设备性能是随需求而变化的, 在使用多路高可用系统时, BA1800集群NAS能随时满足因系统变化产品的性能扩展和容量扩展。在几分钟内可以通过增加NAS控制器来增加整个存储系统的带宽和IOPS性能, 通过增加后端存储来增加整个存储系统的容量, 无须做数据迁移或者用户迁移。BA1800集群NAS能提供线性性能扩展, 每个存储点都可以提供相同高带宽。

BA1800集群NAS存储系统最大支持8个控制器节点, 常见大型业务系统配置4个控制器即可以满足需求。普通NAS厂商所谓高端存储设备仅支持2个控制器节点。

3.3 多路集群的灵活架构

UIT BA1800控制器的软硬件数据和操作记录全部记录在后端SAN盘阵上, 控制器内部是无盘的, 也没有非易失性内存, 其多路集群能力远胜于传统的双机结构。多路集群技术无需同步缓存, 集群内的NAS控制器之间唯一共享的信息就是每个NAS控制器的健康状态和SAN映射。

3.4 VServer虚拟服务器技术

(1) 业务隔离

BA1800集群内置最新流行的虚拟服务器技术。虚拟服务器技术的核心思想是在一台物理的集群NAS控制器创建多个虚拟服务主机, 不同的虚拟服务器负责不同客户端、或不同类型的业务、或不同的部门群组。每一个虚拟服务器对客户端来讲都相当于一个独立服务器。

BA1800可按业务系统、数据安全级别、用户分组和用户权限来创建不同虚拟服务器, 这个功能极大地提高了对业务、用户和数据的可管理性, 有利于隔离存储数据和访问通道, 保障重要数据的安全, 保障核心应用系统的可用资源。这种高级功能是其他任何存储产品都不具备的。

(2) 负载均衡及Failover

虚拟服务器技术除了提供数据隔离和访问隔离功能外, 更重要的是通过虚拟服务器功能来提供CLUSTER以及自己failover功能。

当某一个NAS控制器发生故障时, 该控制器上负责关键业务的虚拟服务器会快速切换到另一台虚拟主机上, 虚拟服务器的配置、路径信息等各种参数保持与原NAS控制器完全相同。客户端对存储的访问不会中断, 访问方式和路径不变。

虚拟服务器的业务级别可以根据所负担业务的变化随时进行调整, 变更其级别、服务性能、技术参数以及可使用占用的硬件服务器资源。虚拟服务器还通过手工方式从一台NAS控制器切换到另一台NAS控制器、或新增加的NAS控制器上, 从而主动、有效地均衡各个NAS控制器上压力。

(3) 性能扩展

虚拟服务器技术的实现使得BA1800的性能扩展和容量扩展非常的方便, 可以在不需要数据迁移和中断用户访问的前提下快速地进行系统升级和扩展。通过扩展控制器数量的方式线形地增加整个存储系统的性能, 满足业务系统压力不断增加的需求。

(4) 可运行管理性

虚拟服务器切换支持自己failover和手动迁移两种方式。手工地把虚拟服务器从一台NAS控制器切换到另一台NAS控制器, 可以定期对NAS控制器进行轮流检修, 消除网关中潜在隐患和故障, 确保存储系统长期稳定运行。

3.5 数据镜像技术

BA1800的数据镜像功能支持从源卷到镜像卷之间的数据镜像复制, 而且在整个数据复制过程中目标卷可实时进行读访问。源卷和镜像卷由同一个NAS控制器和虚拟服务器来管理, 当NAS控制器发生故障时, 负责数据镜像功能的虚拟服务器会自动切换到另一台NAS控制器上, 虚拟14服务器的运行机制保证了存储访问功能和数据镜像功能不会被破坏。当数据镜像中的源卷发生故障时, 用户可实时通过虚拟服务器访问镜像卷, 访问进程不会中断, 数据不会丢失。

码率检测 篇6

GMSK调制是矩阵信号脉冲先通过高斯型低通滤波器, 再进行MSK键控得到的调制方式, GMSK不仅继承了MSK包络恒定、相位连续、带外功率谱下降快、带宽最小且严格正交的特点, 并且信号功率谱密度更加集中, 对邻道信号的干扰进一步减小, 进一步提高了通信质量, 因此应用广泛。

本文首先介绍GMSK的调制解调原理, 然后利用Mat Lab/Simulink对系统进行模拟仿真设计, 并对实验结果进行分析。

GMSK的基本原理

为了提高基本数字调制体制的性能, 人们不断地对调制体制进行改进, 涌现了多种适应不同信道或传输场合的新型调制技术。如MQAM (多进制正交振幅) 调制由于频带利用率高、调制方式灵活, 特别适合应用于频带资源有限的场合, 例如微波通信、卫星通信等。OFDM (正交频分复用) 作为一种有效的多载波并行传输方案, 具有抗多径衰落的能力, 适应于衰落严重的无线信道传输系统中, 例如第四代移动通信系统。MSK (Minimum Frequency Shift Keying, 最小频移键控) 调制和GMSK (Gaussian Minimum Shift Keying, 高斯最小频移键控) 调制也属于新型调制技术, 都是改进的FSK (Frequency Shift Keying) 调制技术。

GMSK的调制方法

FSK调制的最简单形式是二进制频移键控2FSK (2 - ary Frequency Shift Keying) 。2FSK调制是利用两个不同频率的载波信号来传输一个二进制的信息序列。2FSK调制抗干扰能力强, 特别适合应用于信道参数变化的衰落信道, 并且易于电路实现, 缺点是占用的频带较宽, 即频带利用率较低;若用数字键控法得到2FSK信号, 频率跳变的码元对应的信号之间相位可能不连续, 这就使得在解调时通过带通滤波器后的信号包络不连续, 影响解调性能。为解决这一问题, 对2FSK调制进行改进, 提出了MSK调制。MSK信号时域振幅连续, 且相位连续。MSK中的“M”表示“Minimum, 最小”, 这个“最小”指的是2FSK两种码元容许的频率间隔最小, 而2FSK带宽为B2FSK=|f2-f1|+2fs, 若频率间隔最小, 则占用的带宽最小, 因此MSK功率谱更加紧凑, 适合于窄带信道传输。此外, 两个频率的相关函数为0, 满足严格正交条件, 使其误码率性能更好。MSK信号可以用两个正交的分量表示:

根据上式构成的方框图如图1 所示。

MSK虽然带外功率谱下降快, 但仍满足不了一些实际场合对限制带外辐射功率的要求。为了进一步使信号功率谱更加紧凑, 减小信号带宽, 基带脉冲信号首先通过高斯型低通滤波器, 变为高斯型脉冲基带信号, 再对其进行MSK调制, 得到的信号就为GMSK信号, 其功率谱密度的旁瓣偏离中心频率时衰减就会变快, 如图2 所示。

为满足要求, 高斯型低通滤波器应具有以下特性:带宽窄且归一化值小, 便于抑制高频分量;过脉冲响应低, 防止瞬时频偏过大;能够保持滤波器输出的脉冲面积 (对应π/2相移) 不变, 以利于采用相干检测。此高斯滤波器的频率特性表示式为:

其中B为高斯滤波器的3dB带宽。将上式做傅里叶反变换, 得到滤波器的时域特性为, 式中参数, 与3dB基带宽带B有关。

设BNRZ序列为d= (t) ∑akb (t-nb) , ak= ±1 , 则GMSK表达式可记作:

其中, 分别为两个支路上的正交载波信号cosωst及sinωst的系数。

GMSK的解调方法

GMSK可以采用相干解调和非相干解调两种解调方法。两者的区别就在于收发两端需不需要有同步载波。非相干解调方法硬件结构简单稳定, 误码门限低。相干解调的性能较好, 且技术成熟, 但是若存在多径传输引起的衰落则相干解调的性能比理想的性能要差。以相干解调为例说明GMSK的解调方法。

分别对两个支路进行相干解调, 接收机输入信号分别为相干载波cosωst及sinωst相乘, 经低通滤波器后得到基带信号I (t) 和Q (t) , 然后做相位计算。GMSK信号通过上下支路分别与相干载波相乘并进行积分判决, 两个积分判决器并不是同时工作, 而是相差一个脉冲周期Ts, 积分时间都为2Ts。其框图如图3 所示。

系统仿真设计

Mat Lab/Simulink是一种常用的科学计算、工程设计的软件工具。在能够构造出系统的数学模型的前提下, 就可以用Mat Lab/Simulink对系统进行仿真, 具有仿真精度高、通用性强、编程简易的优点。特别是对于通信系统的仿真, Simulink包括了许多专业仿真模块库, 如CDMA参考数据库、数字信号处理 (DSP) 模块库、通信系统模块库等。通过这些库, 用户可以快速建立系统模块进行仿真, 而不需要了解模块内部的具体实现环节, 方便复杂系统的建模。Mat Lab提供三种编程方法: (1) M文件编程实现:基于数据流的仿真方法, 用编程语句实现数学关系的表达, 主要用于方程表示和数值求解。编程灵活, 但直观性差。 (2) Simulink方法:基于时间流的仿真方法, 用数学模型建立的系统方框图基础上, 用连接模块的方法实现输入输出关系的表达, 更加直观。 (3) M文件编程与Simulink结合的方法:集合两者的优点, 避免各自的不足。实际较为复杂的通信系统仿真采用此种方法。

一般仿真的步骤是:仿真问题提出—仿真系统分析—建立系统的数学模型—收集数据—根据数学模型建立系统的仿真模型—仿真模型验证—仿真模型的确认—仿真试验设计—计算机仿真模型的运行—计算机仿真结果分析。以下简要说明GMSK仿真的主要步骤。

建立系统数学模型

仿真的目的是为了验证GMSK的性能质量, 主要是可靠性和有效性。其中, 数字通信系统的有效性通过传输速率和传输带宽来衡量, 可靠性即抗噪声性能可由误码率和误信率 (误比特率) 衡量, 通过改变信道的参数SNR改变解调器的输入信噪比计算误码率。首先根据目的进行仿真分析, 明确系统由信号发生器、信号变换器、调制器、信道、解调器及信号反变换器组成。为了统计系统误码率和观察调制器输出信号波形, 还应增加误码率计算模块和示波器, 如图4 所示。

建立仿真模型

根据系统方框图, 在Simulink模块库中找到相应模块进行连接, 即可得到如图5 所示的GMSK系统仿真模型。信号发生器选用Bernoulli Binary Generator (贝努利二进制序列发生器) 模块, 通过Differential Encoder (差分编码器) 模块对输出信号进行预编码, 得到差分信号, 输入到Unipolar to Bipolar Converter变换器将单极性信号变换为双极性信号以便通过GMSK Modulator Baseband (基带GMSK调制器) 进行GMSK调制。选用通信系统常用的AWGN Channel (加性高斯白噪声信道) 模块作为系统传输信道。在接收端, GMSK信号经过GMSK Demodulator Baseband (基带GMSK解调器) 进行信号恢复, 在经过由Bipolar to Unipolar Converter和Differential Decoder组成的信号反变换器恢复二进制序列。

需要注意的是, GMSK信号为复合信号, 需要在示波器之前加入Complex to Real - Imag模块将信号拆为实部和虚部两部分分别进行观察。信号在传输过程中会出现一定的延迟, 可以通过Find Delay (得到延迟) 模块计算信号的延迟量, 然后再将信号发生器产生的初始信号通过Delay (延迟) 模块进行相应的延迟。将经过延迟处理的初始信号和恢复出的二进制序列分别接入Error Rate Calculation (误码率统计) 模块的Tx和Rx端口, 这样就能得出系统的误码率。

系统参数设置

在仿真中, 模块的参数设置直接影响仿真结果和仿真数据的可靠性, 将主要模块的参数设置进行说明。

(1) 贝努利二进制序列发生器:Initial seed (初始种子) :61;Sample time (采样周期) :1/10000;Output data type (输出数据类型) :Boolean (布尔类型) 。

(2) 单极性变换为双极性信号模块:M - ary number (输入信号的阶次数) :2;Output data type (输出类型) :Inherit via internal rule (继承内部规则) 。

(3) 基带GMSK调制器:BT product (BT乘积) :0.3;Pulse length ( 脉冲长度) :4;Samples per symbol (每个符号的抽样数) :8;Output data type (输出数据类型) :double (双精度类型) 。

在整个参数设置中, 主要注意的是Unipolar to Bipolar Converter模块和Bipolar to Unipolar Converter模块里的M - ary number (输入信号的阶次数) 设置, 参数默认值为4, 而仿真中信号发生器输出二进制信号, 因此需要把M - ary number值设置为2, 这样才能保证信号在单极性和双极性之间正常转换, 使整个实验顺利进行。

仿真结果分析

仿真波形

运行GMSK系统仿真模型, 通过示波器可以观察到GMSK信号输出的实部和虚部信号波形。如图6 所示, 上图为实部pk仿真波形, 下图为虚部qk仿真波形。横坐标表示仿真时间, 纵坐标表示信号幅度。理论上, 虽然每个码元的持续时间相等且都为码元周期Ts, pk和qk每经过一个码元周期就改变一次符号, 但不同时改变。通过实验得出的图形可以看出pk和qk确实没有同时改变, 由此就可以验证仿真得出的GMSK波形是正确的, 该仿真模型可靠性强。

系统误码率曲线

误码率是衡量数字通信系统可靠性一个重要性能指标, 表示码元在传输系统中被错传的概率, 误码率= 传输中的误码/ 所传输的总码数 ×100%。仿真中通过Error Rate Calculation (误码率统计模块) 计算误码率, 并输出到工作区。利用M文件中编写的程序, 设置信噪比的不同取值, 通过多次调用利用Simulink编写的gmsk.mdl仿真模型, 得到不同信噪比条件下的误码率, 从而绘制系统误码率与信噪比的关系曲线。

GMSK调制模块中的BT值决定高斯低通滤波器的频域特性, 从而影响GMSK系统有效性和可靠性。BT值越小, 则带外功率谱密度下降越快, 对邻道的干扰就越小, 占用带宽窄;反之, 占用带宽较宽。当BT值趋于无穷大时, 就成为了MSK调制。随着BT值的变化对系统误码率也产生影响。减小BT值在提高有效性的同时, 却使系统的误码率性能变差。由此可见通信系统的有效性和可靠性是一对矛盾, 提高可靠性是以降低有效性为代价的, 在实际中还应考虑两者的平衡性。利用编程设置不同BT值, 得到不同BT值条件下系统误码率随信噪比变化的曲线, 如图7 所示。图中横轴代表信噪比SNR, 纵轴代表误码率, 三条线曲线颜色默认次序为蓝、绿、红, 分别对应BT值为0.1、0.3 和0.9。从图上看出BT值越小, 系统抗噪声性能越差, 由此验证理论。当BT=0.1 时, 误码率最高。而当误码率为0.3 和0.9 时, 误码率差别不大。GSM制的蜂窝网中采用BT=0.3, 达到有效性和可靠性的平衡。

相应的M文件代码为:

semilogy (x, y1, ’ - +’, x, y2, ’ - +’, x, y3, ’- +’) ;% 绘制不同B T值下信噪比与误码率的关系曲线

总结 (150)

GMSK是一种性能优良的数字调制技术, 包络恒定且功率谱密度集中。首先分析其基本原理及调制解调方法, 在建立系统数学模型基础上, 基于Mat Lab/Simulink软件建立具体的仿真模型, 给出主要的参数设置方法, 通过仿真波形验证仿真系统的可靠性。对仿真结果进行分析的结果表明, 系统误码率随输入信噪比增大而减小, 不同高斯型低通滤波器的参数BT取值影响系统误码率与带宽, 根据不同场合需要将有效性和可靠性进行权衡, 通常取BT为0.3 以达到优良的性能。因此GMSK调制技术在GSM系统、军用超短波电台及其他民用领域中受到广泛应用。

码率检测 篇7

最近十年来, Turbo码与LDPC码的出现标志着Shannon的有噪信道编码理论逐步变为现实, 一些行业标准如DVB-S2[1,2]、IEEE802.16e[3]和IEEE802.11n[4]等开始采纳Turbo码和/或LDPC码。为保证性能, 实用的Turbo码或LDPC码的码长较长, 如几百至几万bit, 这些码字具有特殊的结构, 码率也经过了严格筛选, 使用时设计人员常将码长、码率作为不可修改的参数来考虑。

若码长与码率固定, 信道传输速率与业务速率的比值往往是一奇异的非整数, 此时必须解决由此引起的modem非整数成型、内插和数字频率综合等一系列时钟处理问题, 本文目标旨在于此。

1 问题提出

Turbo码与LDPC码均为分组码, 设编码前分组长度为m bit, 编码后分组长度为n bit, 将每个码字作为一帧添加长度为h bit帧头, 则总码率k=m/ (n+h) 。若业务速率为u bit/s, 信道速率为v=u×m/ (n+h) bit/s, 处理流程如图1所示。

一种传统的发端时钟处理方法如图2所示。待发送的连续码流首先进入一片双口Ram缓冲, 写入时钟为码钟clk_code, 缓冲m bit后由另一频率较高的时钟clk_enc快速读入编码器编码;由于编码器为逐个码字输出, 因此还需另一双口Ram将分块不连续的码流转为连续码流, 其速率为v bit/s;为简化设计, 常以调制时钟clk_mod作为clk_enc, clk_mod是发端波形成型时钟, 因此其频率fg应取v的整倍数。码钟clk_code与clk_mod须互锁, 一个模拟锁相环电路必不可少, c1u、c2v是2个互锁频率的分频比, c1和c2为2个常数。

根据分析, 在使用长分组码时遇到以下几点问题:

(1) 当选定的Turbo码或LDPC码的码长很长时, u和v常为2个几百至上万的互质数, 此时不但分频比过大、鉴相频率过低, 而且VCO的标称频率fg也是个奇异的非标值 (v的倍数) , 故需厂家专门定制;

(2) 很多行业标准规定了多种不同码长与码率的纠错码, 如码率1/2、3/4、5/6、7/8和9/10等, 此时对应的设备则要定制多个不同频率的VCO, 电路相当复杂而且无通用性可言;

(3) 传统的解码过程是发送端的逆处理过程;首先由解调器恢复速率为v bit/s的码钟clk_code2, 常用的方法有模拟同步采样恢复与数字内插恢复2种, 利用clk_code2将解调软信息写入双口ram, 然后将该信息送入解码器解码, 输出为不连续码流, 该码流输入另一双口ram缓冲后再利用独立的VCO将码字连续读出。同样的, VCO输出的频率应锁定在clk_code2。

解调钟的频率选择比调制钟更复杂:解调器普遍采用带通采样的方法进行模数转换, 所使用的VCO除受码率约束外还应满足带通采样定理, 这进一步提高了锁相环电路的设计难度。

2 实用的时钟处理方法

2.1 发端时钟处理

传统时钟处理方法的问题在于调制、解调时钟限定为信道传输速率v的整倍数, 若解除这一限制而使用一个通用VCO (如20.48 MHz和50 MHz) , 则整个调制解调器的时钟方案将与纠错码的选择无关, 也就省略了为不同的码字单独定制调试专用锁相环电路的步骤。

对于图2中的处理过程, 提出的设计方法为:选择一个频率为fr的通用VCO既作编码钟clk_enc又作调制成型钟clk_mod, 使fr/u为简单整倍数关系 (例如10/1和25/2等) , 而fr与v无关 (甚至互质) 。由于fr不能整除v, 调制器的成型倍数 (每符号DAC的采样点数) 将变为非整数, 因而调制器的成型处理会稍复杂, 但该问题可通过数字内插来解决, 如图3所示。

假设对调制波形N倍整数成型时相应的采样周期为Tg, N满足采样定理, 如4倍和6倍等;又设DAC的实际采样周期为Tr, 在Tg>Tr的条件下, 设定一累加器ACC的模为Tg, 每个DAC周期ACC的增量为Tr, 则内插算法如下:

(1) 设当前DAC采样时刻为tn, 它位于假想的整数倍采样时刻tg与tg+1之间, 那么使用二阶拉格朗日内插tn时刻DAC的输出值为:

式中, s (tg) 为假想时刻tg的信号值, 对二阶拉格朗日内插情形需使用s (tg-1) 、s (tg) 与s (tg+1) 共3个样值, 即s (tg-1) ~s (tg+1) 为当前内插区间;

(2) 每个DAC周期ACC增加Tr, 若ACC溢出, 则使用N倍成型算法 (FIR滤波法、ROM预存系数法等[5,6]) 计算一个新的假想信号值, 同时使当前的内插区间向前增加一个Tg, 若ACC无溢出, 保持当前的内插区间不变。

2.2 收端时钟处理

设收端ADC采样频率为fr, 对带通采样的情形fr的选定应满足带通采样定理。ADC时钟可与发端DAC时钟共用, 故此处使用相同的符号fr (可参考第3节的计算实例) 。fr与信道传输速率v是无关的, 故每个符号采样倍数不为整数。绝大多数情况, 解调器的输入需要整倍采样, 如每符号4和8点等, 该问题也需通过内插解决, 如图3所示。

设ADC的采样周期为Tr, 待计算的整数倍采样周期为Tg, 若Tg>Tr, 与发端类似可设定累加器ACC的模为Tg, 每个ADC周期ACC增量为Tr, 内插算法如下:

(1) 每个ADC周期ACC增加Tr, 若ACC无溢出, 不做任何处理;

(2) 若ACC溢出表示当前时刻刚刚晚于一个新的假想整倍数采样时刻tg, 因此应输出一个新的整倍数采样点s (tg) , 计算方法仍用二阶拉格朗日内插公式:

式中, s (tn) 、s (tn-1) 与s (tn-2) 分别为当前时刻tn及之前的tn-1和tn-2时刻ADC样值。

利用插入在信道码流中的帧头, 帧同步器可定位码组起始位置, 而后由解码器解出速率为u的业务信息, 解码器逐个码字译码不连续工作, 其输出也必须先送入一个双口Ram缓冲, 该Ram的读出时钟clk_ro可由频率fr的ADC时钟得到, 方法为:设计一标称频率为u的数控振荡器 (NCO) , 该NCO与解调器码钟v互锁, 锁相环一阶或二阶均可。与发端不同该锁相环为全数字锁相环, 不但对分频比、鉴相频率要求宽松, 而且不需任何模拟硬件 (例如不需定制特殊频率的VCO) , 因此可以根据需要随时由软件配置。

3 计算实例

设业务信息速率u为2.048 Mbit/s, 解调器输入中频70 MHz, ADC带通采样, 采样频率fr为100 MHz, DAC与ADC共用频率fr的钟源;又设使用一 (m, n) = (1 728, 2 304) bit的LDPC码字, 取码组帧头h=48 bit, 则码率k=1 728/ (2 304+48) =36/49, 编码后信道速率v=2.787 556 Mbit/s;假设调制方式为BPSK、IJF波形成型, 符号速率为v=2.787 556 Ms/s, 于是:

(1) 发端, 设计一PLL电路使100 MHz的VCO与2.304 MHz的码钟互锁, 则DAC采样率为Nr=fr/v=35.873 724倍;首先采用N=4倍成型, 即每符号计算4个样点, 而后根据这些样点内插得到Nr倍DAC实际输出样点, 计算结果如图4所示。其中标注圆点为4倍成型内插控制点, 实线为35.873 724倍内插后结果;内插后波形无相位失真, 幅度失真小于5% (即40 d B) , 对BPSK影响可忽略不计;

(2) 收端ADC与发端共用时钟, 若解调器每符号拟输入N=4个假想样点, 则根据ADC每符号35.873 724个样点内插得到假想值, 内插结果与发端类似不再绘图。

4 结束语

长分组前向纠错码如Turbo码或LDPC码的编码率多为奇异的非整数, 此时modem往往需要多个PLL电路并定制特殊频率的VCO。提出了一种数字时钟处理方法, 解决了由于纠错而带来的整数倍成型/采样与非整数倍成型/采样的互相转换问题, 该方法不需定制特殊频率的VCO而且只用一个PLL电路, 故颇具实用性。

参考文献

[1]MORELLOA, MIGNONE V.DVB-S2:The SecondGeneration Standard for Satellite Broad-Band Services[J].Proceedings of the IEEE, 2006, 94 (1) :210-227.

[2]陈豪威, 王秀敏.基于DVB-S2标准的LDPC码编译码器设计研究[J].电视技术, 2012, 36 (3) :1-4.

[3]IEEE802.16e.IEEE Standard for Local and MetropolitanArea Networks-Part 16:Air Interface for Fixed andMobile Broadband Wireless Access Systems[S].IEEEstandards, 2006.

[4]IEEE 802.11n.Draft STANDARD for InformationTechnology-Telecommunications and InformationExchange between systems-Local and Metropolitan AreaNetworks-specific Requirements-Part 11:Wireless LANMedium Access Control (MAC) and Physical Layer (PHY) Specification[S].IEEE standards, 2008.

[5]陈艳丽.基于FPGA的参数逐突发可变调制器设计[J].无线电工程, 2011, 41 (5) :59-61.

上一篇:学生伤害事故处理下一篇:个人核心竞争力