freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于matlab的fir和iir數(shù)字濾波器的設(shè)計與仿真(編輯修改稿)

2025-07-20 22:47 本頁面
 

【文章內(nèi)容簡介】 是相應(yīng)結(jié)構(gòu)下的濾波器系數(shù)。這些濾波器系數(shù)可以由【File】中的【Export】導出,輸出變量的名稱可以指定,導出的目標位置可以是MATLAB工作空間,或者其他指定的文件。另外,它的下部還有一個【Turn Quantization On】(量化)選擇框,在開始設(shè)計時它總是空白的,一般是在濾波器初步設(shè)計已經(jīng)完成,要考察系數(shù)量化對濾波器的影響時再把它打開,這時,圖像中將同時顯示量化前后濾波器的特性,用戶能夠方便地看出系數(shù)量化對濾波器性能的影響。但是在打開量化鈕前應(yīng)該輸入很多參數(shù),如果事先沒有設(shè)定參數(shù),那么用的是程序中缺省值,不會符合用戶實際。要設(shè)定這些參數(shù)要先在下半畫面的頂部單擊【Set Quantization Parameters】頁面標簽,這時整個下半畫面都會發(fā)生改變。圖21 濾波器設(shè)計工具的啟動界面下半畫面當前處在【Filter Design】頁面上,這個頁面是用來輸入濾波器的設(shè)計參數(shù)的,它分為4欄,從左到右依次為:【 Filter Design】,【 Filter Order】,【Frequency Specifications 】,【Magnitude Specifications】。在【Filter Design】欄中,上面五個圓圈是“五選一”的選擇框,如果是簡單選頻類的濾波器,則在前四項中任選一項,如果是其他類,就要選定第五項,然后在它右方的復選框中用下拉菜單來選定具體類型,這里有數(shù)字微分器,希爾波特變換器,還有一些我們未接觸過的其他濾波器,還有選擇FIR或IIR濾波器類型,IIR中有巴特沃斯、切比雪夫I、切比雪夫II和橢圓4類,F(xiàn)IR中則有等波動法、最小二乘法和窗函數(shù)法三種。而實際設(shè)計的過程非常簡單,先在下半畫面的各欄中,正確填寫濾波器的要求和指標,然后按最下方正中的“設(shè)計”按鈕,結(jié)果就會在上半畫面中顯示出來,需要看何種圖形,就可按相應(yīng)的按鈕,取【full view analysis】時,圖形的曲線被放在單獨的視窗內(nèi),就可以圖形方式存儲。需要濾波器系數(shù)時,可以如前所述,用【Export】方式把它導出到適當?shù)牡胤健?本章小結(jié) 本章主要介紹了數(shù)字濾波器的特點、FIR和IIR數(shù)字濾波器的比較、MATLAB中的濾波器設(shè)計工具FDATOOL的使用。第3章 基于MATLAB的FIR數(shù)字濾波器設(shè)計 MATLAB軟件簡介 MATLAB介紹MATLAB ( Matrix Laboratory,是一款商業(yè)數(shù)學軟件,用途廣泛功能強大,可以用于各類數(shù)據(jù)分析,數(shù)學算法開發(fā),數(shù)據(jù)可視化以及數(shù)值計算[17]。這款軟件由MATLAB與Simulink兩大部分組成,是一種高級技術(shù)計算語言,同時也是一個交互式環(huán)境[18]。在該環(huán)境中,我們可以輕松實現(xiàn)線性和非線性靜態(tài)、動態(tài)系統(tǒng)的建立與模擬仿真等功能[19]。該軟件的最大優(yōu)點是將多種強大功能交互式集成到一起,為眾多科學學科提供了解決日趨繁雜的數(shù)學問題的方案,其功能的強大是以往傳統(tǒng)的非交互式語言所無法比擬的,是當今世界科學計算軟件中的翹楚[20]。我們接下來了解一下MATLAB軟件的系統(tǒng)組成::指軟件的操作界面,在該界面中我們可以使用大量MATLAB自帶函數(shù)和各種工具(包括編輯器和調(diào)試器以及信息瀏覽器),功能齊全,用途廣泛[21]。2 .MATLAB語言:MATLAB編程語言是一種面向?qū)ο笳Z言,語言中的數(shù)據(jù)結(jié)構(gòu)、控制語句及輸入輸出界面都十分高層次,值得專門學習。3 .MATLAB應(yīng)用程序界面:這是一個功能強大的程序庫,通過這個界面我們可以在其他可以與MATLAB語言進行交互的語言(比如c語言和Fortran語言)中調(diào)用MATLAB的子程序和子過程,通過編寫可交互程序語句來生成可以獨立執(zhí)行的EXE文件[22]。4 .MATLAB數(shù)學函數(shù)庫:MATLAB數(shù)學函數(shù)庫覆蓋了大量數(shù)值計算算法函數(shù),簡單的包括三角函數(shù),復數(shù)計算以及級數(shù)展開等,復雜的包括快速傅里葉變換、矩陣運算以及復雜函數(shù)多項式展開等等[23]。5 . MATLAB圖像生成:這個功能很具特色且功能強大,通過MATLAB我們可以把多種數(shù)據(jù)用圖像表示出來,包括矩陣和數(shù)組,生成的圖像的各種參數(shù)(顏色外觀形狀等)都可以由使用者自定義[24]。本文中我們使用MATLAB進行數(shù)字濾波器的設(shè)計和模擬仿真,濾波器參數(shù)可以隨時調(diào)整,生成圖像便捷直觀。 SFunction介紹 SFunction 可以使用MATLAB174。,C,C++,Ada,或Fortran 語言來編寫。使用MEX 實用工具,將C,C++,Ada,和Fortran 語言的SFunction 編譯成MEX文件,在需要的時候,它們可與其它的MEX文件一起動態(tài)地連接到MATLAB 中。 SFunction 使用一種特殊的調(diào)用格式讓你可以與Simulink 方程求解器相互作用,這與發(fā)生在求解器和內(nèi)置Simulink 塊之間的相互作用非常相似。SFunction 的形式是非常通用的,且適用于連續(xù)、離散和混合系統(tǒng)。 Sfunction 為你提供了一種在Simulink 模型中增加自制塊的手段,你可以使用MATLAB,C,C++,Ada,或Fortran 語言來創(chuàng)建自己的塊。按照下面一套簡單的規(guī)則,你可以在Sfunction 中實現(xiàn)自己的算法。在你編寫一個SFunction 函數(shù),并將函數(shù)名放置在一個SFunction 塊中(在用戶定義的函數(shù)塊庫中有效)之后,通過使用masking 定制用戶界面。 FIR濾波器基礎(chǔ)簡介 FIR濾波器的基本特性數(shù)字FIR(Finite Impulse Response)濾波器指有限脈沖響應(yīng)數(shù)字濾波器,這是一種在數(shù)字型信號處理領(lǐng)域中應(yīng)用非常廣泛的基礎(chǔ)性濾波器元件,數(shù)字FIR濾波器的特點是能夠在輸入具有任意幅頻特性的數(shù)字信號后,保證輸出數(shù)字信號的相頻特性仍然保持嚴格線性[25]。另外,F(xiàn)IR數(shù)字濾波器具有有限長的脈沖采樣響應(yīng)特性,比較穩(wěn)定。因此,F(xiàn)IR濾波器的應(yīng)用要遠遠廣于IIR濾波器,在信息傳輸領(lǐng)域、模式識別領(lǐng)域以及數(shù)字圖像處理領(lǐng)域具有舉足輕重的作用。但比較讓人頭疼的是,只有當FIR濾波器的階數(shù)達到IIR濾波器的幾倍到十幾倍的時候,其幅度響應(yīng)才能比肩IIR濾波器。因此,只有當使用者對濾波器的特性要求很高時,才會選擇FIR數(shù)字濾波器,另外,F(xiàn)IR濾波器的濾波過程一般需要更多的運算時間[26]。數(shù)字FIR濾波器的工作原理:模擬信號首先經(jīng)由AO轉(zhuǎn)換器件(逐次逼近型A/D轉(zhuǎn)換器速度較快)被轉(zhuǎn)化成數(shù)字信號,進入濾波器進行處理后,形成一長串數(shù)據(jù)序列,如果有需要的話再將該數(shù)據(jù)序列輸入到外接D/A轉(zhuǎn)換器,轉(zhuǎn)化成為模擬信號使用[27]。 主流FIR濾波器的硬件實現(xiàn)方法(1) 可編程邏輯器件:可編程邏輯器件包括CPLD以及FPGA,對于這兩種內(nèi)部邏輯模塊功能十分齊備而且內(nèi)部資源十分豐富的可編程邏輯器件來說,正好適合用于實現(xiàn)結(jié)構(gòu)并行度極高的FIR數(shù)字濾波器,我們在對比可編程邏輯器件與DSP芯片的優(yōu)劣后發(fā)現(xiàn),該方法的優(yōu)勢在于更強大的并行性和可擴展性[28]。(2) 專門用于數(shù)字信號領(lǐng)域的單片機:目前一般的數(shù)字信號處理芯片,內(nèi)部預寫入了大批DSP函數(shù),我們可以直接調(diào)用這些函數(shù)來輕松實現(xiàn)FIR濾波器的各項功能,但由于不同公司的不同系列的數(shù)字信號處理芯片編程代碼大相徑庭,極大地拖延了開發(fā)速度,而且該方法實現(xiàn)的濾波器的速度受芯片性能影響較大[29]。(3) 數(shù)字集成電路:使用單片數(shù)字集成電路或者把多片專門用于實現(xiàn)濾波器功能的數(shù)字集成電路級聯(lián)起來,我們可以輕松實現(xiàn)FIR數(shù)字濾波器功能。但是單片集成電路性能不足,而多片級聯(lián)集成電路的體積太大,功耗過高,所以該方法應(yīng)用前景不太好[30]。 MATLAB濾波器工具設(shè)計FIR濾波器實例 FIR濾波器的設(shè)計(1)本文主要是采用MATLAB設(shè)計工具FDAtool來設(shè)計濾波器,F(xiàn)DAtool界面簡單明了:界面主要分為上下兩大部分,特性區(qū)和濾波器設(shè)計區(qū)(Design Filter)。特性區(qū)用來實時顯示濾波器的多種特性,濾波器設(shè)計區(qū)比較復雜,該區(qū)主要用來設(shè)置濾波器的各種參數(shù),主要包括:濾波器類型選項(Filter Type),該選項中可以選擇濾波器的基本類型,包括高通(highpass)、低通(lowpass)、帶通(bandpass)、帶阻(bandstop)以及特殊FIR濾波器。濾波器設(shè)計方法選項(design method),可以選擇最小二乘法(least一squares)、窗函數(shù)法(window)、巴特沃斯法(butter worth)、車比雪夫I法(chebyshev type I)、車比雪夫II法( chebyshev type II)以及橢圓濾波器法(elliptic)。還有濾波器選項,該選項可以選擇濾波器階數(shù),包括指定階數(shù)(specify order)、最小化階數(shù)(minimum order)兩個選項,要注意的是,如果選擇指定階數(shù),那么對于specify order=N,實際生成的濾波器階數(shù)為N+1。如果選擇階數(shù)最小化,則軟件會根據(jù)設(shè)計者選取的濾波器類型自動選擇適用于該類型的最小階數(shù)。還有頻率規(guī)格選項(frequency specifications),在該選項中我們可以自由定義濾波器的各種頻帶參數(shù),包括頻帶截止頻率,采樣頻率。該選項的具體子選項由濾波器類型選項和濾波器設(shè)計選項所決定,例如:低通濾波器所需要的參數(shù)只有下阻帶截止頻率和通帶下限截止頻率兩項,該濾波器就可以被獨一無二的確定下來,而帶通濾波器卻需要上阻帶截止頻率、通帶上限截止頻率、下阻帶截止頻率和通帶下限截止頻率,共四項才能確定性能參數(shù)。至于使用窗函數(shù)設(shè)計數(shù)字濾波器,由于窗函數(shù)的階數(shù)及類型足可以決定過渡帶的參數(shù),不需要另外確定阻帶參數(shù),因此設(shè)計者只需把濾波器的通帶截止頻率確定即可。幅度規(guī)格選項(magnitude specifications)可以控制特定位置的幅值衰減幅度,例如通帶范圍內(nèi)的幅值衰減、上下阻帶截止頻率的衰減幅度等等,當設(shè)計者選擇窗函數(shù)設(shè)計濾波器時,通帶截止頻率的幅值固定被衰減到6dB無需設(shè)計人員自主定義。最后是窗函數(shù)選項(window specifications),當設(shè)計者使用窗函數(shù)設(shè)計濾波器時,該選項可以自由定義多種窗函數(shù)的各項參數(shù)。(2) 下面我們舉例說明如何使用FDAtool工具箱設(shè)計一個FIR濾波器:在MATLAB中輸入fdatool,回車后進入濾波器設(shè)計界面,如圖31所示,然后選擇濾波器參數(shù):Response Type選擇Lowpass;Design Method選擇FIR,Window;Filter Order選擇Specify order、31階(實際為32階);Options中Window選擇Kaiser;Frequency Specifications中Units選擇Hz、Fs:48000、Fc:10800圖31 濾波器參數(shù)選擇 點擊Design filter,設(shè)計濾波器。 然后就得到了濾波器系數(shù)。我們可以通過點擊 Analysis 下的Filter Coefficients 來觀察濾波器的系數(shù),如圖 32 所示。 圖中所示系數(shù)為下面公式(31)中的h(k)。 (31) 當系數(shù)已經(jīng)計算出來,給定輸入信號時就可以計算出輸出信號。因此,下面對濾波器進行仿真驗證。圖32 濾波器系數(shù)顯示 FIR濾波器的仿真我們己經(jīng)知道,數(shù)字濾波器的仿真框架圖可以通過使用Simulink的功能模塊來得出,通過上文中的FDATool方法得到的數(shù)字濾波器也可以被導入到該功能中,仿真框架圖在仿真過程中隨時可以被雙擊,雙擊后可以根據(jù)需要來改變參數(shù),我們就可以得到在不同參數(shù)條件下的模擬仿真結(jié)果。而FIR數(shù)字濾波器則可以通過Sfunction來代替。Simulink仿真圖如圖33所示。圖中九個輸入信號分別是50Hz、100Hz、150Hz、200Hz、250Hz、300Hz、350Hz、400Hz和常數(shù)50。Powergui則是用來觀察和分析信號的。Sfunction是通過已計算出的濾波器系數(shù)編寫程序?qū)崿F(xiàn)公式(32)來代替濾波器。 (32) 點擊仿真開始按鈕,雙擊Scope2得到濾波前后的波形。如圖34,上部分為濾波前波形,下部分為濾波后波形??梢悦黠@看出濾波效果。圖33 Simulink 仿真圖圖34 濾波前后波形 下面通過powergui器件觀察濾波器的濾波效果。雙擊powergui器件,選擇FFT Analysis觀察濾波前后波形。分別如圖3圖36所示,可以看出濾波后基本上很多頻率的波形都得到了大幅度的濾除。圖35 濾波前FFT analysis圖36 濾波后FFT analysis下面給出Sfunction中程序內(nèi)容:define S_FUNCTION_NAME f2//define S_FUNCTION_NAME f2//define S_FUNCTION_NAME f2define S_FUNCTION_LEVEL 2include //include include define pi define U(element) (*uPtrs[element]) /* Pointer to Input Port0 */define ModRate 。//define k 。floatstatic float t。float t1。static float x[32]。static float y[32]。static float coff[32]。float sum。float average。static void calc(void)。/*====================
點擊復制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1