一種利用FFT自適應(yīng)閾值處理失真雜散信號(hào)的方法
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
圖像信號(hào)是個(gè)很廣泛的概念,本文以最典型和最常見的圖像信號(hào)一一電視視頻信號(hào)一一為例來進(jìn)行探討。電視信號(hào)的發(fā)送和接收過程要經(jīng)歷多次轉(zhuǎn)換來滿足傳輸?shù)母鱾€(gè)環(huán)節(jié)。為了滿足衛(wèi)星傳輸、電纜傳輸、同時(shí)傳送多套節(jié)目等需求,電視信號(hào)在傳輸過程中,要經(jīng)過若干A/D、D/A、調(diào)制解調(diào)和數(shù)據(jù)格式變換。另外,電視信號(hào)在信道傳播過程中,會(huì)受到信道中各種噪聲的影響,從而使得有用信號(hào)受到干擾,嚴(yán)重時(shí)可能完全丟失。傳輸網(wǎng)絡(luò)以及各種數(shù)模轉(zhuǎn)換設(shè)備和數(shù)字處理設(shè)備的影響還可能導(dǎo)致信號(hào)的失真,失真后的信號(hào)偏離原信號(hào)的部分稱為失真雜散信號(hào),某些資料稱其為失真產(chǎn)物或雜散產(chǎn)物。
失真分為線性失真和非線性失真,其各自產(chǎn)生原因有所不同。
線性失真一般由兩方面因素造成:一是網(wǎng)絡(luò)對(duì)輸入信號(hào)中各頻率成分的傳遞函數(shù)不一致(放大或衰減即增益不等),致使各頻率分量相對(duì)幅度產(chǎn)生變化,造成選擇性幅度失真;另一個(gè)因素是網(wǎng)絡(luò)對(duì)輸入信號(hào)的各頻率成分產(chǎn)生的相移不與頻率成正比,致使各頻率分量相對(duì)相位發(fā)生變化,造成相位失真。這就是網(wǎng)絡(luò)的幅頻特性和相頻特性引起的相位變化和幅度變化的失真產(chǎn)物。
非線性失真的主要因素:一是網(wǎng)絡(luò)傳遞函數(shù)的非線性特性,諸如放大器的非線性、ADC/DAC的非線性、光或電發(fā)射機(jī)的非線性,致使輸出信號(hào)的頻率成分與輸入信號(hào)不相同,從而增加了新的頻率成分;二是前端設(shè)備對(duì)信號(hào)進(jìn)行大量的變換和處理后,雖然是有目的地利用電路的非線性特性對(duì)信號(hào)進(jìn)行調(diào)制、混頻、變頻,取其中需要的頻率而去掉那些不需要的頻率成分,但做得不徹底、不完善而產(chǎn)生少量不需要的新頻率成分的非線性交調(diào)產(chǎn)物;三是信號(hào)因素,例如輸入信號(hào)的電平過高產(chǎn)生的限幅削波、有線電視鄰頻干擾、本征頻率不純(相位噪聲)、有諧波在非線性狀態(tài)下產(chǎn)生差拍、疊加等寄生震蕩輸出,使信號(hào)頻率成分發(fā)生變化,致使產(chǎn)生失真產(chǎn)物。
正常情況下,圖像的失真表現(xiàn)為圖像拉絲、波浪型紋波、馬賽克等現(xiàn)象,嚴(yán)重時(shí)會(huì)出現(xiàn)圖像噪點(diǎn)、圖像停滯、圖像消失。雖然大部分情況下失真雜散信號(hào)并不造成人視覺上的差異,但是,對(duì)于某些圖像檢測(cè)處理設(shè)備,隨機(jī)的失真雜散信號(hào)將導(dǎo)致設(shè)備工作異常,使得這些設(shè)備發(fā)出錯(cuò)誤報(bào)告,從而處理出錯(cuò)誤結(jié)果。
1圖像的YCBCR空間與RGB空間的互相轉(zhuǎn)變
目前,主流的數(shù)字電視視頻信號(hào)格式是656格式(對(duì)應(yīng)于YCBCR空間),它與通常表示圖像的RGB方式(對(duì)應(yīng)于RGB空間)不同。由于本文屏蔽算法基于656格式,所以,這里首先簡(jiǎn)單介紹一下兩種空間的相互轉(zhuǎn)換關(guān)系。
RGB方式利用3個(gè)向量R,G,B來表示一幅圖像,紅色、綠色和藍(lán)色是數(shù)字圖像的三原色。656格式則用另外3個(gè)向量Y,Cb,Cr來表示一幅圖像。其中,Y表示圖像紋理特征,稱為灰度值;b和Cr則表示色差分量。其轉(zhuǎn)換關(guān)系為:
Y=0.299R+0.587G+0.114B
Cb=0.564(B-Y)
Cr=0.713(R-Y)
紋理特征包含了圖像的最主要信息,本文屏蔽算法主要針對(duì)灰度Y值來進(jìn)行處理。
2失真雜散信號(hào)的特征分析
為了反應(yīng)真實(shí)的視頻信號(hào)失真情況,本文采用了Chipscope工具軟件。該工具軟件是Xilinx公司用于分析其FPGA內(nèi)部信號(hào)的一個(gè)窗口,以便于FPGA開發(fā)者能對(duì)其開發(fā)項(xiàng)目進(jìn)行調(diào)試。Chipscope所反應(yīng)的信號(hào)完全是客觀真實(shí)的信號(hào),能發(fā)現(xiàn)很多僅憑肉眼無法發(fā)現(xiàn)的信號(hào)失真,圖1所示是紅場(chǎng)信號(hào)的實(shí)際Y值。
圖1紅場(chǎng)信號(hào)真實(shí)Y值
理論上,紅場(chǎng)的Y值應(yīng)為70,并且作為一個(gè)平場(chǎng)信號(hào),其Y值應(yīng)一直維持70且不會(huì)改變,但實(shí)際的紅場(chǎng)Y值不僅等于70的點(diǎn)極少,而且很難找到大范圍Y值相同的區(qū)域,Y值在70附近波動(dòng)幅度較大,且具有極大的隨機(jī)性。由于人眼分辨的顏色數(shù)量有限,Y值在細(xì)微情況下的波動(dòng)是無法識(shí)別的,我們看到的依然是一片紅色,然而,此時(shí)對(duì)于視頻幀靜止檢測(cè)設(shè)備和視頻內(nèi)容檢測(cè)比對(duì)設(shè)備來說,可能就會(huì)使其產(chǎn)生錯(cuò)誤的判斷結(jié)果。
由于失真雜散信號(hào)的隨機(jī)特性,僅僅從空域或時(shí)域上一般無法看出失真雜散信號(hào)的規(guī)律,而必須將其轉(zhuǎn)換到頻域上。這里,可以利用圖1的Y值進(jìn)行FFT運(yùn)算,以觀察其結(jié)果。圖2所示是圖1中Y值的FFT運(yùn)算結(jié)果。
圖2圖1中Y值FFT運(yùn)算結(jié)果
從圖2所示的運(yùn)算結(jié)果可以看出,除了直流分量外,其余諧波分量的模都很小,這是由于理想的紅場(chǎng)信號(hào)只有直流分量,而失真雜散信號(hào)不可能產(chǎn)生能量成分很大的交流分量。
那么,對(duì)于原本既有直流分量,又有交流分量的視頻信號(hào),又會(huì)是怎樣的情況呢?我們?cè)倥e一個(gè)例子:
假設(shè)有一個(gè)信號(hào),它含有2V的直流分量,頻率為50Hz、相位為-30。、幅度為3V的交流信號(hào),以及一個(gè)頻率為75Hz、
相位為90。、幅度為1.5V的交流信號(hào)。它們的合成信號(hào)可用數(shù)
學(xué)表達(dá)式表述如下:
現(xiàn)以256Hz的采樣率氏對(duì)這個(gè)信號(hào)進(jìn)行采樣,然后利用MATLAB進(jìn)行FFT仿真的運(yùn)算結(jié)果如下:
點(diǎn):512+j0
模:(Re2+Im2)1/2=512
點(diǎn):-2.6195*10-14-j1.4162*10-13
模:(Re2+Im2)1/2=14*10-14
點(diǎn):-2.8586*10-14-j1.1898*10-13
模:(Re2+Im2)1/2=12*10-14
點(diǎn):-6.2076*10-13-j2.1713*10-12
模:(Re2+Im2)1/2=22*10-13
點(diǎn):332.55-j192
模:(Re2+Im2)1/2=384
點(diǎn):-1.6707*10-12-j1.5241*10-12
模:(Re2+Im2)1/2=2.25*10-12
點(diǎn):-2.2199*10-13-j1.0076*10-12
模:(Re2+Im2)1/2=10.3*10-13
點(diǎn):3.4315*10-12+j192
模:(Re2+Im2)1/2=192
點(diǎn):-3.0263*10-14+j7.5609*10-13
模:(Re2+Im2)1/2=75.6*10-14
很明顯,1點(diǎn)、51點(diǎn)、76點(diǎn)的值都比較大,它附近的點(diǎn)值都很小,可以認(rèn)為趨于0。
從上面的例子可以看出,無論原始信號(hào)有無交流分量,失真雜散信號(hào)均不會(huì)對(duì)原信號(hào)的幾根主要譜線造成影響,也不會(huì)產(chǎn)生新的主譜線,因此,我們可以設(shè)計(jì)一個(gè)算法屏蔽掉這些失真譜線,從而達(dá)到處理圖像失真的目的。
3基于FFT的自適應(yīng)閾值屏蔽算法
認(rèn)識(shí)到失真雜散信號(hào)的特征后,就可以設(shè)計(jì)出下面的算法來屏蔽掉失真雜散信號(hào)的頻譜。其具體的方法如下:
將一幅圖像從RGB空間轉(zhuǎn)換到Y(jié)CBCR空間,這個(gè)空間包含3個(gè)矩陣,Y,Cb,Cr;
讀取Y矩陣的每一行進(jìn)行FFT運(yùn)算,產(chǎn)生Y的頻域矩陣FFTY,計(jì)算FFTY矩陣的模值;
找出FFTY矩陣中模值明顯大于其周圍模值的點(diǎn),記為主頻譜點(diǎn);
對(duì)于主頻譜點(diǎn)周圍的點(diǎn),如果其模值小于主頻譜點(diǎn)的
dB(即千分之一)以下,則記為0,否則保留原值,這個(gè)過程將改變?cè)璅FTY矩陣,記為FFTYNEW;
將FFTYNEW矩陣經(jīng)過IFFT運(yùn)算得到新的Y矩陣,記為YNEW;
將YNEW,Cb,Cr矩陣構(gòu)成的YCBCR空間轉(zhuǎn)換為RGB空間,然后顯示圖像。
在算法的第(4)步,由于不同圖像主頻譜點(diǎn)的數(shù)量和模值各不相同,而且同一圖像的不同位置的模值也不一樣,所以,此算法是根據(jù)不同圖像的不同特征自適出不同的閥值來屏蔽掉失真雜散信號(hào)的。
MATLAB仿真實(shí)驗(yàn)及實(shí)際FPGA得到的結(jié)果
利用MATLAB編程實(shí)現(xiàn)該算法后,即可對(duì)增加了失真雜散信號(hào)的圖像進(jìn)行處理,而且得到了比較好的結(jié)果,圖3和圖4分別給出了平場(chǎng)信號(hào)和非平場(chǎng)信號(hào)的處理結(jié)果。
圖3平場(chǎng)信號(hào)MATLAB實(shí)驗(yàn)結(jié)果
在這里要特別說明的是,本文介紹的處理失真雜散信號(hào)的方法并不是通常意義上的噪聲濾波,而是使原本隨機(jī)的失真雜散信號(hào)在經(jīng)過處理后變得更加固定。隨機(jī)的失真信號(hào)會(huì)導(dǎo)致本來靜止的圖像幀產(chǎn)生波動(dòng),產(chǎn)生“偽運(yùn)動(dòng)現(xiàn)象”此外,同一視頻信號(hào)經(jīng)過不同的信道傳播之后,由于失真的隨機(jī)性,在接收端就可能收到并不相同的信號(hào),從而導(dǎo)致視頻檢測(cè)比對(duì)設(shè)備判斷失誤。而通過此方法處理后,則可以有效地保證這些專業(yè)的視頻檢測(cè)處理設(shè)備保持正常工作。
圖4非平場(chǎng)信號(hào)MATLAB實(shí)驗(yàn)結(jié)果
圖5所示是運(yùn)用Chipscope觀察到的FPGA內(nèi)部來自不同路徑的兩路視頻信號(hào)的特征數(shù)據(jù)。經(jīng)過此方法處理后,可以明顯看到:兩路特征數(shù)據(jù)已經(jīng)幾乎一樣了。
圖5來自不同路徑視頻信號(hào)特征數(shù)據(jù)對(duì)比
圖5中的doutBsm和doutAs分別是來自衛(wèi)星接收器和有
線電視的視頻信號(hào)的特征數(shù)據(jù)。
本文的方法主要是為了解決筆者實(shí)習(xí)單位的某些設(shè)備工作異常問題,通過該方法的實(shí)際應(yīng)用,該單位設(shè)備工作異常問題得到了有效解決。該方法的提出得到了小波濾波去噪的啟發(fā)。由于FFT計(jì)算可以利用Xinlix的DSP處理IP核,因此,該方法也能方便在FPGA上實(shí)現(xiàn)。
20210917_614433eea8f50__一種利用FFT自適應(yīng)閾值處理失真雜散信號(hào)的方法