基于matlab的模擬濾波器設(shè)計(jì)-畢業(yè)論文_第1頁
已閱讀1頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  基于MATLAB的模擬濾波器設(shè)計(jì)</p><p><b>  1 引言</b></p><p><b>  1.1 選題背景</b></p><p>  1917年美國和德國科學(xué)家分別發(fā)明了LC濾波器,次年美國發(fā)明了第一個(gè)多路復(fù)用系統(tǒng)。50年代無源濾波在相頻技術(shù)日趨成熟,自60年代起由于微電子技術(shù)

2、、信息技術(shù)、計(jì)算機(jī)技術(shù)、集成工藝和材料工業(yè)的發(fā)展,濾波器朝著低功耗、高精度、小體積、多功能、高穩(wěn)定性和價(jià)廉方向努力,這些成為70年代以后的主攻方向。RC有源濾波器、數(shù)字濾波器、開關(guān)電容濾波器和電荷轉(zhuǎn)移器等各種濾波器的發(fā)展很快,它們被單片集成化。80年代,主要致力于各類新型濾波器性能的研究,并逐漸擴(kuò)大應(yīng)用范圍。90年代至今主要致力于把各類濾波器應(yīng)用于各類產(chǎn)品中,幾乎在所有的工程技術(shù)領(lǐng)域中都會涉及到信號處理問題[1],而濾波是信號處理的一種

3、基本而重要的技術(shù),利用濾波可從復(fù)雜的信號中抑制不需要的部分,提取所需要的信號[2]。濾波器的優(yōu)劣直接決定著產(chǎn)品的優(yōu)劣,所以濾波技術(shù)一直是極為敏感和熱門的課題,對濾波器的研制也歷來為各國所重視。</p><p>  在當(dāng)今30多個(gè)數(shù)學(xué)類科技應(yīng)用軟件中,就軟件數(shù)學(xué)處理的原始內(nèi)核而言,可分為兩大類。一類是數(shù)值計(jì)算型軟件,如MATLAB,Xmath,Gauss等,這類軟件長于數(shù)值計(jì)算,對處理大批數(shù)據(jù)效率高;另一類是數(shù)學(xué)分

4、析型軟件,Mathematica,Maple等,這類軟件以符號計(jì)算見長,能給出解析解和任意精確解,其缺點(diǎn)是處理大量數(shù)據(jù)時(shí)效率較低。時(shí)至今日,經(jīng)過MathWorks公司的不斷完善,MATLAB已經(jīng)發(fā)展成為適合多學(xué)科,多種工作平臺的功能強(qiáng)大的大型軟件。在歐美等高校,MATLAB已經(jīng)成為線性代數(shù),自動控制理論,數(shù)理統(tǒng)計(jì),數(shù)字信號處理,時(shí)間序列分析,動態(tài)系統(tǒng)仿真等高級課程的基本教學(xué)工具。利用MATLAB具有較嚴(yán)謹(jǐn)?shù)目茖W(xué)計(jì)算和圖形界面顯示這一優(yōu)點(diǎn)

5、,從而使濾波器設(shè)計(jì)結(jié)果顯示的更加直觀,且設(shè)計(jì)擴(kuò)展性好,便于調(diào)節(jié)濾波器的性能。</p><p>  1.2 目的和意義</p><p>  MATLAB中的圖形界面編程環(huán)境GUIDE為用戶開發(fā)軟件界面提供了強(qiáng)有力的工具,在圖形界面編程環(huán)境GUIDE下,設(shè)計(jì)好濾波器的設(shè)計(jì)工具界面后,對界面上各個(gè)控件的回調(diào)函數(shù)進(jìn)行編寫就能設(shè)計(jì)出交互式濾波器的分析設(shè)計(jì)軟件。利用MATLAB具有較嚴(yán)謹(jǐn)?shù)目茖W(xué)計(jì)算和

6、圖形顯示這一優(yōu)點(diǎn),從而使濾波器設(shè)計(jì)結(jié)果顯示的更加直觀,設(shè)計(jì)擴(kuò)展性好,便于調(diào)節(jié)濾波器的性能。</p><p>  通過對模擬濾波器(包括巴特沃斯濾波器和切比雪夫?yàn)V波器)的設(shè)計(jì)原理和方法的研究,在此基礎(chǔ)上論述了模擬濾波器(包括低通、高通、帶通、帶阻)的設(shè)計(jì)[3]。</p><p>  1.3 發(fā)展現(xiàn)狀及趨勢</p><p>  MATLAB以其強(qiáng)大的計(jì)算和繪圖功能、大

7、量穩(wěn)定可靠的算法庫、簡潔高效的編程語言以及龐大的用戶群,成為數(shù)學(xué)計(jì)算工具方面事實(shí)上的標(biāo)準(zhǔn)[4]。幾乎所有的工程計(jì)算領(lǐng)域,MATLAB都有相應(yīng)的軟件工具箱。從20世紀(jì)90年代初期開始,MATLAB開始逐步引入到應(yīng)用代數(shù)、數(shù)理統(tǒng)計(jì)、信號與系統(tǒng)、制動控制、數(shù)字信號處理、通信系統(tǒng)、動態(tài)系統(tǒng)仿真等課程中學(xué)習(xí)和運(yùn)用,時(shí)至今日,經(jīng)過MathWorks公司的不斷完善,MATLAB已經(jīng)發(fā)展成為適合多學(xué)科,多種工作平臺的功能強(qiáng)大大型軟件[5]。</p

8、><p>  在近代電信設(shè)備和各類控制系統(tǒng)中,濾波器應(yīng)用極為廣泛。幾乎在所有的電子部件中使用最多,技術(shù)最為復(fù)雜的即為濾波器。濾波器的優(yōu)劣直接決定著產(chǎn)品的優(yōu)劣,所以對濾波器的研究和生產(chǎn)歷來為各國所重視。隨著電子工業(yè)的發(fā)展,對濾波器性能的要求越來越高。我國電子產(chǎn)品要實(shí)現(xiàn)大規(guī)模集成,濾波器集成化仍是重要課題。如何進(jìn)一步實(shí)現(xiàn)濾波器的小型化、集成化和高效化是今后很長一段時(shí)間內(nèi)不變的研究和發(fā)展主題。經(jīng)過MathWorks公司的不

9、斷完善,在設(shè)計(jì)研究單位和工業(yè)部門,MATLAB被廣泛用于科學(xué)研究和解決各種具體問題,對于濾波器的研究,能夠在MATLAB里找到合適的功能[6]。</p><p><b>  2 方案論證</b></p><p>  2.1 濾波器設(shè)計(jì)原理</p><p>  2.1.1 濾波器概述</p><p>  濾波器是通訊

10、系統(tǒng)中的一種不可缺少的器件。濾波技術(shù)是信號分析,處理技術(shù)的重要分支。無論是信號的獲取,傳輸,還是信號的處理和交換都離不開濾波技術(shù),它對信號安全可靠和有效靈活地傳遞是至關(guān)重要的。在所有的電子系統(tǒng)中,使用最多,技術(shù)最為復(fù)雜的應(yīng)該是濾波器了。濾波器的優(yōu)劣直接決定著產(chǎn)品的優(yōu)劣,所以,濾波技術(shù)一直是極為敏感和熱門的課題,對濾波器的研制也歷來為各國所重視。</p><p>  濾波器可廣義地理解為一個(gè)信號選擇系統(tǒng)。濾波器的功

11、能是讓某些頻率的信號比較順利的通過,而另外頻率的信號受到較大抑制與衰減。濾波器中,把信號能夠通過</p><p>  的頻率范圍,稱為通頻帶或通帶;反之,信號受到很大衰減或完全被抑制的頻率范圍稱為阻帶;通帶和阻帶之間的分界頻率稱為截止頻率;理想濾波器在通帶內(nèi)的電壓增益為常數(shù),在阻帶內(nèi)的電壓增益為零;帶通濾波器兩個(gè)截至頻率的差值為帶寬(BW);實(shí)際濾波器的通帶和阻帶之間存在一定頻率范圍的過渡帶[7]。</p&

12、gt;<p>  2.1.2 模擬濾波器的工作原理</p><p>  模擬濾波器是對模擬信號實(shí)行線性濾波的一種線性時(shí)不變系統(tǒng),如圖1所示。在時(shí)域內(nèi),它的動態(tài)特性可以用系統(tǒng)的單位沖激函數(shù)的響應(yīng)來描述,也就是該濾波系統(tǒng)在任何時(shí)刻對輸入單位沖激信號=δ(t)的輸出響應(yīng)。這個(gè)函數(shù)從時(shí)域上反映了該濾波系統(tǒng)的傳輸特性。對于任意輸入信號,系統(tǒng)的輸出可以卷積表示:</p><p>  =

13、 (1)</p><p>  上式表明在對線性濾波器系統(tǒng)進(jìn)行時(shí)域分析時(shí),采用了疊加原理,先將任意輸入信號波形分成不同時(shí)間的窄脈沖之和,再分別求出各個(gè)脈沖通過濾波器之后的響應(yīng),并進(jìn)行線性疊加從而得到總的輸出信號。</p><p>  圖1 模擬濾波器原理</p><p>  在頻域分析時(shí),線性濾波器的轉(zhuǎn)移函數(shù)等于系統(tǒng)的單位沖激函數(shù)的響應(yīng)

14、的拉普拉斯變換;</p><p><b>  (2)</b></p><p>  很明顯,當(dāng)s=jω,上式就是傅立葉變換的表達(dá)式,它反映了濾波器的傳輸特性對各種頻率的響應(yīng),也就是濾波器的頻率響應(yīng)函數(shù),它決定著濾波特性。當(dāng)濾波器輸入信號與輸出信號的拉普拉斯變換,得</p><p><b>  (3)</b></p>

15、;<p>  這表明兩信號卷積的變換等于各自變換的乘積。在頻譜關(guān)系上,一個(gè)輸入信號的頻譜,經(jīng)過濾波器的作用后,被變換成的頻譜。因此,根據(jù)不同的濾波要求來選定,就可以得到不同類型的模擬濾波器。還可以看出,濾</p><p>  波器的濾波過程就是完成信號與它的單位沖激函數(shù)響應(yīng)之間的數(shù)學(xué)卷積運(yùn)算過程[8]。</p><p>  2.1.3 模擬濾波器的設(shè)計(jì)</p>

16、<p>  模擬濾波器按幅度特征可以分成低通、高通、帶通和帶阻濾波器。它們的幅頻特性如圖2所示,但我們設(shè)計(jì)濾波器時(shí),總是先設(shè)計(jì)低通濾波器,再通過頻率變換將低通濾波器轉(zhuǎn)換成希望類型的濾波器。</p><p>  模擬濾波器的設(shè)計(jì)方法:</p><p>  利用頻率變換設(shè)計(jì)模擬濾波器的步驟為:</p><p>  (1) 給定模擬濾波器的性能指標(biāo),如截止頻

17、率或上、下邊界頻率等。</p><p>  (2) 確定濾波器階數(shù)</p><p>  (3) 設(shè)計(jì)模擬低通原型濾波器。</p><p>  (4) 按頻率變換設(shè)計(jì)模擬濾波器(低通、高通、帶通、帶阻)。</p><p>  模擬低通濾波器的設(shè)計(jì)指標(biāo)有,和,其中和分別稱為通帶截止頻率和阻帶截止頻率。是通帶Ω中的最大衰減系數(shù),是阻帶Ω≥的最

18、小衰減系數(shù),和一般用dB表示。對于單調(diào)下降的幅度特性,可表示成:</p><p><b>  (4)</b></p><p><b>  (5)</b></p><p>  如果Ω=0處幅度已歸一化為一,即,和表示為</p><p><b>  (6)</b></p>

19、;<p><b>  (7)</b></p><p>  以上技術(shù)指標(biāo)用圖3表示,圖中稱為3dB 截止頻率,因,-20 </p><p>  圖3 低通濾波器的幅度特性</p><p>  濾波器的技術(shù)指標(biāo)給定以后,需要設(shè)計(jì)一個(gè)傳輸函數(shù),希望其幅度平方函數(shù)滿足給定的指標(biāo)和,一般濾波器的單位沖激響應(yīng)為實(shí)數(shù),因此</p>

20、<p>  = (8)</p><p>  如果能由,,,求出,那么就可以求出所需的,對于上面介紹的典型濾波器,其幅度平方函數(shù)有自己的表達(dá)式,可以直接引用[9]。</p><p>  2.2 巴特沃斯與切比雪夫?yàn)V波器</p><p>  2.2.1 巴特沃斯濾波器</p><p>  巴特

21、沃斯濾波器是最基本的逼近方法形式之一。它的幅頻特性模平方為</p><p><b>  (9)</b></p><p>  式中N是濾波器的階數(shù)。當(dāng)Ω=0時(shí),;當(dāng)Ω=時(shí),,是3dB截止頻率。</p><p>  不同階數(shù)N的巴特沃斯濾波器特性如圖4所示,這一幅頻特性具有下列特點(diǎn):</p><p>  (1) 最大平坦性

22、:可以證明:在Ω=0點(diǎn),它的前(2N-1)階導(dǎo)數(shù)都等于0,這表明巴特沃斯濾波器在Ω=0附近一段范圍內(nèi)是非常平直的,它以原點(diǎn)的最大平坦性來逼近理想低通濾波器?!白钇巾憫?yīng)”即由此而來。</p><p>  (2) 通帶,阻帶下降的單調(diào)性。這種濾波器具有良好的相頻特性。</p><p>  (3) 3dB的不變性:隨著N的增加,頻帶邊緣下降越陡峭,越接近理想特性,但不管N是多少,幅頻特性都通

23、過-3dB點(diǎn)。</p><p>  圖4 不同階數(shù)N的巴特沃斯濾波器特性</p><p>  MATLAB中設(shè)計(jì)巴特沃斯模擬濾波器的函數(shù)[10]:</p><p>  (1) buttord</p><p>  功能:用于計(jì)算巴特沃斯模擬濾波器的階數(shù)N和3dB截止頻率wc。</p><p>  格式:[N,wc]=

24、buttord(wp,ws,Rp,Rs,‘s’)</p><p>  (2) buttap</p><p>  功能:用于計(jì)算濾波器的零點(diǎn)z,極點(diǎn)p,增益k。</p><p>  格式:[z,p,k]=buttap(n)</p><p>  (3) zp2tf</p><p>  功能:將模擬原型濾波器函數(shù)設(shè)計(jì)出的

25、零點(diǎn)z,極點(diǎn)p,增益k形式轉(zhuǎn)換為傳遞函數(shù)形式</p><p>  格式:[b,a]=zp2tf(z,p,k)</p><p>  (4) lp2hp</p><p>  功能:模擬低通濾波器到模擬高通濾波器的變換。</p><p>  格式:[bt,at] = lp2hp(b,a,Wo)</p><p>  (5)

26、 lp2bp</p><p>  功能:模擬低通濾波器到模擬帶通濾波器的變換。</p><p>  格式:[bt,at] = lp2bp(b,a,Wo,Bw)</p><p>  (6) lp2bs</p><p>  功能:模擬低通濾波器到模擬帶阻濾波器的變換。</p><p>  格式:[bt,at] = lp2

27、bs(b,a,Wo,Bw)</p><p>  (7) freqs</p><p>  功能:求幅頻響應(yīng)和相頻響應(yīng)</p><p>  格式:[H,f]=freqs(b,a,w)</p><p>  2.2.2 切比雪夫?yàn)V波器</p><p>  巴特沃斯濾波器的頻率特性曲線,無論在通帶和阻帶都是頻率的單調(diào)函數(shù)。當(dāng)

28、通帶邊界處滿足指標(biāo)要求時(shí),通帶內(nèi)肯定會有余量。因此,更有效的設(shè)計(jì)方法應(yīng)該是將精確度均勻地分布在整個(gè)通帶內(nèi)。這可通過選擇具有等波紋特性的逼近函數(shù)來達(dá)到。</p><p>  切比雪夫?yàn)V波器的振幅特性就是具有這種等波紋特性。它有兩種型式:振幅特性在通帶內(nèi)是等波紋的,在阻帶內(nèi)是單調(diào)的切比雪夫I型濾波器;振幅特性在通帶內(nèi)是單調(diào)的,在阻帶內(nèi)是等波紋的切比雪夫II型濾波器。采用何種型式切比雪夫?yàn)V波器取決于實(shí)際用途[11]。&

29、lt;/p><p>  這種濾波器的幅頻特性模平方為:</p><p><b>  (10)</b></p><p>  式中ε是決定通帶內(nèi)起伏的等波紋參數(shù),是第一類切比雪夫多項(xiàng)式。</p><p>  圖5(a)是按式(10)畫出的切比雪夫等波紋濾波器的幅頻特性,圖6(b)是通帶內(nèi)起伏與的關(guān)系[12]。</p>

30、<p>  切比雪夫?yàn)V波器的濾波特性具有下列特點(diǎn):</p><p>  (1) 所有曲線在Ω=時(shí)通過點(diǎn),因而把定義為切比雪夫?yàn)V波器的截止角頻率。</p><p>  (2) 在通帶內(nèi)│Ω/│≤1,在1和之間變化;在通帶外,│Ω/ │>1,特性呈單調(diào)下降,下降速度為20NdB/dec。</p><p>  (3) N為奇數(shù),=1;N為偶數(shù),=

31、。通帶內(nèi)誤差分布是均勻的,實(shí)際上這種逼近稱為最佳一致逼近。</p><p>  (4) 由于濾波器通帶內(nèi)有起伏,因而使通帶內(nèi)的相頻特性也有相應(yīng)的起伏波動。即相位是非線性的,這給信號傳輸時(shí)帶來線性畸變,所以在要求群時(shí)延為常數(shù)時(shí)不宜采用這種濾波器。</p><p>  2.2.2.1 ChbbyshevI型</p><p>  Chbbyshev I型阻帶內(nèi)是平滑的

32、,而通帶具有等波紋起伏特性[13]。</p><p>  MATLAB中設(shè)計(jì)巴特沃斯模擬濾波器的函數(shù)[14]:</p><p>  (1) cheb1ord</p><p>  功能:用于計(jì)算切比雪夫I型模擬濾波器的階數(shù)n</p><p>  格式:[n,Wn]=cheb1ord(wp,ws,Rp,Rs,'s')</p

33、><p>  (2) cheby1</p><p>  功能:確定階數(shù)為n的切比雪夫I型模擬濾波器的分子、分母多項(xiàng)式</p><p>  格式:[b,a]=cheby1(n,Rp,Wn,'s');</p><p>  (3) freqs</p><p>  功能:求幅頻響應(yīng)和相頻響應(yīng)</p>

34、<p>  格式:[H,f]=freqs(b,a,w)</p><p>  2.2.2.2 ChbbyshevII型</p><p>  ChbbyshevII型通帶內(nèi)是平滑的,而阻帶具有等波紋起伏特性。因此,在階數(shù)N的計(jì)算公式上是相同的,而-3dB截止頻率則不同[15]。</p><p>  MATLAB中設(shè)計(jì)巴特沃斯模擬濾波器的函數(shù):</p

35、><p>  (1) cheb2ord</p><p>  功能:用于計(jì)算切比雪夫II型模擬濾波器的階數(shù)n</p><p>  格式:[n,Wn]=cheb2ord(wp,ws,Rp,Rs,'s')</p><p>  (2) cheby2</p><p>  功能:確定階數(shù)為n的切比雪夫II型模擬濾波

36、器的分子、分母多項(xiàng)式</p><p>  格式:[b,a]=cheby2(n,Rp,Wn,'s');</p><p>  (3) freqs</p><p>  功能:求幅頻響應(yīng)和相頻響應(yīng)</p><p>  格式:[H,f]=freqs(b,a,w)</p><p>  2.3 運(yùn)行環(huán)境及實(shí)現(xiàn)技術(shù)

37、</p><p>  在Matlab中,圖形用戶界面(graphical user interface,GUI) (如圖6所示)是Matlab中一個(gè)專用于GUI程序設(shè)計(jì)的向?qū)гO(shè)計(jì)器,而GUI是由各種圖形對象,如圖形窗口、圖軸、菜單、按鈕、文本框等構(gòu)建的用戶界面,是人機(jī)交互的有效工具和方法。通過GUIDE可以很方便地設(shè)計(jì)出各種符合要求的圖形用戶界面。用戶通過一定的方法(如鼠標(biāo)或鍵盤)選擇、激活這些圖形對象,使計(jì)算機(jī)

38、產(chǎn)生某種動作或變化,比如實(shí)現(xiàn)計(jì)算、繪圖等。GUIDE將用戶保存設(shè)計(jì)好的圖形用戶界面保存在一個(gè)FIG資源文件中,同時(shí)自動生成包含圖形用戶界面初始化和組件界面布局控制代碼的M文件,這個(gè)M文件為實(shí)現(xiàn)回調(diào)函數(shù)的編寫提供了一個(gè)參考框架。FIG文件是一個(gè)二進(jìn)制文件,包含系列化的圖形窗口對象。所有對象的屬性都是用戶創(chuàng)建圖形窗口時(shí)保存的屬性。該文件最主要的功能是對象句柄的保存。M文件包含GUI設(shè)計(jì)、控制函數(shù)及控件的回調(diào)函數(shù),主要用來控制GUI展開時(shí)的各

39、種特征。該文件基本上可以分為GUI初始化和回調(diào)函數(shù)兩個(gè)部分,控件的回調(diào)函數(shù)可根據(jù)用戶與GUI的具體交互行為分別調(diào)用[16]。</p><p>  本設(shè)計(jì)主要是先設(shè)計(jì)MATLAB中GUI界面設(shè)計(jì)。進(jìn)行設(shè)計(jì)時(shí), 首先單擊面板左邊所需的控件, 然后在右邊的圖形界面編輯區(qū)中再次單擊某一恰當(dāng)位置, 這時(shí)將在該位上為圖形界面添加相應(yīng)的控件?!盀V波器設(shè)計(jì)軟件”圖形界面(如圖7所示)的完成后,點(diǎn)擊guide界面上方的Run按鈕,

40、會生成一個(gè)FIG文件,一個(gè)M文件,其中FIG文件就是界面的圖形,M文件是界面的回調(diào)函數(shù),在M文件里每個(gè)控件的回調(diào)函數(shù)都已經(jīng)自動生成,要做的工作就是在文件框架下定義某些特殊要求的狀態(tài)并補(bǔ)充完整回調(diào)函數(shù), 使單擊控件時(shí)激活回調(diào)程序完成一定的功能。</p><p>  圖6 GUI設(shè)計(jì)的圖形界面</p><p>  圖7 “濾波器設(shè)計(jì)軟件”GUI界面設(shè)計(jì)</p><p&g

41、t;  “濾波器設(shè)計(jì)軟件”回調(diào)函數(shù)編寫設(shè)計(jì)總框圖如圖8所示:</p><p><b>  圖8 設(shè)計(jì)總框圖</b></p><p><b>  3 設(shè)計(jì)論述</b></p><p>  3.1 設(shè)計(jì)綜合要求</p><p><b>  要實(shí)現(xiàn)的功能:</b></p&

42、gt;<p>  (1) 能夠?qū)崿F(xiàn)人機(jī)交互,便于操作;</p><p>  (2) 能夠選擇巴特沃斯(Butterworth)、切比雪夫Ⅰ(ChebyshevⅠ)濾波器、切比雪夫Ⅱ(ChebyshevⅡ)濾波器;</p><p>  (3) 在下拉菜單Filter Type中選擇濾波器類型,能夠選擇Lowpass、Highpass、Bandpass、Bandstop四種

43、類型;</p><p>  (4) 在設(shè)計(jì)濾波器階數(shù)時(shí),可選擇自定義階數(shù)和利用最小階數(shù)設(shè)計(jì)濾波器 ;</p><p>  (5) 在參數(shù)輸入中,可輸入截止頻率Fc、濾波器通帶臨界頻率(Fp1、Fp2)、濾波器阻帶臨界頻率(Fst1、Fst2)、通帶內(nèi)的最大衰減Rp、通帶內(nèi)的最小衰減Rs;</p><p>  (6) 當(dāng)用戶選擇(或輸入)濾波器的參數(shù)時(shí),運(yùn)行后能

44、夠及時(shí)顯示設(shè)計(jì)好的濾波器的幅頻特性和相頻特性圖。</p><p>  3.2 “濾波器設(shè)計(jì)”軟件的總體設(shè)計(jì)</p><p>  GUI界面設(shè)計(jì)總框圖如圖9所示。</p><p>  圖9 GUI界面設(shè)計(jì)總框圖</p><p>  3.3 “濾波器設(shè)計(jì)”軟件的詳細(xì)設(shè)計(jì)</p><p>  3.3.1 GUI各控件

45、簡介</p><p>  用戶欲啟動GUI操作,可以在命令窗口中輸入guide命令。當(dāng)用戶在guide中打開一個(gè)GUI時(shí),該GUI將顯示在Layout編輯器中,Layout編輯器是所有g(shù)uide工具的控制面板。在布局編輯器件中可以很方便地改變GUI中網(wǎng)格窗口的大小,只需要單擊網(wǎng)格區(qū)域的右下角,當(dāng)鼠標(biāo)變?yōu)榧^形式時(shí),拖動鼠標(biāo),即可適時(shí)改變窗口大小。</p><p>  用戶可以使用三種方法打

46、開屬性查看器:(1)在布局窗口中雙擊某個(gè)控件;(2)在View菜單中選擇Property Inspector選項(xiàng);(3)右擊某個(gè)控件并從彈出的快捷菜單中選擇Inspector Properties選項(xiàng)。當(dāng)運(yùn)行GUI時(shí),M文件創(chuàng)建一個(gè)包含所有GUI對象(如控件,菜單和坐標(biāo)軸)的句柄結(jié)構(gòu),句柄結(jié)構(gòu)作為每一個(gè)響應(yīng)的輸入來處理。用戶使用句柄結(jié)構(gòu)可以實(shí)現(xiàn)如下操作:(1)在各響應(yīng)之間實(shí)現(xiàn)數(shù)據(jù)共享;(2)訪問GUI數(shù)據(jù)。假如用戶欲取得變量X的數(shù)據(jù)可以

47、想將句柄結(jié)構(gòu)的一個(gè)域設(shè)為X,然后在使用guidata函數(shù)保存該句柄,如下所示:</p><p>  然后在使用guidata函數(shù)保存該句柄,如下所示:</p><p>  handles current_data=X;</p><p>  guidata(hObject,handle);</p><p>  用戶可以在其他任何響應(yīng)中重新得到該

48、變量值,使用的操作如下:</p><p>  X=handles current_data;</p><p>  用戶還可以利用句柄獲取GUI控件的任意數(shù)據(jù)。用戶想要使用GUI中的另一個(gè)控件(比如一個(gè)按鈕)來在當(dāng)前所選的某個(gè)菜單項(xiàng)實(shí)現(xiàn)某個(gè)操作,那么用戶可以在該按鈕的響應(yīng)輸入如下命令:</p><p>  all_choices=get(handles.my_menu

49、,’string’)</p><p>  current_choice=all_choice{get(handles.my_menu,’Value’)}</p><p>  用戶可以給GUI的M文件的如下部分增加程序代碼:(1)打開函數(shù)(opening</p><p>  function),該函數(shù)可在GUI可見之前實(shí)施操作。(2)輸出函數(shù)(output funct

50、ion),在必要的時(shí)候向命令行輸出數(shù)據(jù)。(3)響應(yīng)(callbacks),在用戶激活GUI的響應(yīng)控件時(shí)實(shí)施操作。打開函數(shù)包含有在GUI可見之前進(jìn)行操作的代碼,用戶可以在打開函數(shù)中訪問GUI的所有控件,因?yàn)樗蠫UI中的對象都在調(diào)用打開函數(shù)之前就已經(jīng)創(chuàng)建。如果用戶需要在訪問GUI之前實(shí)現(xiàn)某些操作(如創(chuàng)建數(shù)據(jù)或圖形),那么可以通過在打開函數(shù)中添加代碼來實(shí)現(xiàn)[17]。如:對于一個(gè)文件名為my_gui的GUI來說,它的打開函數(shù)的定義語句如下:&

51、lt;/p><p>  function my_gui_OpeningFcn(hObject,eventdata,handles,varargin)</p><p>  輸出函數(shù)將輸出結(jié)果返回給命令行。這一點(diǎn)在用戶需要將某個(gè)變量傳遞給另一個(gè)GUI時(shí)尤其使用。GUI在輸出函數(shù)中生成如下代碼:</p><p>  %---Outputs from this function

52、 are returned to the command line.</p><p>  function varargout=my_gui_OutputFcn(hObjcet,eventdata,handles)</p><p>  %Get default command line output from handles structure</p><p>  

53、Varargout{1}=handles.output;</p><p>  按鈕(Radio Buttons)的響應(yīng):在圖形界面中添加該控件之后,該控件將在指定位置添加按鈕,按鈕的標(biāo)識字符由屬性String控制,而返回值由Value值控制。在GUI的M文件中使用如下形式的代碼來編制Radio按鈕的響應(yīng)程序:</p><p>  if(get(hObject,’Value’)==get(h

54、Object,’Max’))</p><p>  %then radio button is selected-take approriate action</p><p><b>  else</b></p><p>  %radio button is not selected-take approriate action</p>

55、;<p><b>  end</b></p><p>  “復(fù)選框”控件(Check Boxes)的響應(yīng):在圖形界面中添加該控件之后,</p><p>  該控件提供復(fù)選功能,將顯示文本字符串及選擇框。在GUI的M文件中使用如下形式的代碼來編制“復(fù)選框”控件的響應(yīng)程序:</p><p>  function checkbox1_C

56、allback(hObject,eventdata,handles)</p><p>  if(get(hObject,’Value’)==get(hObject,’Max’))</p><p>  %then checkbox is checked-take approriate action</p><p><b>  else </b>

57、;</p><p>  % checkbox is not checked-take approriate action</p><p><b>  end</b></p><p>  “文本框”控件(Edit Text)的響應(yīng):在圖形界面中添加該控件之后,該控件的屬性相當(dāng)于其他語言中的文本框?qū)傩裕试S用戶動態(tài)地編輯或是輸入文本字符串。如果需要

58、獲取用戶在文本框中輸入的字符串,可以在響應(yīng)程序中輸入如下代碼:</p><p>  function edittext1_Callback(hObject,eventdata,handles)</p><p>  user_string=get(hObject,’string’);</p><p>  %proceed with callback</p>

59、<p>  3.3.2 “濾波器設(shè)計(jì)”軟件界面的設(shè)計(jì)</p><p>  Filter design下拉菜單</p><p>  在下拉菜單Filter design中選擇Butterworth、 ChebyshevⅠ等濾波器,程序和效果圖(圖10)如下:</p><p>  function FilterDesign_Callback(hObjec

60、t, eventdata, handles)</p><p>  AutoRun_value=get(handles.AutoRun,'Value');</p><p>  if(AutoRun_value==1)</p><p>  AutoChoose(handles)</p><p><b>  end<

61、/b></p><p>  圖10 Filter design下拉菜單選項(xiàng)</p><p>  2、Filter Type下拉菜單</p><p>  在下拉菜單Filter Type中選擇濾波器類型</p><p>  選擇低通或者高通濾波器時(shí),隱藏相應(yīng)的帶通和帶阻的第二個(gè)臨界頻率,使其頻率參數(shù)不能輸入,程序和效果圖(圖11、圖12

62、)如下:</p><p>  function FilterType_Callback(hObject, eventdata, handles)</p><p>  %讀取此時(shí)設(shè)計(jì)的濾波器的類型,“Lowpass、Highpass、Bandpass、Bandstop”</p><p>  FilterType_value=get(handles.FilterType

63、,'Value');</p><p>  %當(dāng)選擇Lowpass或者Highpass,屏蔽相應(yīng)的臨界頻率的顯示</p><p>  if((FilterType_value==1)||(FilterType_value==2)) </p><p>  set(handles.Fp2,'visible&

64、#39;,'off');set(handles.Fs2,'visible','off');</p><p>  set(handles.text17,'visible','off');set(handles.text19,'visible','off');</p><p>  s

65、et(handles.text6,'visible','off');set(handles.text10,'visible','off'); </p><p><b>  else </b></p><p>  %當(dāng)選擇Bandpa

66、ss或者Bandstop,使相應(yīng)的臨界頻率的顯示,使參數(shù)能夠輸入</p><p>  if((FilterType_value==3)||(FilterType_value==4)) </p><p>  set(handles.Fp2,'visible','on');set(handles.Fs2,'visib

67、le','on');</p><p>  set(handles.text17,'visible','on');set(handles.text19,'visible','on');</p><p>  set(handles.text6,'visible','on');

68、set(handles.text10,'visible','on'); </p><p><b>  end</b></p><p><b>  end</b></p><p>  圖11 低通、高通濾波器頻率參數(shù)輸入 圖12 帶通、

69、帶阻濾波器頻率參數(shù)輸入</p><p>  3、Min Order和Custom Orde按鈕</p><p>  在設(shè)計(jì)濾波器階數(shù)時(shí),可選擇自定義階數(shù)和利用最小階數(shù)設(shè)計(jì)濾波器</p><p>  (1) 按鈕Min Order</p><p>  選擇使用最小階數(shù)設(shè)置時(shí),屏蔽自定義階數(shù)的輸入,如圖13</p><p&g

70、t;  function MinOrder_Callback(hObject, eventdata, handles)</p><p>  MinOrder_value=get(handles.MinOrder,'Value');</p><p>  if(MinOrder_value==1) </p><p&g

71、t;  set(handles.Order,'visible','off');</p><p><b>  else</b></p><p>  set(handles.Order,'visible','on'); </p><p><b>  end

72、</b></p><p>  (2) 按鈕Custom Order</p><p>  選擇自定義階數(shù)時(shí),顯示階數(shù)輸入框,如圖14</p><p>  function CustomOrderButton_Callback(hObject, eventdata, handles)</p><p>  CustomOrderBut

73、ton_value=get(handles.CustomOrderButton,'Value');</p><p>  if(CustomOrderButton_value==0) </p><p>  set(handles.Order,'visible','off');</p>&l

74、t;p><b>  else</b></p><p>  set(handles.Order,'visible','on'); </p><p><b>  end</b></p><p>  (3) 其中涉及Run控件中的程序如下:</p><

75、;p><b> ?、亠@示最小階數(shù)</b></p><p>  set(handles.MinOrderDisplay,'string',num2str(n))</p><p> ?、诋?dāng)選擇了自定義階數(shù)時(shí),讀取自定義階數(shù)</p><p>  if(MinOrder_value==0)</p><p>

76、  n=str2double(get(handles.Order,'String'))</p><p><b>  end</b></p><p>  圖13 使用最小階數(shù)設(shè)計(jì)Filter 圖14 使用自定義階數(shù)設(shè)計(jì)Filter</p><p>  4、Fp1、Fp2、Fst1、Fst2文本編輯框

77、</p><p>  function Fp1_Callback(hObject, eventdata, handles)</p><p>  Fp1_value=str2double(get(handles.Fp1,'String'));</p><p>  Fp2、Fst1、Fst2的回調(diào)函數(shù)同理編程</p><p>&l

78、t;b>  5、Run按鈕</b></p><p>  根據(jù)輸入的參數(shù)顯示設(shè)計(jì)的濾波器的幅頻特性和相頻特性圖,其程序如下:</p><p>  function Run_Callback(hObject, eventdata, handles)</p><p>  %點(diǎn)擊Run立即運(yùn)行AutoChoose,m文件,實(shí)現(xiàn)濾波器設(shè)計(jì)程序</p&g

79、t;<p>  AutoChoose(handles)</p><p>  6、Auto Run按鈕</p><p>  當(dāng)選擇了Auto Run按鈕時(shí),能夠根據(jù)所選的IIR的濾波器(Butterworth、 ChebyshevⅠ等)、FIR的窗口選項(xiàng)、圖形顯示類型(Linear、Logarithmic)立即顯示濾波器的幅頻特性和相頻特性圖。回調(diào)函數(shù)程序如下:</p&g

80、t;<p>  function FilterDesign_Callback(hObject, eventdata, handles)</p><p>  AutoRun_value=get(handles.AutoRun,'Value');</p><p>  %當(dāng)選擇了Filter(Butterworth、 ChebyshevⅠ等)中一種Filter運(yùn)行A

81、utoChoose,m文件</p><p>  if(AutoRun_value==1)</p><p>  AutoChoose(handles)</p><p><b>  end</b></p><p><b>  7、Quit按鈕</b></p><p>  退出濾波

82、器設(shè)計(jì)窗口,其程序如下:</p><p>  function Quit_Callback(hObject, eventdata, handles)</p><p>  %點(diǎn)擊Quti按鈕退出</p><p><b>  Close</b></p><p>  8、AutoChoose.m程序的編寫(見附錄2)</

83、p><p>  4 運(yùn)行結(jié)果及分析</p><p>  4.1 軟件運(yùn)行結(jié)果</p><p>  以設(shè)計(jì)模擬低通濾波器為例,利用Butterworth濾波器進(jìn)行設(shè)計(jì)其3dB截止頻率Fc=1000Hz,F(xiàn)p1=200Hz,F(xiàn)s1=700Hz,Rp=3dB,Rs=30dB,n=5,n=7如圖15、16所示:</p><p>  圖15 Butt

84、erworth低通濾波器(n=5) 圖16 Butterworth低通濾波器(n=7)</p><p>  模擬低通濾波器:利用ChebyshevⅠ濾波器進(jìn)行設(shè)計(jì)Fp1=200Hz,F(xiàn)s1=700Hz,Rp=3dB,Rs=30dB,n=5,n=7如圖17、18所示:</p><p>  圖17 ChebyshevⅠ低通濾波器(n=5) 圖18 Chebysh

85、evⅠ低通濾波器(n=7)</p><p>  模擬高通濾波器:用Butterworth濾波器進(jìn)行設(shè)計(jì)Fc=2000Hz,F(xiàn)p1=800Hz,F(xiàn)s1=500Hz,Rp=3dB,Rs=30dB,n=5,如圖19所示:</p><p>  圖19 Butterworth高通濾波器</p><p>  模擬帶通濾波器:用ChebyshevⅠ濾波器進(jìn)行設(shè)計(jì)Fp1=400H

86、z,F(xiàn)p2=800Hz,F(xiàn)s1=200Hz,F(xiàn)s2=1000Hz ,Rp=3dB,Rs=30dB,n=5,如圖20所示:</p><p>  圖20 ChebyshevⅠ帶通濾波器</p><p>  模擬帶阻濾波器:ChebyshevⅡ?yàn)V波器進(jìn)行設(shè)計(jì)Fp1=400Hz,F(xiàn)p2=1200Hz,</p><p>  Fs1=600Hz,F(xiàn)s2=1000Hz ,Rp=

87、3dB,Rs=30dB,n=5,如圖21所示:</p><p>  圖21 ChebyshevⅡ帶阻濾波器</p><p>  4.2 運(yùn)行結(jié)果分析</p><p>  由運(yùn)行結(jié)果顯示的幅頻響應(yīng)可看出,切比雪夫?yàn)V波器的振幅特性具有這種等波紋特性。它有兩種型式:振幅特性在通帶內(nèi)是等波紋的,在阻帶內(nèi)是單調(diào)的切比雪夫I型濾波器;振幅特性在通帶內(nèi)是單調(diào)的,在阻帶內(nèi)是等波

88、紋的切比雪夫II型濾波器。隨著N的增加,頻帶邊緣下降越陡峭,越接近理想特性。</p><p>  設(shè)計(jì)Butterworth濾波器時(shí),先設(shè)計(jì)低通濾波器,再通過頻率變換將低通濾波器轉(zhuǎn)換成高通、帶通、帶阻濾波器。由運(yùn)行結(jié)果顯示的幅頻響應(yīng)可看出Butterworth幅頻特性具有下列特點(diǎn):(1) 最大平坦性。(2) 通帶,阻帶下降的單調(diào)性。這種濾波器具有良好的相頻特性。(3) 3dB的不變性:隨著N的增加,頻帶邊緣下降越

89、陡峭,越接近理想特性,但不管N是多少,幅頻特性都通過3dB點(diǎn)。</p><p><b>  5 結(jié)束語</b></p><p>  MATLAB以其強(qiáng)大的計(jì)算和繪圖功能、大量穩(wěn)定可靠的算法庫、簡潔高效的編程語言,所以利用MATLAB具有較嚴(yán)謹(jǐn)?shù)目茖W(xué)計(jì)算和圖形顯示這一優(yōu)點(diǎn),從而使濾</p><p>  波器設(shè)計(jì)結(jié)果顯示的更加直觀,而且對濾波器的

90、精度也有了很大的提高,設(shè)計(jì)擴(kuò)展性好,便于調(diào)節(jié)濾波器的性能。</p><p>  本文首先介紹了模擬濾波器的工作原理及設(shè)計(jì)思路。然后重點(diǎn)介紹了模擬濾波器的設(shè)計(jì)和仿真,系統(tǒng)研究了模擬濾波器(包括巴特沃斯濾波器和切比雪夫?yàn)V波器)的設(shè)計(jì)原理和方法。先設(shè)計(jì)模擬低通濾波器,再通過頻率變換將模擬低通濾波器轉(zhuǎn)換成模擬高通、帶通、帶阻濾波器。在此基礎(chǔ)上,描述了如何用MATLAB的圖形用戶界面來設(shè)置濾波器的設(shè)計(jì)界面及回調(diào)函數(shù)的編寫。

91、利用MATLAB具有較嚴(yán)謹(jǐn)?shù)目茖W(xué)計(jì)算和圖形顯示這一優(yōu)點(diǎn),從而使濾波器設(shè)計(jì)結(jié)果顯示的更加直觀,設(shè)計(jì)擴(kuò)展性好,便于調(diào)節(jié)濾波器的性能。最后設(shè)計(jì)了一個(gè)基于MATLAB平臺的有多個(gè)濾波器的類型及參數(shù)可供選擇的圖形用戶界面,通過運(yùn)行可以顯示出模擬濾波器(包括巴特沃斯濾波器和切比雪夫?yàn)V波器)的幅頻響應(yīng)和相頻響應(yīng)曲線。</p><p>  通過本次設(shè)計(jì),學(xué)習(xí)了巴特沃斯模擬濾波器和切比雪夫模擬濾波器設(shè)計(jì)的原理與方法,學(xué)習(xí)了MATL

92、AB中GUI界面設(shè)計(jì)的操作和回調(diào)函數(shù)的編寫。在今后的學(xué)習(xí)或工作中,我將繼續(xù)努力,爭取能設(shè)計(jì)出操作更加方便,運(yùn)行速度更加快速的方案,來用MATLAB實(shí)現(xiàn)各種濾波器的幅頻響應(yīng)和相頻響應(yīng)曲線的顯示。在實(shí)際完成論文的過程中,由于受個(gè)人的知識、經(jīng)驗(yàn)和能力的限制,文中肯定難免存在不足之處,懇請大家提出批評和指正。</p><p><b>  參考文獻(xiàn)</b></p><p>  

93、[1]金波.信號與系統(tǒng)基礎(chǔ)[M].武漢:華中科技大學(xué)出版社,2006:183~202</p><p>  [2]劉益成.?dāng)?shù)字信號處理[M].北京:電子工業(yè)出版社,2004:123~176</p><p>  [3]金波.信號與系統(tǒng)實(shí)驗(yàn)教程[M].武漢:華中科技大學(xué)出版社,2008:90~145</p><p>  [4]施陽.MATLAB語言工具箱[M].西安:西北

94、工業(yè)大學(xué)出版社,1998:93~178</p><p>  [5]趙紅怡,張常年.?dāng)?shù)字信號處理及其MATLAB實(shí)現(xiàn)[M].北京:化學(xué)工業(yè)出版社,2002:113~125</p><p>  [6]王宏.Matlab6.5及其在信號處理中的應(yīng)用[M].北京:清華大學(xué)出版社,2004:123~175</p><p>  [7]吳大正.信號與線性系統(tǒng)分析[M].第3版.北

95、京:高等教育出版社,1998:102~152</p><p>  [8]梁紅,梁杰,陳躍斌.信號與系統(tǒng)分析及Matlab實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2007:93~146</p><p>  [9]陳思.巴特沃斯低通濾波器的簡化快速設(shè)計(jì)[J].信陽師范學(xué)院學(xué)報(bào)(自然科學(xué)版),1997,10(3)</p><p>  [10]甘俊英,胡異丁.基于Matlab的信

96、號與系統(tǒng)實(shí)驗(yàn)指導(dǎo)[M].北京:清華大學(xué)出版社,2007:133~162</p><p>  [11]樂正友.信號與系統(tǒng)[M].北京:清華大學(xué)出版社,2004:143~165</p><p>  [12]胡光銳.信號與系統(tǒng)[M].上海:上海交通大學(xué)出版社,1995:83~128</p><p>  [13]陳后金.信號與系統(tǒng)[M].第二版.北京:清華大學(xué)出版社,北京交

97、通大學(xué)出版社,</p><p>  2005:126~147</p><p>  [14]吳大正,高西全.Matlab在電子信息課程中的應(yīng)用[M].北京:電子工業(yè)出版社,2002:135~178</p><p>  [15]燕慶明.信號與系統(tǒng)教程[M].北京:高等教育出版社,2004:93~135</p><p>  [16]21IC中國電子

98、網(wǎng)[Z].http://www.21ic.com/app/analog/201007/61639.htm</p><p>  [17]電子開發(fā)網(wǎng)[Z].http://www.dzjs.net/html/EDAjishu/2007/0509/2051.html</p><p><b>  致謝</b></p><p>  在這次課題研究及論文編寫

99、中,老師給了我大量的建議及指導(dǎo),提供了課題研究的方向,在他的幫助下,課題的疑難問題能夠得以成功解決,課題能夠如期順利地完成。同時(shí),老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和實(shí)事求是的科研精神在課題研究中時(shí)刻影響著我,這將成為我在以后學(xué)習(xí)工作中的榜樣,激勵(lì)著我不斷進(jìn)步。在此特別感謝老師的悉心指導(dǎo)!</p><p>  通過這次畢業(yè)設(shè)計(jì),我除了深入地學(xué)到了更多相關(guān)的專業(yè)知識之外,更重要的是經(jīng)歷了畢業(yè)設(shè)計(jì)這個(gè)過程,熟悉了一般課題研究的整個(gè)過

100、程,為今后更深入的學(xué)習(xí)和工作奠定堅(jiān)實(shí)的基礎(chǔ)。再次對在實(shí)驗(yàn)及論文撰寫過程中,給予我很大幫助的老師和同學(xué)們表示誠摯的謝意。</p><p><b>  附錄:</b></p><p>  function varargout = Filter(varargin)</p><p>  % FILTER M-file for Filter.fig<

101、;/p><p>  gui_Singleton = 1;</p><p>  gui_State = struct('gui_Name', mfilename, ...</p><p>  'gui_Singleton', gui_Singleton, ...</p><p>  'gui_O

102、peningFcn', @Filter_OpeningFcn, ...</p><p>  'gui_OutputFcn', @Filter_OutputFcn, ...</p><p>  'gui_LayoutFcn', [] , ...</p><p>  'gui_Callback', []);

103、</p><p>  if nargin && ischar(varargin{1})</p><p>  gui_State.gui_Callback = str2func(varargin{1});</p><p><b>  end</b></p><p>  if nargout</p>

104、;<p>  [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});</p><p><b>  else</b></p><p>  gui_mainfcn(gui_State, varargin{:});</p><p><b>  end</

105、b></p><p>  % --- Executes just before Filter is made visible.</p><p>  function Filter_OpeningFcn(hObject, eventdata, handles, varargin)</p><p>  % This function has no output a

106、rgs, see OutputFcn.</p><p>  handles.output = hObject;</p><p>  % Update handles structure</p><p>  guidata(hObject, handles);</p><p>  % --- Outputs from this function

107、 are returned to the command line.</p><p>  function varargout = Filter_OutputFcn(hObject, eventdata, handles) </p><p>  varargout{1} = handles.output;</p><p>  function Fc_Callback

108、(hObject, eventdata, handles)</p><p>  % Hints: get(hObject,'String') returns contents of Fc as text</p><p>  % str2double(get(hObject,'String')) returns contents of Fc as

109、 a double</p><p>  % --- Executes during object creation, after setting all properties.</p><p>  function Fc_CreateFcn(hObject, eventdata, handles)</p><p>  % Hint: edit controls us

110、ually have a white background on Windows.</p><p>  % See ISPC and COMPUTER.</p><p>  if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroun

111、dColor'))</p><p>  set(hObject,'BackgroundColor','white');</p><p><b>  end</b></p><p>  function Fp1_Callback(hObject, eventdata, handles)</p>

112、<p>  Fp1_value=str2double(get(handles.Fp1,'String'));</p><p>  % Hints: get(hObject,'String') returns contents of Fp1 as text</p><p>  % str2double(get(hObject,'

113、;String')) returns contents of Fp1 as a double</p><p>  % --- Executes during object creation, after setting all properties.</p><p>  function Fp1_CreateFcn(hObject, eventdata, handles)</

114、p><p>  % Hint: edit controls usually have a white background on Windows.</p><p>  % See ISPC and COMPUTER.</p><p>  if ispc && isequal(get(hObject,'BackgroundColor&#

115、39;), get(0,'defaultUicontrolBackgroundColor'))</p><p>  set(hObject,'BackgroundColor','white');</p><p><b>  end</b></p><p>  function Fp2_Callba

116、ck(hObject, eventdata, handles)</p><p>  Fp2_value=str2double(get(handles.Fp2,'String'));</p><p>  % Hints: get(hObject,'String') returns contents of Fp2 as text</p><p

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論