微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 一种利用FFT自适应阈值处理失真杂散信号的方法

一种利用FFT自适应阈值处理失真杂散信号的方法

时间:11-21 来源:互联网 点击:

分量外,其余谐波分量的模都很小,这是由于理想的红场信号只有直流分量,而失真杂散信号不可能产生能量成分很大的交流分量。
那么,对于原本既有直流分量,又有交流分量的视频信号,又会是怎样的情况呢?我们再举一个例子:
假设有一个信号,它含有2 V的直流分量,频率为50 Hz、相位为-30°、幅度为3 V的交流信号,以及一个频率为75 Hz、相位为90°、幅度为1.5 V的交流信号。它们的合成信号可用数学表达式表述如下:

现以256 Hz的采样率Fs对这个信号进行采样,然后利用MATLAB进行FFT仿真的运算结果如下:

很明显,1点、51点、76点的值都比较大,它附近的点值都很小,可以认为趋于0。
从上面的例子可以看出,无论原始信号有无交流分量,失真杂散信号均不会对原信号的几根主要谱线造成影响,也不会产生新的主谱线,因此,我们可以设计一个算法屏蔽掉这些失真谱线,从而达到处理图像失真的目的。

3 基于FFT的自适应阈值屏蔽算法
认识到失真杂散信号的特征后,就可以设计出下面的算法来屏蔽掉失真杂散信号的频谱。其具体的方法如下:
(1)将一幅图像从RGB空间转换到YCBCR空间,这个空间包含3个矩阵,Y,CB,CR;
(2)读取Y矩阵的每一行进行FFT运算,产生Y的频域矩阵FFTY,计算FFTY矩阵的模值;
(3)找出FFTY矩阵中模值明显大于其周围模值的点,记为主频谱点;
(4)对于主频谱点周围的点,如果其模值小于主频谱点的3 dB(即千分之一)以下,则记为0,否则保留原值,这个过程将改变原FFTY矩阵,记为FFTYNEW;
(5)将FFTYNEW矩阵经过IFFT运算得到新的Y矩阵,记为YNEW;
(6)将YNEW,CB,CR矩阵构成的YCBCR空间转换为RGB空间,然后显示图像。
在算法的第(4)步,由于不同图像主频谱点的数量和模值各不相同,而且同一图像的不同位置的模值也不一样,所以,此算法是根据不同图像的不同特征自适出不同的阀值来屏蔽掉失真杂散信号的。

4 MATLAB仿真实验及实际FPGA得到的结果
利用MATLAB编程实现该算法后,即可对增加了失真杂散信号的图像进行处理,而且得到了比较好的结果,图3和图4分别给出了平场信号和非平场信号的处理结果。

在这里要特别说明的是,本文介绍的处理失真杂散信号的方法并不是通常意义上的噪声滤波,而是使原本随机的失真杂散信号在经过处理后变得更加固定。随机的失真信号会导致本来静止的图像帧产生波动,产生“伪运动现象”。此外,同一视频信号经过不同的信道传播之后,由于失真的随机性,在接收端就可能收到并不相同的信号,从而导致视频检测比对设备判断失误。而通过此方法处理后,则可以有效地保证这些专业的视频检测处理设备保持正常工作。
图5所示是运用chipscope观察到的FPGA内部来自不同路径的两路视频信号的特征数据。经过此方法处理后,可以明显看到:两路特征数据已经几乎一样了。

图5中的doutBsm和doutAs分别是来自卫星接收器和有线电视的视频信号的特征数据。

5 结语
本文的方法主要是为了解决笔者实习单位的某些设备工作异常问题,通过该方法的实际应用,该单位设备工作异常问题得到了有效解决。该方法的提出得到了小波滤波去噪的启发。由于FFT计算可以利用Xinlix的DSP处理IP核,因此,该方法也能方便在FPGA上实现。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top