FFT濾波器和FIR濾波器性能比較分析要點_第1頁
FFT濾波器和FIR濾波器性能比較分析要點_第2頁
FFT濾波器和FIR濾波器性能比較分析要點_第3頁
FFT濾波器和FIR濾波器性能比較分析要點_第4頁
FFT濾波器和FIR濾波器性能比較分析要點_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、分類號:TP311.1密級:公開編號:學(xué)位論文FFT濾波器和FIR濾波器性能比較分析論文作者姓名:申請學(xué)位專業(yè):通信工程申請學(xué)位類別:工學(xué)學(xué)士指導(dǎo)教師姓名(職稱):論文提交日期:2015年5月25日FFT濾波器和FIR濾波器性能比較分析摘要二十一世紀(jì)標(biāo)志著數(shù)字化時代的來臨, 隨著信息科技的快速發(fā)展,數(shù)字信號 處理技術(shù)(DSP已經(jīng)發(fā)展成為信息產(chǎn)業(yè)之中的重要技術(shù)。它在通訊、電力系統(tǒng)、 儀器自動化、遙感技術(shù)等技術(shù)領(lǐng)域得到了普遍的應(yīng)用。與模擬濾波器相比,數(shù)字濾波器擁有穩(wěn)定性高,精度高。設(shè)計方式靈活等重要的優(yōu)點,沒有模擬濾波器所 存在的電壓漂移和噪聲等問題。并且擁有接近于理想的頻率響應(yīng)特性。 這些優(yōu)勢

2、注定了數(shù)字濾波器會得到廣泛的應(yīng)用。這其中,有限沖擊響應(yīng)濾波器(FIR濾波器)能夠在保證幅度特性滿足技術(shù)要求的同時,保證嚴(yán)格的線性相位特性。在數(shù) 據(jù)傳輸,語音技術(shù)等方面應(yīng)用廣泛。同時,DSP的發(fā)展和FPGA技術(shù)的出現(xiàn)為數(shù) 字濾波器的硬件實現(xiàn)提供了多樣化的選擇。本課題主要應(yīng)用C+語言設(shè)計FIR濾波器以及FFT濾波器,并對所設(shè)計的濾 波器進行仿真。應(yīng)用 Microsoft Visual Studio 2010編譯調(diào)試程序。主要運用窗函數(shù)設(shè)計法設(shè)計濾波器。學(xué)術(shù)中比較常用的窗函數(shù)有以下幾種: 矩形窗函數(shù),三角形窗函數(shù),漢寧窗 函數(shù),海明窗函數(shù),布萊克曼窗函數(shù)。通過這幾種窗函數(shù)來分析兩種濾波器在時 間開銷

3、、幅度誤差、相位誤差等方面的差異。關(guān)鍵字:數(shù)字信號技術(shù)濾波器FIR FFT模型仿真窗函數(shù)Comparative analysis of FFT filter and FIRfilter performanceAbstractThe 21st century is the era of digital, with the rapid development of information tech no logy, digital sig nal process ing (DSP) tech no logy has become an importa nt tech no logy in in f

4、ormatio n in dustry. It has bee n widely used in the field of high-tech com muni cati ons, power systems,in strume nt automati on, remotesensing etc. Compared with analog filter, digital filter has high stability, high precisi on. The desig n is flexible and other importa nt adva ntages, no problem

5、existing simulation filter voltage drift and noise etc. And have close to the ideal frequency response. This kind of advantage to digital filter will be widely used. Among these, the finite impulse resp onse (FIR) filter can in the guara ntee range characteristics to meet tech ni cal requireme nts a

6、t the same time, to en sure the strict lin ear phase characteristics. In data tran smissi on, voice tech no logy hasbee n applied widely. At the same time, provides a diverse selection of DSP development and FPGA tech no logy for the realizati on of digital filterhardware.The main comppili ng Ian gu

7、age of desig ning the FIR filter and FFT filter in this paper is C+ Ianguage.Debugging programs through The application of Microsoft Visual Studio 2010 . Academic commonly used window function is the followi ng: Recta ngular wi ndow function, Bartlett wi ndow fun cti on, Hanning wi ndow function, Ha

8、mming window function, Blackman window function.Through the analysis of several window functions to find differences between the two kinds of filters, and the difference of amplitude error and phase error.Keywords: Digital sig nal tech no logyFIR filter simulatio nwi ndow fun cti on第一章緒論1.,1.1課題研究的背

9、景與意義11.2數(shù)字濾波器的實現(xiàn)方法 11.3本文的主要研究內(nèi)容 2第二章FIR濾波器基礎(chǔ) 3.2.1FIR濾波器的概念3.2.2 FIR濾波器的特點3.2.3 FIR濾波器的設(shè)計方法 42.3.1利用窗函數(shù)法設(shè)計 FIR濾波器4(一) 窗函數(shù)法設(shè)計FIR濾波器的基本思想42.3.2運用頻率抽樣法設(shè)計FIR濾波器72.3.3運用切比雪夫逼近法設(shè)計 FIR濾波器 82.4 FFT濾波器的濾波原理 1.0第三章基于C+的濾波器設(shè)計及仿真123.1 C+及 MFC 的簡介123.2基于C+的濾波器設(shè)計及仿真 133.2.1設(shè)計要求133.2.2仿真過程143.2.3 FIR濾波以及FFT濾波的性能分

10、析 24第四章總結(jié)31參考文獻32致謝錯誤!未定義書簽。聲 明.錯誤!未定義書簽。第一章緒論1.1課題研究的背景與意義隨著科技和信息技術(shù)的快速發(fā)展,數(shù)字信號處理技術(shù)在電子技術(shù)、儀器自動 化、數(shù)控機床等諸多領(lǐng)域得到了廣泛應(yīng)用, 數(shù)字信號濾波器作為數(shù)字信號處理技 術(shù)之中的一個重要工具,可以用來過濾離散信號和數(shù)字信號。 在數(shù)字信號處理技 術(shù)之中,數(shù)字濾波器占有極其重要的地位。FIR濾波器的基本概念 FIR濾波器是指有限長單位沖激響應(yīng)濾波器,是數(shù) 字信號處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴(yán)格的 線性相頻特性,同時其單位抽樣響應(yīng)是有限長的,因而FIR濾波器是穩(wěn)定的系統(tǒng)。 因此,F(xiàn)

11、IR濾波器在通信、聲音圖像處理等領(lǐng)域都有著廣泛的應(yīng)用。FFT的濾波功能源自DFT運算與復(fù)調(diào)制濾波器組運算的相似性,近年來FFT 作為復(fù)調(diào)制濾波器組的快速算法在圖像傳輸、信道化處理等領(lǐng)域得到了廣泛應(yīng) 用。但是在實際工程設(shè)計之中,F(xiàn)FT的濾波輸出常常與預(yù)期的效果存在差異,差 異主要表現(xiàn)在時域波形畸變、起始部分?jǐn)?shù)據(jù)丟失等,可能造成后續(xù)數(shù)據(jù)處理產(chǎn)生 嚴(yán)重誤差,工程中只能通過反復(fù)調(diào)整其低通原型濾波器來接近預(yù)期效果。FIR濾波器是時間域卷積,F(xiàn)FT濾波過程是頻域卷積。本文主要是對FFT濾 波器和FIR濾波器的濾波原理進行分析,進行推證,分析兩種濾波器在時間開銷、 幅度誤差、相位誤差等方面的差異。1.2數(shù)字

12、濾波器的實現(xiàn)方法目前為止,數(shù)字濾波器的主要實現(xiàn)方法有: 一:在微型計算機上用軟件實現(xiàn)軟件可以是自己編寫,也可以使用現(xiàn)成的軟件包。這種方法并不能適用于實 時的系統(tǒng),只能用于教學(xué)和仿真研究。例如,在 MATLAB下幾乎可以實現(xiàn)所有 種類的數(shù)字濾波器的仿真研究。再如本篇論文之中應(yīng)用 C+語言實現(xiàn)仿真程序。二:用 DSP(Digital Signal Prosessing芯片實現(xiàn)DSP芯片是專門為數(shù)字信號的處理設(shè)計的。 例如TI公司的TMS320C54X系 列,還有AD公司的ADSP系列,它們的主要運算單元是乘法累加器 (Multiply-accumulator)具備特別的循環(huán)尋址和倒序?qū)ぶ饭δ堋?非

13、常有利于數(shù)字 信號處理技術(shù)之中的濾波器的有效實現(xiàn)。三:用固定功能的信號處理器實現(xiàn)專用信號處理器采用專用集成電路實現(xiàn),適用于過程固定而追求高速的信號 處理任務(wù)。它們的優(yōu)點是體積小、保密性好,具有極高的性能,但靈活性差。四:用FPGA等可編程器件模擬開發(fā)數(shù)字濾波算法現(xiàn)如今,F(xiàn)PGA產(chǎn)品層出不窮,人們可以利用Atera、Xilinx等公司提供的產(chǎn) 品,使用他們公司的相關(guān)開發(fā)工具和硬件開發(fā)語言, 通過軟件編程然后運用硬件 實現(xiàn)特定的數(shù)字濾波算法。這一方法目前是比較活躍的研究領(lǐng)域。相關(guān)研究開發(fā) 的項目在國內(nèi)外都非常充足。相比較以上的幾種方法,本課題設(shè)計的 FIR濾波器以及頻域上的TFT濾波 器將采用C+

14、語言進行設(shè)計和仿真,并且對比兩種濾波器的濾波性能的差別。1.3本文的主要研究內(nèi)容本課題主要應(yīng)用C+語言設(shè)計FIR以及FFT濾波器,并對所設(shè)計的濾波器 進行仿真。應(yīng)用Microsoft Visual Studio 2010編譯調(diào)試程序。具體工作包括:對 FIR數(shù)字濾波器的基本理論進行研究和分析。 應(yīng)用窗函數(shù)法設(shè)計FIR濾波器,用 到的窗函數(shù)有以下幾種:矩形窗函數(shù),三角形窗函數(shù),漢寧窗函數(shù),海明窗函數(shù), 布萊克曼窗函數(shù)。然后在比較幾種常見波形經(jīng)過兩種濾波器之后的輸出序列以及 輸出序列頻譜的差異。第35頁共34頁第二章FIR濾波器基礎(chǔ)2.仆IR濾波器的概念FIR濾波器是一種線性時不變(Linear

15、Time-Invariant)濾波器,它的N階輸出 響應(yīng)是由輸入的時間序列與濾波器系數(shù)卷積計算得出的,具體公式如下:N_Jy(n) =x(n)* h(n) = x(k)h(n-k)k=0,1,,N -1(2.1)k-0FIR數(shù)字濾波器的基本網(wǎng)絡(luò)結(jié)構(gòu)?類型有直接型、級聯(lián)型、快速卷積型、線性 相位型等網(wǎng)絡(luò)類型。其中最基本也是最重要的的網(wǎng)絡(luò)結(jié)構(gòu)是直接型網(wǎng)絡(luò)結(jié)構(gòu),它是了解其它網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ),因而首先介紹的是FIR數(shù)字濾波器的直接型網(wǎng)絡(luò)結(jié)構(gòu),如圖2.1所示。_-1ta-做0)吃)h(N - 2)h(N_l)11;Jf yW圖2.1 FIR濾波器宣接型網(wǎng)絡(luò)結(jié)構(gòu)對上圖中的網(wǎng)絡(luò)結(jié)構(gòu)信號流圖進行顛倒信號流、交換

16、輸入輸出的方向等變換可以得到FIR濾波器的轉(zhuǎn)置型網(wǎng)絡(luò)結(jié)構(gòu),其結(jié)構(gòu)如圖 2.2所示。2.2 FIR濾波器的特點在數(shù)字信號處理技術(shù)之中,往往需要設(shè)計線性相位濾波器。FIR濾波器是一種能夠保證幅度特性滿足技術(shù)要求的同時做到嚴(yán)格的線性相位特性。FIR濾波器連續(xù)性的對輸入樣本x(n)進行延時操作,然后再作乘法累加算法將濾波結(jié)果 y(n)輸出,因此,F(xiàn)IR濾波器實際上是一種乘法累加運算。在數(shù)字濾波器中,F(xiàn)IR濾波器的一個重要特點是沒有反饋回路,所以不存在 不穩(wěn)定的問題;同時,可以在幅度特性滿足要求的同時保證精確的線性相位。線性相位特性是FIR濾波器的突出優(yōu)點。另外,它還有以下特點:過渡過程 是一個有限區(qū)間

17、;相對IIR濾波器而言,階次更高,延遲也要更高。2.3 FIR濾波器的設(shè)計方法FIR數(shù)字濾波器的設(shè)計方法主要有窗函數(shù)設(shè)計法、頻率抽樣設(shè)計法、切比雪夫逼近法等。其中窗函數(shù)設(shè)計法是最基本的設(shè)計方法。在設(shè)計FIR濾波器中,最重要的計算就是加窗,采用矩形窗是最直接的方法,但采用矩形窗存在較大的 Gibbis效應(yīng),因此實際設(shè)計中一般采用其他類型的窗函數(shù)。2.3.1利用窗函數(shù)法設(shè)計FIR濾波器(一)窗函數(shù)法設(shè)計FIR濾波器的基本思想窗函數(shù)法設(shè)計FIR濾波器的基本思想是,選取一種合適的理想頻率選擇性濾 波器,然后將它的脈沖響e應(yīng)截斷,得到一個線性相位的FIR濾波器。因此這種 方法的重點在于選擇哪一種合適的窗

18、函數(shù)和哪一種理想濾波器。對于工程項目給定的濾波器技術(shù)指標(biāo),選擇具有最窄主瓣寬度和盡可能小的旁瓣衰減的某個窗函 數(shù)。所有的數(shù)字濾波器的頻率響應(yīng)A(e)都是的周期函數(shù),傅里葉級數(shù)展開式其中,(2.2)為:N 4h)八 hd(n)e(2.1)n=0公式中的,c是濾波器的歸一化截止頻率。而傅里葉系數(shù)hd n則是理想數(shù)字濾波器的沖擊響應(yīng)。但是Gibbs現(xiàn)象使得直接截取法的結(jié)果令人失望。窗函數(shù)就是用,窗函數(shù)的有限加權(quán)序列 J(n):來修正公式(2.2)中的傅里葉級數(shù)。來求得所需要的有限沖擊響應(yīng)序列 hn,即得到:h n 二 hd n n(2.3)-n是有限長的序列,當(dāng)n N -1及n - 0時, (n)

19、=0(二)工程中常用的窗函數(shù)類型 日常工程中常用的幾種窗函數(shù)是:矩形窗函數(shù),三角形窗函數(shù),漢寧窗函數(shù), 海明窗函數(shù),布萊克曼窗函數(shù)。這幾種窗函數(shù)的對比情況見表2-1。轟2-1幾種常用扇函數(shù)對比Table 24 Compared to several windows fiinc曲n関函數(shù)旁褂繩值衰確(db)1過渡?。ˋo)Oft+SM (db) J矩形窗-134*/N-2!三角形8n/N-25漢寧窗-31gn/N-44海明窗418?t/N-S3布菜克曼窗少II2n/N凱塞1S*57lOn/N40|為了滿足工程的需要,窗函數(shù)的選擇原則是:(1)窗函數(shù)必須具有較低的旁瓣幅度,其中尤其是第一旁瓣幅度;

20、(2)窗函數(shù)的旁瓣幅度下降速度要比較大,以利于增加阻帶衰減;(3)窗函數(shù)的主瓣的寬度要窄,以獲得比較陡的過渡帶。但是在實際的運用過程中,上述三點很難同時滿足。當(dāng)選用主瓣寬度較窄的 窗函數(shù)時,雖然能夠得到較陡的過渡帶,但是弊端就是,通帶和阻帶的波動明顯 增加;當(dāng)選用最小的旁瓣幅度的窗函數(shù)時,雖然能夠得到均勻光滑的幅度響應(yīng)和 較小的阻帶波動,但是缺點就是過渡帶加寬。因此,實際選用的窗函數(shù)往往是他 們之中弊端最小的那種。在保證主瓣寬度達到系統(tǒng)要求的同時, 稍微犧牲主瓣的 寬度來換取旁瓣波動的減少。(1)漢寧窗漢寧窗函數(shù)又稱升余弦窗。祝葉)=sinJ?v(h) = 1-cos21丿嚴(yán)3利用傅里葉變換待

21、性.可得叭廠)心5%(好)+025叫(DN二甲他(亍卜當(dāng)時,AMM所以窗函數(shù)的幅頻函數(shù)為畑二嘰0)十畑”卜舟)(25)I N丿(2-6)這三部分的總和,使旁瓣的能量互相抵消,從而使能量更集中在主瓣,根據(jù) 計算,它的最大旁瓣值比主瓣值大約低 31dB。但是所需要付出的代價就是主瓣 寬度比矩形窗的主瓣寬度增加大約一倍,為:*叮N。海明窗海明窗函數(shù)又稱為改進的升余弦窗。將升余弦窗再進一步的改進,可以得到 旁瓣更小的加窗效果,該窗的形式為:w(n)=2 兀n 0.54 - 0.46cos(石 1)Rn(n)(2.7)w(n)的頻響幅度特性為:-2兀2兀1W( X0.54Wr()023Wr( 百)Wr(

22、市)為了進一步抑制旁瓣,在升余弦窗函數(shù)的基礎(chǔ)上再加上一個二次諧波的余弦分量,這樣就變成了布拉克曼窗,正是這樣,它又稱為二階升余弦窗0*42 75 cos4nn 氐(n)(N9)w仗)的頻率響應(yīng)的幅度特性為2n= 042() + 0.254n(2 JO)(4)凱塞窗這是一種適應(yīng)性比較強的窗函數(shù),也是一種性能最優(yōu)異的窗。它是在給定阻 帶衰減下,得到一種大的主瓣寬度意義上的最優(yōu)結(jié)果, 這個過程本身就暗含著它 擁有最陡峭的過渡帶。它的公式為:w(n)二|o( ( l2n (N -1)f)公式中,l0(x)是第一類變形零階貝賽爾函數(shù),而參數(shù) 是一個可以自由選 擇的參數(shù)。以下為凱塞窗的優(yōu)點: 該窗可以提供

23、變化的過渡帶寬,而且可以通過改變:的值能夠達到最陡的 過渡帶; 該窗具有能夠與海明窗相互匹敵的特性, 通過調(diào)整:的值,可以將凱塞窗 函數(shù)完全等價于海明窗函數(shù); 該窗最大旁瓣值比主瓣大約要低 80dB,是所有的窗函數(shù)中旁瓣抑制度最 高的。2.3.2運用頻率抽樣法設(shè)計FIR濾波器所謂的頻率抽樣法就是指,從頻域出發(fā),根據(jù)頻域采樣定理,對給定的濾波 器的頻域相應(yīng)進行相同間隔采樣。%(嚴(yán)壯(細(xì) f Nl(2.12)將h d (k)當(dāng)做需要設(shè)計的濾波器頻率響應(yīng)的采樣值H (k),通過以下的公式就可以求出該濾波器的系統(tǒng)函數(shù) H(z)和頻響H(d )。(2.13)H(嚴(yán)匸工丹伙曲-壬約 N(2-14)其中,血

24、(3)是一個內(nèi)插函數(shù);(2J5)因為通過頻譜的有限個采樣值所恢復(fù)出來的頻率響應(yīng), 其實實際上是對理想 頻率響應(yīng)逼近。所以這種方法肯定有逼近誤差。若該被逼近的頻率響應(yīng)比較順滑, 那么各采樣點之間的逼近誤差就比較??;若被逼近的頻率響應(yīng)比較突兀,則逼近 誤差比較大。如果想要提高逼近的質(zhì)量,能夠采用人為的擴展過渡帶的方法, 就 是在頻率所對應(yīng)的過渡帶內(nèi)插入多個連續(xù)的采樣點, 使過渡帶連續(xù),因此通帶和 阻帶之間變化就會變得緩慢,導(dǎo)致所設(shè)計的濾波器對理想濾波器的逼近誤差比較 小。2.3.3運用切比雪夫逼近法設(shè)計FIR濾波器上文所論述的兩種方法所設(shè)計的 FIR濾波器的頻率響應(yīng)都不是非常理想,主 要缺點就是通

25、帶不夠平整,阻帶衰減不夠大,過渡帶過于寬闊,頻率邊緣并不能 夠精確的指定。切比雪夫逼近法是最佳的逼近法。 切比雪夫逼近法在數(shù)字信號處 理技術(shù)之中占有極其重要的地位,也是設(shè)計FIR數(shù)字濾波器最理想的方法。但是, 該方法的原理較為復(fù)雜,比較難以理解。數(shù)字濾波器頻域設(shè)計的最佳方法就是等波紋切比雪夫法,它是采用最大誤差最小準(zhǔn)則所得到的最優(yōu)數(shù)字濾波器。最優(yōu)設(shè)計實際上就是調(diào)節(jié)FIR濾波器在Z域上零點的分布,使實際濾波器的頻響 Ae(e)與理想濾波器的頻響HdG)兩者之間的最大絕對誤差最小。對于I型FIR數(shù)字濾波器,其頻響可表示為:IAe(ej)=he() 2he(n)cos( n)(2.16)n 4式中,

26、he(n)為數(shù)字濾波器的系數(shù),L = M/2,M為數(shù)字濾波器的階數(shù)。接 下來,我們將分析廣泛使用的算法 Parks-McClellan算法。這個算法的基礎(chǔ)是, 將數(shù)字濾波器的設(shè)計問題用公式表示成為多項式逼近的問題。這個算法將數(shù)字濾波器階數(shù)L、帶沿頻率國和。以及通帶和阻帶的最大誤差比5 k所固定,ps12然后令、或2為變量,接著改變(L 1)個非限制的脈沖響應(yīng)值,從而滿足系統(tǒng) 的設(shè)計指標(biāo)。 公式(2.16)可以改寫為:jwlkAe(e)八 adcos )(217)k占式中,ak是一個與he(n)相關(guān)聯(lián)的常數(shù)。然后定義逼近誤差函數(shù)為:EC )二W( )二 H d (ej)-Ae(e)式中,W()是

27、加權(quán)函數(shù),要求EC ),W()和Hd(ej)在且只在 的區(qū)間上有定義。而最大誤差最小準(zhǔn)則即是在,所要求頻域上找出能夠使公式 (2. 18)的最大加權(quán)逼近誤差達到最小的頻率響應(yīng) Ae(e 烏。 最佳逼近就是在 min (maxEW)意義上所求的逼近。這里f是0s的閉合子集。(n):0 n _Lhe該給定階次的多項式的最大加權(quán)誤差為最小的充要條件,是由交替定理給出 的。它的表達式為:E(叫)=爐阿)弘(/,)-心(嚴(yán))=1=1,2(L+2)(2J9)l =(maxl(t0/)l)(220)gF公式之中,:為最優(yōu)誤差。公式(2.19)( 2.20)說明了逼近誤差EC i)至 少都要有L 2個交錯點,

28、從而使得 E最小,同時保證 Ae(ej )唯一存在。由公 式(2.17)、( 2.19)可以解出系數(shù)組ak與:。除此之外,另外一種更加有效的方法是多項式內(nèi)插公式,可以求得:如佔)豐(-1尸31玄=fl 這之中一,如果 Ae(ej)由滿足公式(2.17)、( 2.所確定的ak而且是由公式(2.21)所給出,那么誤差函數(shù)就會通過(L 2)個頻率.匚上的點處。正是如此,為了避免求解(2.17)、( 2.19)兩個比較復(fù)雜 的方程來得出所需要的系數(shù),Parks-McClellan先生采用拉格朗日多項式內(nèi)插公 式,得出:這里令 x = cos(- , xcosi通過公式(2.22)可以計算通帶和阻帶之中

29、許多處頻域的 Ae(e)和EC i)的 值。如果對于通帶和阻帶之中所有的,都有EL),那么就說明已經(jīng)達到了最佳逼近。否則,就要計算出新的極值頻率。2.4 FFT濾波器的濾波原理為了了解FFT濾波的過程,我們首先來做以下的推導(dǎo)過程。一個時域離散 信號x(n)通過一個FIR線性濾波器h(n)(階數(shù)為M,長度為M 1)的計算過程如 下圖1所示。X0)1NW)1XA)1 1如)口應(yīng))A a!A加)w加AW /7/izGetDlgCtrllD()=IDC_WA VEPOINT)/當(dāng)觸發(fā)的滾動條屬于序列長度時switch(nSBCode) /判斷滾動條是向右還是向左運動case SB LINERIGHT:

30、if(wavepoi ntSetScrollPos(wavepo in t); MainFun cti on();break;case SB_LINELEFT: if(wavepo in t10) wavepo in t-=1;pScrollBar-SetScrollPos(wavepo in t); MainFun cti on();break;case SB_THUMBPOSITION: pScrollBar-SetScrollPos( nPos); MainFun cti on();break;case SB_THUMBTRACK: pScrollBar-SetScrollPos( nP

31、os); MainFun cti on();break;在完成程序界面之中相關(guān)參數(shù)的程序設(shè)計之后,接下來的主要任務(wù)就是主程 序下方繪圖界面的程序?qū)崿F(xiàn)。本程序下方共有六塊圖像界面,分別是:輸入序列, 輸入序列頻譜;FIR輸出序列,F(xiàn)IR輸出序列頻譜;FFT輸出序列,F(xiàn)FT輸出序 列頻譜。如圖3.5所示:輸入序列FiRttta序列FIFII&出序列額譜卜卜|警岀序列圖3.5程序的繪圖界面(3)波形圖的繪制下面我們就以繪制FIR輸出序列為例分析繪制波形圖的過程。代碼如下: void CFirfilterDlg:MainFunction() /繪制界面上用于顯示各種波形的區(qū)域 int i;DrawCo

32、ord in ate();UpdateShowText();Complex *x=new ComplexSAMPLE_POINTS; /定義采樣點的指針Complex *X=new ComplexSAMPLE_POINTS;Complex *FFT_In = new ComplexSAMPLE_POINTS;int ftype=m_wave_shape.GetCurSel();/ 獲取所選擇的輸入序列InitData(ftype,x); /根據(jù)所選擇的波形形狀,調(diào)用相應(yīng)的方法生成波形數(shù) 據(jù)for(i=1;ipow(2.0,ffttime)ffttime+;/將大于wavepoint和小于pow

33、(2.0,ffttime)之間的點賦零值,將不夠的 部分補0for(i=wavepoint+1;i=pow(2.0,ffttime);i+) /pow 函數(shù)是數(shù)學(xué)庫中的函數(shù), 功能是計算2的ffttime次方xi.real=0; xi.image=0;FFT(i nt)pow(2.0,ffttime),ffttime,x);DrawlnPic2(int)pow(2.0,ffttime),x); 顯示輸入序列頻譜,x已經(jīng)轉(zhuǎn)化為頻域 數(shù)據(jù)Complex *y=new ComplexSAMPLE_POINTS;生成 y,大小也是1024long fir_start = GetTickCount();

34、/獲取 start 時間FirFunction(X, y);/FIR 濾波器的實現(xiàn)long fir_finish = GetTickCount();/獲取 finish 時間long fir_duration = fir_finish - fir_start; /計算 FIR 的時間差 TRACE(fir_durati on = %ldn, fir_duratio n);DrawOutPic1(wavepoint+windowpoint,y); / HT T(4) FIR濾波以及FFT濾波的代碼實現(xiàn)首先是FIR濾波的功能實現(xiàn),代碼如下:void CFirfilterDlg:FirFunctio

35、n(Complex A, Complex B) /FIR 實現(xiàn)Complex wi ndowdata513;濾波器窗函數(shù)的序列長度創(chuàng)建指定類型的濾波器(操作界面上用戶選擇的類型)/windowpoint生成的窗口長度CreateFirFilter(w in dowpo in t,/*m_filter_type.GetCurSel(),*/m_w in dow_type .GetCurSel(), win dowdata); 繪制系統(tǒng)響應(yīng)(時域域形)Complex wi ndowdata1513;for(int i=1;ipow(2.0,ffttime)ffttime+;for(int i=wi

36、ndowpoint+1;i=pow(2.0,ffttime);i+)win dowdata1i.real=0;win dowdata1i.image=0;計算窗函數(shù)windowdata的頻譜FFT(i nt)pow(2.0,ffttime),ffttime,wi ndowdata1);DrawSYS2(i nt)pow(2.0,ffttime),wi ndowdata1);/ 繪制系統(tǒng)響應(yīng)頻譜for(int i=1;i513;i+)wi ndowdata1i=wi ndowdatai;/wi ndowdatal 為頻譜/windowpoint為有效的頻點長度/繪制系統(tǒng)系統(tǒng)響應(yīng)幅DrawSYS3

37、(wi ndowpoi nt,w in dowdatal); 度頻譜int max=wavepo int + win dowpo int;計算通過濾波器的信號(卷積運算)myC onv (A, win dowdata, B, max);FFT濾波的代碼實現(xiàn),如下:void CFirfilterDlg:FFT(i nt N, i nt M, Complex data2)int j=1;int i=1;int K;根據(jù)蝶形運算的規(guī)律,提前將各變量索引位置上的值交換。交換后如:x0,x4,x2,x6,x1,x 5,x3,x7doif(ij)Complex T;T.real = data2j.real

38、;T.image = data2j.image;data2j.real=data2i.real;data2j.image=data2i.image;data2i.real=T.real;data2i.image=T.image;K=N/2;while(Kvj)j-=K;K/=2;j+=K;i+;while(iN);/位置交換完成后,將對應(yīng)的值乘上對應(yīng)的W,就會得到正確順序的傅立葉變換后的值卩int LE,LE1,IP;int L=1;doLE=(i nt)pow(2.0,L);LE仁 LE/2;Complex U=1.0,0.0;Complex W=cos(0-PI/(double)LE1),

39、si n(0-PI/(double)LE1); j=1;doi=j;doIP=i+LE1;Complex T;T.real= data2IP.real*U.real-data2IP.image*U.image; T.image = data2IP.real*U.image+data2IP.image*U.real; data2IP.real = data2i.real-T.real;data2IP.image = data2i.image-T.image; data2i.real = data2i.real+T.real;data2i.image = data2i.image+T.image;

40、 i+=LE; while(i=N);double tempreal=U.real;double tempimage=U.image;U.real = U.real*W.real-W.image*U.image;U.image = tempreal*W.image+tempimage*W.real; j+; while(jv=LE1);L+; while(L=M);至此,我們仿真過程的部分核心代碼展示完畢,其他的代碼這里不做介紹。 MFC所提供的整體框架也已經(jīng)配置好,應(yīng)用程序已經(jīng)能夠?qū)⒏鞣N信號的經(jīng)過兩 種濾波過程之后的波形圖像和頻譜圖像繪制出來,以做進一步的研究。3.2.3 FIR濾波以及FFT濾波的性能分析(1)在時間開銷上的差異在上個小結(jié)波形圖繪制的代碼之中,我們已經(jīng)獲取到FIR處理過程所需要的 時間,即最后計算出來的時間差,但是通過計算可以發(fā)現(xiàn),這個值幾乎為零,也 就是

溫馨提示

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

最新文檔

評論

0/150

提交評論