MPEG2单机编码器视频噪声产生机制及降噪措施造成老前处理板视频信噪比差,噪声谱在4.43Mhz有尖峰的 原因主要有两点:一是老板元件布局走线不合理、模拟地与数字地交叠,造成 模拟处理部分噪声比较大另外一个的原因是22153控制输出数据位数的寄存器配置错 误,22153输出送到编码芯片处理的都是8位数据,而这个寄存 器选择的是输出10位数据,变成了从10位数据中截取高8位去 编码,从而产生截取误差,这也是高频噪声(最明显表现在 4.43Mhz有尖峰)产生的主要原因新前处理板改进了 PCB元件布局,采用两面布元件,元件放 置位置以视频信号走线距离尽可能短为原则,布地采用模拟数字 地完全分开的方法,模拟电路部分下只布模拟地,数字电路部分 下只布数字地,另外还将巴特沃斯滤波器的位置从的第一级放大 后移到A/D变换前实验表明,这种布局布线方法有效地降低了 前处理板模拟电路的噪声水平,已经做到了小于10位A/D的 1/2LSB (表现在10位A/D输出的最低位可以有完全不变化的情 况)将22153控制数据输出位数的寄存器配置正确,选择输出 圆整到8位,高频噪声明显降低,4.43Mhz尖峰消失,噪声谱基 本上是白噪声谱了。
采用了这两种改进措施后,信噪比可以达到很高的水平,加 权可到89dB (这时实际上是解码板的本底噪声了),但是信噪 比无法稳定,最差时也只有58dB到底是什么原因造成信噪比无法稳定、相差如此之大呢? 一 开始总是找模拟电路的原因,怀疑了电源干扰、电源地回路、噪 声虑得不够干净、热噪声影响等等,摸索了很长时间,但始终无 法稳定信噪比仔细观察在信噪比差的情况,各行信噪比的变化口寸,发现信 噪比差的情况,都发生在视频输出幅度从一个量化电平跳变到另 一个量化电平的时候,过了这个跳变的地方,信噪比又变好仔 细进行思考和分析,恍然大悟,以前无法解释的信噪比不能稳 定,各行噪声不一样,并旦在移动,信噪比还随温度变化等等现 象,都找到了原因虽然从10位A/D变换出来的数只是在10位 的1个LSB之间波动,这时的噪声只有10位A/D的1/2LSB,但 从10位变成8位时,如果这正好处在8位量化电平的交界处, 则噪声变成了 8位A/D的1/2LSB,相当于噪声被放大了 4倍举个例子说明:假如视频信号变换出来的数是在1000000011B和1000000100B之间来回变化,变化的数值是10 位的1个LSB,转换成8位数时(还用10位表示,最后两位固 定为0),就变成了 1000000000B和1000000100B之间的变动, 有4个10位的LSB To对于8位A/D来说,跳变一个LSB的信 噪比的理论值就是20Log(256/0.5)=54dB,与我们测到的最差情 况58dB,大致相当。
由于造成这种情况的原因完全是信号幅度与处在量化电平的 位置造成的,而影响信号幅度的变化原因很多——运放的放大倍 数的稳定度、温度对各个电阻阻值的影响等等,要求信号幅度的 绝对值稳定是不可能的;即使是编码器能做到对输入信号幅度放 大绝对稳定,也不能避免由于信号源幅度的变化、电缆长度不同 信号衰减幅度不同等原因,引起的视频源的信号到编码器输入端 幅度不能完全相同的情况因此,如果不对数字部分做处理的 话,信噪比只可能是在58dB到89dB之间波动为降低8位的量化噪声,从数字部分做处理有两种方法:一种是完全采用10位系统进行编解码,这样的噪声水平就 是最差值降低4倍(12dB),信噪比则在70dB到89dB之间波 动但这样改动要改变整个编解码的体系结构,是不现实的另外一种方法是对A/D变换的数做降噪处理,避免出现最低 位跳变的情况,然后再将数据送给22153解码其基本原理是: 有条件地将10位数据圆整到9位,即保存前一个输出的数,当 前的数如果只和前一个数相差1,则当前输出的数和前一个数相 同这样对于平场信号,如果模拟部分及A/D的噪声水平做到足 够的低,小于10位A/D的1/2LSB,在同一行中,输出的数变成 了 9位数据,并且保持不变,这样,即使经过22153解码,再输 出为8位数据,也不会出现8位数据的最低位跳变的情况,从而 得使编码器的平场噪声水平达到极限值,编解码系统的噪声只取 决与解码器了。
实际上,采用了这种方法,避佐了噪声由于数据从10位转 换到8位而被放大了4倍,其结果相对不做处理,更接近噪声的 原有水平例如(数据都用10位数表示):某一行的数据是在 1000000011B和1000000100B之间跳变,经过这种圆整到9位的 算法后,数据变成了都是1000000011B或者都是1000000100B, 数据间由原来相差1个LSB,变为个LSB; 一而不经过这种处 理,最后输出的8位数据是在1000000000B和1000000100B之间 跳变,数据间相差是4个LSB,因而采用这种方法也是合理的, 同时也起到了降低噪声的作用具体的实现方法是这样的:在A/D之后,增加一片EPLD进行数字降噪,再送到22153 解码为确定每一行数据是向0还是向1圆整,在平场信号的起 始部分,首先采样16个原始数据的最低位,如果主要是1,则最 低位向1圆整,如果整行的数最多只相差1,则整行输出的数都 一样,最低位都是1;反之则向0圆整,整行输出的数最低位都 是0o另外,决定向还是向1圆整还不能用简单多数决定的方 法,否则在最低位是0是1的几率相当时,就有会出现前一行是 向圆整,而后一行是向1圆整,再后一行乂变成向。
圆整…虽 然每一行的数据不变,但行与行之间的数据是跳变的,经过 22153进行梳状滤波,相邻行进行加减后,其结果会使输出的数 发生跳变,从而引入了噪声采用了类似回滞比较的方法后,则基本上可以避免这种情况 的发生具体做法是:如果前一行是向圆整,则只有采样的16 个原始数据的最低位都为1时,才变为向1圆整;而如果前一行 是向1圆整,则只有采样的16个原始数据的最低位都为时, 才变为向圆整,这样尽可能避免出现相邻行数据跳变的情况, 可以将噪声水平降到最低的程度实践表明,采用了这种10位数据有条件地圆整到9位的方法 后,编码器信噪比稳定,编解码系统的噪声水平基本取决于解码 器了。