《信號(hào)處理原理》實(shí)驗(yàn)指導(dǎo)_第1頁
《信號(hào)處理原理》實(shí)驗(yàn)指導(dǎo)_第2頁
《信號(hào)處理原理》實(shí)驗(yàn)指導(dǎo)_第3頁
《信號(hào)處理原理》實(shí)驗(yàn)指導(dǎo)_第4頁
《信號(hào)處理原理》實(shí)驗(yàn)指導(dǎo)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、信號(hào)處理原理實(shí)驗(yàn)指導(dǎo)【實(shí)驗(yàn)數(shù)據(jù)】實(shí)驗(yàn)數(shù)據(jù)為一圖像數(shù)據(jù)文件,文件格式是純文本格式。文件正文的第一行的值表示矩陣的大小,即N值。后面的N行是點(diǎn)陣圖像,每行有N個(gè)數(shù)據(jù)。N最大為256。在圖像點(diǎn)陣中,.代表0(即沒有點(diǎn)), o代表1(即有點(diǎn))。【實(shí)驗(yàn)要求】(1) 對(duì)輸入圖象文件內(nèi)容進(jìn)行2DFFT變換,再對(duì)所得頻譜數(shù)據(jù)進(jìn)行2DIFFT,將結(jié)果重新轉(zhuǎn)換成字符文件保存起來。(2) 對(duì)輸入圖象文件內(nèi)容進(jìn)行2DFFT變換,再將頻譜的大小壓縮為(N/2)*(N/2),然后對(duì)所得頻譜數(shù)據(jù)進(jìn)行2DIFFT,將結(jié)果重新轉(zhuǎn)換成字符,保存成(N/2)*(N/2)的漢字圖像。(3) 對(duì)輸入圖象文件內(nèi)容進(jìn)行2DFFT變換,再將

2、頻譜的大小壓縮為(N/2)*(N/2),然后對(duì)頻譜補(bǔ)入一些零,再對(duì)頻譜進(jìn)行2DIFFT,將結(jié)果重新轉(zhuǎn)換成字符,保存成(N/2)*(N/2)的漢字圖像?!緦?shí)驗(yàn)原理】一幅二維數(shù)字圖像可以用矩陣g(m,n)來表示,g(m,n)是圖像在坐標(biāo)(m,n)處的灰度級(jí)(或彩色RGB值)。也可以把g(m,n)視為一個(gè)二元函數(shù),它的自變量為m和n,則可以用它來表示數(shù)字圖像在平面上的亮度分布。矩陣可以寫成下面的形式:在上面的基礎(chǔ)上,我們可以定義下面的二維DFT:定義1:二維矩陣向量g(m,n)的2D-DFT, 從上面的定義我們可以看出:2D-DFT可以用兩次1D-DFT來實(shí)現(xiàn)。一次是對(duì)g(m,n)的各行(即m相同而

3、n不同)進(jìn)行1D-DFT-如上式中的紅色部分所示;再對(duì)變換后的結(jié)果,再按列進(jìn)行1D-DFT-如上式中的藍(lán)色部分所示。上面這個(gè)公式是我們實(shí)現(xiàn)2D-DFT的算法基礎(chǔ)。定義2:二維矩陣譜向量G(p,q)的2D-IDFT,根據(jù)相同的想法,上面的2D-IDFT公式也可以用兩次1D-IDFT來實(shí)現(xiàn)。【2D-FFT算法實(shí)現(xiàn)】二維FFT相當(dāng)于對(duì)行和列分別進(jìn)行一維FFT運(yùn)算。具體的實(shí)現(xiàn)辦法如下:先對(duì)各行逐一進(jìn)行一維FFT,然后再對(duì)變換后的新矩陣的各列逐一進(jìn)行一維FFT。相應(yīng)的偽代碼如下所示:for (int i=0; i<M; i+)FFT_1D(ROWi,N);for (int j=0; j<N;

4、 j+)FFT_1D(COLj,M);其中,ROWi表示矩陣的第i行。注意這只是一個(gè)簡(jiǎn)單的記法,并不能完全照抄。還需要通過一些語句來生成各行的數(shù)據(jù)。同理,COLi是對(duì)矩陣的第i列的一種簡(jiǎn)單表示方法。所以,關(guān)鍵是一維FFT算法的實(shí)現(xiàn)。下面討論一維FFT的算法原理?!?D-FFT的算法實(shí)現(xiàn)】設(shè)序列h(n)長(zhǎng)度為N,將其按下標(biāo)的奇偶性分成兩組,即he和ho序列,它們的長(zhǎng)度都是N/2。這樣,可以將h(n)的FFT計(jì)算公式改寫如下 : (A)由于所以,(A)式可以改寫成下面的形式:按照FFT的定義,上面的式子實(shí)際上是:其中,k的取值范圍是 0N-1。我們注意到He(k)和Ho(k)是N/2點(diǎn)的DFT,其

5、周期是N/2。因此,H(k)DFT的前N/2點(diǎn)和后N/2點(diǎn)都可以用He(k)和Ho(k)來表示而且于是,N點(diǎn)H(k)用N/2點(diǎn)的He(k)和Ho(k)來計(jì)算的公式為: è【1D-FFT的算法流程】根據(jù)上面推導(dǎo)的公式,我們可以用遞歸程序來實(shí)現(xiàn)1D-FFT。下面是一個(gè)示例:void FFT_1D (Comp in , Comp out , int N)Comp he256, ho256;Comp He256, Ho256;/ 如果DFT點(diǎn)數(shù)為1,則根據(jù)DFT公式,可以直接返回原值/ 這是遞歸的退出條件if (N=1)out0 = in0;else / 如果N不是1,則/ 按下標(biāo)將數(shù)據(jù)分成

6、兩組for (int i=0; i<N/2; i+)hei = in2*i;/ 偶數(shù)下標(biāo)分組hoi = in2*i+1;/ 奇數(shù)下標(biāo)分組/ 計(jì)算偶數(shù)下標(biāo)部分的N/2點(diǎn)DFTFFT_1D(he, He, N/2);/ 計(jì)算奇數(shù)下標(biāo)部分的N/2點(diǎn)DFTFFT_1D(ho, Ho, N/2);/ 計(jì)算當(dāng)前所有數(shù)據(jù)的N點(diǎn)DFTfor (int k=0; k<N/2; k+)/ 下面計(jì)算式中的Wk是旋轉(zhuǎn)因子,可以事先計(jì)算好。/ 當(dāng)前數(shù)據(jù)的前一半,N/2點(diǎn)outk = Hek + Wk*Hok; / 當(dāng)前數(shù)據(jù)的后一半,N/2點(diǎn)outN/2+k = Hek Wk*Hok;【圖象壓縮與放大原理】要

7、盡量少失真地對(duì)圖象進(jìn)行縮放處理,則需從頻域著手進(jìn)行。如果從頻譜圖中去掉一些頻率的分量,然后再作IFFT,得到時(shí)域數(shù)據(jù),即可實(shí)現(xiàn)對(duì)圖象的縮小。而如果在頻譜中加入一些零值,再作IFFT,得到時(shí)域數(shù)據(jù),則可實(shí)現(xiàn)對(duì)圖象的放大。根據(jù)一維情形下的奈奎斯圣區(qū)間和折疊頻率的概念,我們知道,二維頻譜的高頻區(qū)集中在二維譜矩陣(譜向量的矩陣形式)的中心區(qū)域;而低頻區(qū)在4個(gè)角上。如果考慮到二維頻譜圖中高頻分量與低頻分量的分布情況,則對(duì)圖象頻譜圖的處理,不論是去掉部分頻率數(shù)據(jù),還是在頻譜數(shù)據(jù)中補(bǔ)零,都應(yīng)關(guān)于圖象頻譜的中心對(duì)稱。要思考和解決的問題是:為保證圖象縮小后失真最小,應(yīng)去掉原圖中的高頻分量,還是去掉低頻分量。【注

8、意事項(xiàng)】(1) 輸入的圖像數(shù)據(jù)是以文本形式存放在文件中的,在讀入文件內(nèi)容后要將不同的字符轉(zhuǎn)化為數(shù)值(如·轉(zhuǎn)為0,o轉(zhuǎn)為10),才能進(jìn)行FFT變換。(2) 為了能顯示還原后的圖像,還需要將IFFT變換后的數(shù)據(jù)(復(fù)數(shù)值)轉(zhuǎn)換成不同的字符,并以文本形式入文件中。(3) 復(fù)數(shù)轉(zhuǎn)成字符的原則和方法:IFFT變換后的數(shù)據(jù)是復(fù)數(shù),根據(jù)復(fù)數(shù)模的大小,將它們分別轉(zhuǎn)成·和o字符。這就要設(shè)定一個(gè)控制閾值,模大于閾值的復(fù)數(shù)對(duì)應(yīng)o字符,模小于閾值的復(fù)數(shù)對(duì)應(yīng)字符。這個(gè)控制閾值可能通過實(shí)驗(yàn)來調(diào)整和確定。(4) 程序中涉及到了復(fù)數(shù)運(yùn)算(加減乘除),可以自己編程實(shí)現(xiàn),也可以通過包含下面的代碼來解決:#include <complex>using namespace std;/ 將complex<float>簡(jiǎn)記為Comptypedef complex<float> Comp;這樣,就可以在程序中直接使用“Comp”這種類型了。用法如下:Comp w1(3, 4);Comp w2;W2 = Comp(3, 4);【主程序代碼流程示例】(1) 接受用戶對(duì)閾值的設(shè)定(2) 打開文件,讀入字符(3) 根據(jù)(1)中設(shè)定

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論