基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

長江大學(xué)工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)題目名稱基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)系部信息系專業(yè)班級電信61102班學(xué)生姓名指導(dǎo)教師輔導(dǎo)教師時(shí)間2014年9月至2015年6月目錄TOC\o"1-3"\h\u6776任務(wù)書 Ⅰ31351開題報(bào)告 Ⅱ6151指導(dǎo)教師審查意見 Ⅲ22747評閱教師評語 Ⅳ4933答辯會議記錄 Ⅴ20744中文摘要 Ⅵ26030外文摘要 Ⅶ116159前言 1210511緒論 22.14902數(shù)字抽取濾波器的研究背景與意義 22.232027數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)踐 32.39919數(shù)字抽取濾波器的作用與優(yōu)勢 32.44799數(shù)字抽取濾波器的應(yīng)用現(xiàn)狀與發(fā)展趨勢 4330120數(shù)字抽取濾波器的分類及其原理分析 53.129471幾種頻率之間的關(guān)系 53.230547抽取與抽取濾波器的原理 63.326458兩種特殊的抽取濾波器的性質(zhì)分析 103.42576多級抽取濾波器的原理 12420356數(shù)字濾波器的算法設(shè)計(jì) 144.19366由模擬濾波器設(shè)計(jì)IIR數(shù)字濾波器 144.227266巴特奧茲濾波器 154.326882切比雪夫?yàn)V波器 164.423976橢圓濾波器 184.519573用matlab仿真數(shù)字濾波器 204.6576FDATool界面 204.724827用Fdatool進(jìn)行帶通濾波器設(shè)計(jì) 224.828779將系統(tǒng)函數(shù)由直接型化成級聯(lián)型 254.931590二階節(jié)系數(shù)的確定 254.1014848系數(shù)轉(zhuǎn)換成二進(jìn)制碼 274.1132063本章小結(jié) 3057499數(shù)字抽取濾波器的實(shí)現(xiàn)過程 315.12811用MATLAB進(jìn)行仿真 315.230429用C++進(jìn)行濾波器的實(shí)現(xiàn) 345.2.130995抽取濾波器的界面框圖 355.2.213006對話框的設(shè)計(jì) 355.2.320151對話框的編程 385.2.416671輸入信號的初始化處理 415.2.529485圖形的設(shè)計(jì) 425.2.628193編寫繪圖代碼中要用的重要的語句 436800總結(jié) 4418178參考文件 4530057致謝 4613310附錄 47長江大學(xué)工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)任務(wù)書系信息系專業(yè)電子信息工程班級61102班學(xué)生姓名指導(dǎo)教師/職稱/講師1.畢業(yè)設(shè)計(jì)(論文)題目:基于C++的數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)2.畢業(yè)設(shè)計(jì)(論文)起止時(shí)間:2014年9月1日~2015年6月1日3.畢業(yè)設(shè)計(jì)(論文)所需資料及原始數(shù)據(jù)[1]李永全、楊順遼、孫祥娥數(shù)字信號處理[M]武漢:華中科技大學(xué)出版社,2011[2]佘新平數(shù)字電路設(shè)計(jì)、仿真、測試[M]武漢:華中科技大學(xué)出版社,2010[3]康華光電子技術(shù)基礎(chǔ)(數(shù)字部分)[M]北京:高等教育出版社,2006[4]張志涌、楊祖櫻MATLAB教程[M]北京:北京航空航天大學(xué)出版社,2009

[5]胡光書數(shù)字信號處理—理論、算法與實(shí)現(xiàn)[M]北京:清華大學(xué)出版社,2003

4.畢業(yè)設(shè)計(jì)(論文)應(yīng)完成的主要任務(wù)(1)查閱文獻(xiàn),提出研究方案,2014年10月25日前完成開題報(bào)告。(2)完成數(shù)字抽取濾波器的原理、仿真、實(shí)現(xiàn)的各個(gè)流程的功能設(shè)計(jì)。(3)按照各個(gè)模塊的功能,進(jìn)行詳細(xì)設(shè)計(jì),達(dá)到設(shè)計(jì)的要求和初衷。(4)2015年5月25日前提交畢業(yè)設(shè)計(jì)(論文)初稿,要求排版格式規(guī)范,字?jǐn)?shù)在15000字左右。5.長江大學(xué)工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)開題報(bào)告題目名稱基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)系部信息系專業(yè)班級電信61102學(xué)生姓名指導(dǎo)教師輔導(dǎo)教師開題報(bào)告時(shí)間2014年10月25日基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生:,信息系指導(dǎo)教師:,信息系一、題目來源本題目來源于科研項(xiàng)目。二、研究(設(shè)計(jì))目的和意義尤其是數(shù)字信號處理中的MATLAB和數(shù)字濾波知識。在設(shè)計(jì)過程中能綜合運(yùn)用所學(xué)的知識內(nèi)容,進(jìn)一步熟悉和掌握MATLAB的使用方法,對數(shù)字濾波器的原理以及應(yīng)用有較深的了解。另外在設(shè)計(jì)過程中,可以使我學(xué)會調(diào)查研究,收集資料,根據(jù)具體要求和設(shè)計(jì)規(guī)范選擇并確定設(shè)計(jì)方案,利用標(biāo)準(zhǔn)圖表和手冊完成設(shè)計(jì)任務(wù),培養(yǎng)綜合運(yùn)用已經(jīng)掌握的知識解決一般設(shè)計(jì)問題的能力。進(jìn)一步提高合理安排時(shí)間,設(shè)計(jì)計(jì)算、繪圖、編制工程預(yù)算以及使用計(jì)算機(jī)的技能。同時(shí)對語音通信和圖像處理行業(yè)的有關(guān)政策方針、技術(shù)規(guī)范有了一定的了解,在計(jì)算繪圖、設(shè)計(jì)說明等方面得到訓(xùn)練,為今后從事程序設(shè)計(jì)工作奠定了基礎(chǔ)。三、閱讀的主要參考文獻(xiàn)[1]李永全、楊順遼、孫祥娥.數(shù)字信號處理[M].武漢:華中科技大學(xué)出版社,2011.[2]佘新平.數(shù)字電路設(shè)計(jì)、仿真、測試[M].武漢:華中科技大學(xué)出版社,2010.[3]康華光.電子技術(shù)基礎(chǔ)(數(shù)字部分[M].北京:高等教育出版社,2006.[4]張志涌、楊祖櫻.教程[M].北京:北京航空航天大學(xué)出版社,2009.

[5][6]陳懷琛.數(shù)字型號處理教程-MATLAB釋義與實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2004.[7]鄧華.MATLAB通信仿真及應(yīng)用實(shí)例解析[M].北京:人民郵電出版社,1997.[8]應(yīng)用MA[M].北京:科學(xué)出版社,2001.[9]趙健、李毅、楊菊平.數(shù)字信號處理學(xué)習(xí)輔導(dǎo)[M].北京:清華大學(xué)出版社,2006.[10]劉加海、余建軍.VisualC++程序設(shè)計(jì)基礎(chǔ)[M].北京:科學(xué)出版社,2003.[11]羅斌.VisualC++編程技巧精選500例[M].北京:中國水利水電出版社,2005.[12]鄭阿奇.VisualC++實(shí)用教程(第二版)[M].北京:電子工業(yè)出版社,2004.四、國內(nèi)外現(xiàn)狀和發(fā)展趨勢自九十年代以來,由于大規(guī)模集成電路和電子技術(shù)以及信號處理技術(shù)的發(fā)展,使得數(shù)字抽取濾波器的實(shí)現(xiàn)已不成問題,例如在軟件無線電中的應(yīng)用。軟件無線電技術(shù)是軟件化、計(jì)算密集型的操作形式。它與數(shù)字和模擬信號之間的轉(zhuǎn)換、計(jì)算速度、運(yùn)算量、存儲量、數(shù)據(jù)處理方式等問題息息相關(guān),這些技術(shù)決定著軟件無線電技術(shù)的發(fā)展程度和進(jìn)展速度。寬帶/多頻段天線、A/D/A轉(zhuǎn)換器件、DSP(數(shù)字信號處理器)技術(shù)及實(shí)時(shí)操作系統(tǒng)是軟件無線電的關(guān)鍵技術(shù)。在軟件無線電通信系統(tǒng)中,要達(dá)到盡可能多的以數(shù)字形式處理無線信號,必須把A/D轉(zhuǎn)換盡可能地向天線端推移,這樣就對A/D轉(zhuǎn)換器的性能提出了更高的要求。為保證抽樣后的信號保持原信號的信息,

A/D轉(zhuǎn)換要滿足Nyquist準(zhǔn)則,

而在實(shí)際應(yīng)用中,為保證系統(tǒng)更好的性能,

通常抽樣率為帶寬的2.5倍。例如有一個(gè)帶寬50MHz的蜂窩移動通信系統(tǒng),

其抽樣率要達(dá)到12.5MSPS(每秒百萬次抽樣Million

Sample

Per

Second)以上。一般的A/D轉(zhuǎn)換器難以達(dá)到這個(gè)要求??梢钥闯龅头直媛实腁/D轉(zhuǎn)換器最有可能運(yùn)用于軟件無線電通信系統(tǒng)中,

但低分辨率的A/D轉(zhuǎn)換能否滿足信號處理的要求,

以及如何將已有的A/D轉(zhuǎn)換器運(yùn)用于更寬的頻段也是需要進(jìn)一步研究的課題。

對于第三代移動通信中WCDMA空中接口,

一個(gè)載頻的帶寬可以是5MHz,10MHz或20MHz,目前的A/D轉(zhuǎn)換技術(shù)已經(jīng)基本滿足要求,

對更高的轉(zhuǎn)換帶寬要求,可以用并行A/D轉(zhuǎn)換的方法完成。數(shù)字濾波器是對數(shù)字信號進(jìn)行濾波處理以得到期望的響應(yīng)特性的離散時(shí)間系統(tǒng)。它按實(shí)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)或者從單位脈沖響應(yīng),分為IIR(無限脈沖響應(yīng))和FIR(有限脈沖響應(yīng))濾波器。如果IIR濾波器和FIR濾波器具有相同的性能,那么通常IIR濾波器可以用較低的階數(shù)獲得高的選擇性,執(zhí)行速度更快,所用的存儲單元更少。但相比模擬濾波器,數(shù)字濾波器具有精確度高,使用靈活,可靠性高等優(yōu)點(diǎn),已廣泛地應(yīng)用在各個(gè)科學(xué)技術(shù)領(lǐng)域,如語音、通信、雷達(dá)、聲納、遙感、圖像、生物醫(yī)學(xué)以及許多工程應(yīng)用領(lǐng)域。隨著數(shù)字信息時(shí)代的發(fā)展,數(shù)字濾波技術(shù)已經(jīng)成為一門及其重要的科學(xué)和技術(shù)領(lǐng)域。以往的濾波器大多采用模擬電路技術(shù),但是模擬電路技術(shù)存在很多難以解決的問題,而采用數(shù)字濾波器則可以避免很多類似的難題,當(dāng)然它在其他方面也有很多突出的優(yōu)點(diǎn)都是模擬技術(shù)所不能及的,所以采用數(shù)字濾波器對信號進(jìn)行處理是目前的發(fā)展方向。目前,數(shù)字濾波器的設(shè)計(jì)在圖像處理、數(shù)據(jù)壓縮等方面的應(yīng)用取得了令人矚目的成就,近年來迅速發(fā)展。五、主要研究項(xiàng)目與實(shí)現(xiàn)方法數(shù)字抽取濾波器也是典型的數(shù)字信號處理器件,對于數(shù)字抽取濾波器原理的研究可以更清晰的去理解數(shù)字信號處理方面的知識,在實(shí)踐應(yīng)用環(huán)節(jié)中提高數(shù)字抽取濾波器的品質(zhì)可以提高整個(gè)數(shù)字處理系統(tǒng)的性能。因此,對數(shù)字抽取濾波器的研究是十分必要的。本文主要介紹數(shù)字信號處理中的基本概念,數(shù)字濾波器的設(shè)計(jì)方法,抽取的概念,抽取濾波的原理,和幾種常用的濾波器及其使用的條件與各自的特點(diǎn)??梢院芊奖愕剡\(yùn)用MATLAB對濾波器進(jìn)行理論的分析,再用VC++實(shí)現(xiàn)一個(gè)簡單的抽取濾波的過程,設(shè)計(jì)抽取濾波器的過程是對理論知識學(xué)習(xí)的過程,也是對數(shù)字信號處理軟件熟悉的過程。學(xué)會運(yùn)用相關(guān)軟件可以提高對理論知識的分析與理解,有助于以后的工作和學(xué)習(xí)。六、完成畢業(yè)設(shè)計(jì)(論文)所必須具備的工作條件所必須具備的工作環(huán)境:(1)計(jì)算機(jī)一臺;(2)WPS軟件;(3)MATLAB仿真軟件;(4)C++編譯器。七、達(dá)到目標(biāo)(1)了解IIR數(shù)字濾波器的基本原理;(2)了解熟悉MATLAB在濾波器設(shè)計(jì)過程中的應(yīng)用;(3)使用MATLAB語言設(shè)計(jì)濾波器并進(jìn)行仿真;(4)利用MATLAB隨時(shí)對比設(shè)計(jì)要求和濾波器特性調(diào)整參數(shù),使其直觀簡單,達(dá)到濾波器的最優(yōu)化;(5)使用C++對數(shù)字濾波器進(jìn)行實(shí)現(xiàn),完成該課題。八、課題分階段進(jìn)度計(jì)劃與時(shí)間安排第一階段:2014年9月28日-2014年10月25日,查閱文獻(xiàn)資料,完成開題報(bào)告;第二階段:2014年10月26日-2015年3月31日,完成概要設(shè)計(jì)和詳細(xì)設(shè)計(jì);第三階段:2015年4月1日-2015年4月30日,利用軟件進(jìn)行仿真與實(shí)現(xiàn);第四階段:2015年5月1日-2015年5月20日,測試各功能模塊以及系統(tǒng)測試;第五階段:2015年5月21日-2015年6月1日,撰寫論文。九、指導(dǎo)老師審查意見長江大學(xué)工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì)指導(dǎo)教師審查意見學(xué)生姓名專業(yè)班級電信61102畢業(yè)設(shè)計(jì)(論文)題目基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)指導(dǎo)教師職稱講師審查日期2015.6.1審查參考內(nèi)容:畢業(yè)設(shè)計(jì)(論文)的研究(設(shè)計(jì))內(nèi)容、方法及結(jié)果,難度及工作量,質(zhì)量和水平,存在的主要問題與不足。學(xué)生的學(xué)習(xí)態(tài)度和組織紀(jì)律,學(xué)生掌握基礎(chǔ)和專業(yè)知識的情況,解決實(shí)際問題的能力。畢業(yè)設(shè)計(jì)(論文)是否完成規(guī)定任務(wù),是否達(dá)到了學(xué)士學(xué)位水平的要求,是否同意參加答辯等。審查意見:指導(dǎo)教師簽名:評定成績(百分制):__________分長江大學(xué)工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)評閱教師評語學(xué)生姓名專業(yè)班級電信61102畢業(yè)設(shè)計(jì)(論文)題目基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)評閱教師張佳職稱講師評閱日期評閱參考內(nèi)容:畢業(yè)設(shè)計(jì)(論文)的研究(設(shè)計(jì))內(nèi)容、方法及結(jié)果,難度及工作量,質(zhì)量和水平,存在的主要問題與不足。學(xué)生掌握基礎(chǔ)和專業(yè)知識的情況,解決實(shí)際問題的能力。畢業(yè)設(shè)計(jì)(論文)是否完成規(guī)定任務(wù),是否達(dá)到了學(xué)士學(xué)位水平的要求,是否同意參加答辯等。評語:評閱教師簽名:評定成績(百分制):__________分長江大學(xué)工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)答辯記錄及成績評定學(xué)生姓名專業(yè)班級電信61102畢業(yè)設(shè)計(jì)(論文)題目基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)答辯時(shí)間年月日~答辯地點(diǎn)一、答辯小組組成答辯小組組長:成員:二、答辯記錄摘要答辯小組提問(分條摘要列舉)學(xué)生回答情況評判三、答辯小組對學(xué)生答辯成績的評定(百分制):_______分畢業(yè)設(shè)計(jì)(論文)最終成績評定(依據(jù)指導(dǎo)教師評分、評閱教師評分、答辯小組評分和學(xué)校關(guān)于畢業(yè)設(shè)計(jì)(論文)評分的相關(guān)規(guī)定成績(百分制):_______分答辯小組組長(簽名):秘書(簽名):年月日系答辯委員會主任(簽名):系(蓋章)基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生:,信息系指導(dǎo)教師:,信息系[摘要]本文研究了數(shù)字濾波器在Matlab環(huán)境下的設(shè)計(jì)方法及仿真分析,以及用C++對數(shù)字濾波器進(jìn)行了實(shí)現(xiàn)。在無限脈沖響應(yīng)(IIR)數(shù)字濾波器設(shè)計(jì)中,先采用脈沖響應(yīng)不變法及雙線性Z變化法設(shè)計(jì)數(shù)字濾波器,最后進(jìn)行濾波器的頻帶轉(zhuǎn)換,即進(jìn)行模擬濾波器的設(shè)計(jì),然后進(jìn)行模擬-數(shù)字濾波器轉(zhuǎn)換。在有限脈沖響應(yīng)(FIR)數(shù)字濾波器設(shè)計(jì)中,研究了FIR線性相位濾波器的特點(diǎn)和用窗函數(shù)法設(shè)計(jì)FIR濾波器兩個(gè)問題。這兩類濾波器全部設(shè)計(jì)過程都是由理論分析、編程設(shè)計(jì)、具體實(shí)現(xiàn)的步驟進(jìn)行的。數(shù)字抽取濾波器的單位沖激響應(yīng)是有限長的,可以用一個(gè)因果系統(tǒng)來實(shí)現(xiàn),因而數(shù)字濾波器可以做成即是因果又是穩(wěn)定的系統(tǒng),研究了數(shù)字抽取濾波器的原理以及設(shè)計(jì)與實(shí)現(xiàn)濾波器的基本方法。[關(guān)鍵詞]數(shù)字抽取濾波器;Matlab;C++;無限脈沖響應(yīng);有限脈沖響應(yīng)。DesignandImplementationofDigitalFilterBasedonC++Student:Shaojiangang,DepartmentofInformationSupervisor:Liuzhiyang,DepartmentofInformation[Abstract]Inthispaper,thedesignmethodandsimulationanalysisofthedigitalfilterinMatlabenvironment,andtherealizationofthedigitalfilterwithC++arestudied..Ininfiniteimpulseresponse(IIR)digitalfilterdesign,firstly,bythepulseresponseinvarianceandbilinearZvariationmethodtodesignadigitalfilter.Finally,filterfrequencyconversion,namely,analogfilterdesign,andanalog-to-digitalfilterconversion.Inthedesignoffiniteimpulseresponse(FIR)digitalfilter,thecharacteristicsofFIRlinearphasefilterandtwoproblemsofFIRfilterarestudiedbywindowfunctionmethod..Allthedesignofthetwotypesoffiltersarecarriedoutbytheoreticalanalysis,programmingdesign,andspecificimplementationsteps..Digitaldecimationfilterunitimpulseresponseisoffinitelength,andcanbeusedforacausalsystemtoachieve,sodigitalfiltercanbemadeiscausalandstablesystemofdigitaldecimationfilterprincipleaswellasthedesignandRealizationofthefilterofthebasicmethod.[Keywords]Digitalfilter;Matlab;C++;Infiniteimpulseresponse;Finiteimpulseresponse.基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)1前言信號與信號處理是信息科學(xué)中近幾十年來發(fā)展最為迅速的學(xué)科之一。長期以來,信號處理技術(shù)一直用于轉(zhuǎn)換、產(chǎn)生模擬或數(shù)字信號,其中最為頻繁應(yīng)用的領(lǐng)域就是信號的濾波。數(shù)字濾波是語音、圖像處理、模式識別和譜分析等應(yīng)用中的一個(gè)基本處理部件,它可以滿足濾波器對幅度和相位特性的嚴(yán)格要求,避免模擬濾波器無法克服的電壓漂移、溫度漂移和噪聲等問題。我的畢業(yè)設(shè)計(jì)的課題是《基于C++數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)現(xiàn)》,其主要目的是通過此次課程設(shè)計(jì)進(jìn)一步學(xué)習(xí)和鞏固數(shù)字信號處理及其相關(guān)知識,并學(xué)會利用所學(xué)的知識能力,在設(shè)計(jì)過程中能綜合運(yùn)用所學(xué)知識內(nèi)容,進(jìn)一步熟悉和掌握Matlab的使用方法;對數(shù)字濾波器的原理有較深的了解;為即將進(jìn)入社會參加工作打下堅(jiān)實(shí)的基礎(chǔ);掌握收集資料、消化資料和綜合資料的能力等等。從事電子通信業(yè)而不能熟練操作使用Matlab電子線路設(shè)計(jì)軟件,在工作和學(xué)習(xí)中將是寸步難行的。在數(shù)學(xué)、電子、金融等行業(yè),使用Matlab等計(jì)算機(jī)軟件對產(chǎn)品進(jìn)行設(shè)計(jì)、仿真在很早以前就已經(jīng)成為了一種趨勢,這類軟件的問世也極大地提高了設(shè)計(jì)人員在通信、電子等行業(yè)的產(chǎn)品設(shè)計(jì)質(zhì)量與效率。同時(shí)熟練的使用C++也是非常重要的,C++兼具C(中級語言)和面向?qū)ο蟪绦蛟O(shè)計(jì)語言的特性,既可以用于設(shè)計(jì)性能要求比較高的系統(tǒng)級程序,又可以用來設(shè)計(jì)應(yīng)用軟件,設(shè)計(jì)出程序易于維護(hù)、易于重用、效率高。設(shè)計(jì)得當(dāng)?shù)脑?,還易于移植。眾所周知,實(shí)際過程中信號傳輸都要經(jīng)過調(diào)制與解調(diào)這一過程,由于消息傳過來的原始信號即調(diào)制信號具有頻譜較低的頻譜分量,這種信號在許多信道中不宜傳輸。因而,在通信系統(tǒng)的發(fā)送端通常需要有調(diào)制過程,反之在接收端則需要有解調(diào)過程。2緒論2.1數(shù)字抽取濾波器的研究背景與意義在數(shù)字信號處理中,濾波占有極其重要的地位。數(shù)字濾波是語音和圖象處理、模式識優(yōu)點(diǎn),它可以滿足濾波器對幅度和相位特性的嚴(yán)格要求,可以避免模擬濾波器所無法克服的電壓漂移、溫度漂移和噪聲等問題。當(dāng)今,數(shù)字信號處理(DSP:DigtalSignalProcessing)技術(shù)正飛速發(fā)展,它不但自成一門學(xué)科,更是以不同形式影響和滲透到其他學(xué)科:它與國民經(jīng)濟(jì)息息相關(guān),與國防建設(shè)緊密相連;它影響或改變著我們的生產(chǎn)、生活方式,因此受到人們普遍的關(guān)注。數(shù)字化、智能化和網(wǎng)絡(luò)化是當(dāng)代信息技術(shù)發(fā)展的大趨勢,而數(shù)字化是智能化和網(wǎng)絡(luò)化的基礎(chǔ),實(shí)際生活中遇到的信號多種多樣,例如廣播信號、電視信號、雷達(dá)信號、通信信號、導(dǎo)航信號、射電天文信號、生物醫(yī)學(xué)信號、控制信號、氣象信號、地震勘探信號、機(jī)械振動信號、遙感遙測信號,等等。上述這些信號大部分是模擬信號,也有小部分是數(shù)字信號。模擬信號是自變量的連續(xù)函數(shù),自變量可以是一維的,也可以是二維或多維的。大多數(shù)情況下一維模擬信號的自變量是時(shí)間,經(jīng)過時(shí)間上的離散化(采樣)和幅度上的離散化(量化),這類模擬信號便成為一維數(shù)字信號。因此,數(shù)字信號實(shí)際上是用數(shù)字序列表示的信號,語音信號經(jīng)采樣和量化后,得到的數(shù)字信號是一個(gè)一維離散時(shí)間序列;而圖像信號經(jīng)采樣和量化后,得到的數(shù)字信號是一個(gè)二維離散空間序列。數(shù)字信號處理,就是用數(shù)值計(jì)算的方法對數(shù)字序列進(jìn)行各種處理,把信號變換成符合需要的某種形式。例如,對數(shù)字信號經(jīng)行濾波以限制他的頻帶或?yàn)V除噪音和干擾,或?qū)⑺麄兣c其他信號進(jìn)行分離;對信號進(jìn)行頻譜分析或功率譜分析以了解信號的頻譜組成,進(jìn)而對信號進(jìn)行識別;對信號進(jìn)行某種變換,使之更適合于傳輸,存儲和應(yīng)用;對信號進(jìn)行編碼以達(dá)到數(shù)據(jù)壓縮的目的,等等。數(shù)字濾波技術(shù)是數(shù)字信號分析、處理技術(shù)的重要分支。無論是信號的獲取、傳輸,還是信號的處理和交換都離不開濾波技術(shù),它對信號安全可靠和有效靈活地傳輸是至關(guān)重要的。在所有的電子系統(tǒng)中,使用最多技術(shù)最復(fù)雜的要算數(shù)字濾波器了。數(shù)字濾波器的優(yōu)劣直接決定產(chǎn)品的優(yōu)劣。2.2數(shù)字抽取濾波器的設(shè)計(jì)與實(shí)踐本文主要介紹數(shù)字信號處理中的基本概念,數(shù)字濾波器的設(shè)計(jì)方法,抽取的概念,抽取濾波的原理,和幾種常用的濾波器及其使用的條件與各自的特點(diǎn)??梢院芊奖愕剡\(yùn)用MATLAB對濾波器進(jìn)行理論的分析,再用C++實(shí)現(xiàn)一個(gè)簡單的抽取濾波的過程,設(shè)計(jì)抽取濾波器的過程是對理論知識學(xué)習(xí)的過程,也是對數(shù)字信號處理軟件熟悉的過程。2.3數(shù)字抽取濾波器的作用與優(yōu)勢濾波器是指用來對輸入信號進(jìn)行濾波的硬件或軟件。如果濾波器的輸入、輸出都是離散時(shí)間信號,則該濾波器的沖激響應(yīng)也必然離散,這樣的濾波器定義為數(shù)字濾波器。數(shù)字濾波器在數(shù)字信號處理的各種應(yīng)用中發(fā)揮著十分重要的作用它是通過對采樣數(shù)據(jù)信號進(jìn)行數(shù)學(xué)運(yùn)算處理來達(dá)到頻域?yàn)V波的目的。數(shù)字濾波器是提取有用信息非常重要、非常靈活的方法,是現(xiàn)代信號處理的重要內(nèi)容。因而在數(shù)字通信、語音圖象處理、譜分析、模式識別、相對于模擬濾波器,數(shù)字濾波器沒有漂移,能夠處理低頻信號,頻率響應(yīng)特性可做成非常接近于理想的特性,且精度可以達(dá)到很高,容易集成等,這些優(yōu)勢決定了數(shù)字濾波器的應(yīng)用將會越來越廣泛。Signal處理器的出現(xiàn)和的迅速發(fā)展也促進(jìn)了數(shù)字濾波器的發(fā)展,并為數(shù)字濾波器的硬件實(shí)現(xiàn)提供了更多的選擇。相對于模擬濾波器數(shù):

精度高:10-3以上,而數(shù)字系統(tǒng)17位字長就可以達(dá)到10-5精度。因此在一些精度要求很高的濾波系統(tǒng)中,就必須采用數(shù)字濾波器來實(shí)現(xiàn)。

靈活性大:數(shù)字濾波器的性能主要取決于乘法器的各系數(shù),而這些系數(shù)是存放在系統(tǒng)存儲器中的,只要改變存儲器存放的系數(shù),就可以得到不同的系統(tǒng),這些都比改變模擬濾波器系統(tǒng)的特性要容易和方便的多,因而具有很大的靈活性。

高:“0”和“1”,受噪聲及環(huán)境條件的影響小,而模擬濾可靠性波器各個(gè)參數(shù)都有一定的溫度系數(shù),易受溫度、振動、電磁感應(yīng)等影響。并且數(shù)字濾波器多采用大規(guī)模集成電路,大規(guī)模集成電路的故障率遠(yuǎn)比眾多分立元件構(gòu)成的模擬系統(tǒng)的故障率低。

易于大規(guī)模集成:便于大規(guī)模集成,大規(guī)模生產(chǎn),且數(shù)字濾波器電路主要工作在截止或飽和狀態(tài),對電路參數(shù)要求不嚴(yán)格,因此產(chǎn)品的成品率高,價(jià)格也日趨降低。相對于模擬濾波器,數(shù)字濾波器在體積、重量和性能方面的優(yōu)勢己越來越明顯。

并行處理:比如數(shù)字濾波器可以采用DSP處理器來實(shí)現(xiàn)并行處理。Tl公司系列的芯片采用8條指令并行處理的結(jié)構(gòu),時(shí)鐘頻率為的DSP芯片??筛哌_(dá)每秒執(zhí)行百萬條指令)。

2.4數(shù)字抽取濾波器的應(yīng)用現(xiàn)狀和發(fā)展趨勢在信號處理過程中,所處理的信號往往混有噪音,從接收到的信號中消除或減弱噪音是信號傳輸和處理中十分重要的問題。在近代電信設(shè)備和各類控制系統(tǒng)中,數(shù)字濾波器應(yīng)用極為廣泛。語音處理是最早應(yīng)用數(shù)字濾波器的領(lǐng)域之一,也是最早推動數(shù)字信號處理理論發(fā)展的領(lǐng)域之一。另外,數(shù)字濾波技術(shù)已成功的應(yīng)用于靜止圖像和活動圖像的恢復(fù)和增強(qiáng)、數(shù)據(jù)壓縮、去噪音和干擾、圖像識別以及層析x射線攝影,還成功的應(yīng)用于雷達(dá)、聲納、超聲波和紅外信號的可見圖像成像。其他的,在通信、電視、雷達(dá)、聲納、生物醫(yī)學(xué)信號處理、音樂等領(lǐng)域也有很大的應(yīng)用價(jià)值?,F(xiàn)在以及未來的日子里,數(shù)字濾波器在軍事上以被大量應(yīng)用于導(dǎo)航、制導(dǎo)、電子對抗、戰(zhàn)場偵察;在電力系統(tǒng)中被應(yīng)用于能源分布規(guī)劃和自動檢測;在環(huán)境保護(hù)中被應(yīng)用于對空氣污染和噪聲干擾的自動監(jiān)測;在經(jīng)濟(jì)領(lǐng)域中被應(yīng)用于股票市場預(yù)測和經(jīng)濟(jì)效益分析,等等越來越廣泛的應(yīng)用范圍。隨著科學(xué)技術(shù)的發(fā)展,人們對數(shù)據(jù)轉(zhuǎn)換的精度要求越來越高,例如在現(xiàn)代地震勘探中,地震信號的動態(tài)范圍大于12dB,為了能獲得高分辨的地震數(shù)據(jù),要求采集系統(tǒng)的動態(tài)范圍必須大于120dB,畸變小于百萬分之五,甚至百萬分之一,這就對采集系統(tǒng)的A/D轉(zhuǎn)換器提出了很高的要求。同樣,在用數(shù)字方法產(chǎn)生高精度的模擬信號時(shí),為了使產(chǎn)生的信號的信噪比諧波畸變等指標(biāo)優(yōu)于百萬分之五,要求A/D轉(zhuǎn)換器必須具有20位以上的分辨率,而抽取濾波器作為A/D轉(zhuǎn)換器中的重要的一部分,也必須在算法的研究,在物理實(shí)現(xiàn)的功能器件,在設(shè)計(jì)的思路要不斷完善,在設(shè)計(jì)的方法上有所突破,在不同的環(huán)境中都能有較強(qiáng)的可操作性,使用范圍更加廣闊。-隨著電子工業(yè)的發(fā)展,對濾波器的性能要求越來越高,功能也越來越多,并且要求它們向集成方向發(fā)展。我國濾波器研制和生產(chǎn)與上述要求相差甚遠(yuǎn),為縮短這個(gè)差距,電子工程和科技人員負(fù)有重大的歷史責(zé)任。3數(shù)字抽取濾波器的分類及其原理分析3.1幾種頻率之間的關(guān)系在分析抽取濾波之前,必須理解數(shù)字信號處理中常見的幾種頻率之間的轉(zhuǎn)化關(guān)系。首先是連續(xù)時(shí)間信號的模擬頻率,用表示,他是一個(gè)連續(xù)變量,其單位為赫茲(Hz),另一個(gè)模擬頻率為角頻率,用表示,單位為弧度/秒(rad/s)。他與的關(guān)系為。在模擬信號與系統(tǒng)中,對頻率的取值范圍沒有限制,如果包括負(fù)頻率在內(nèi),可取的所有值,完全由信號的特性決定。離散信號數(shù)字頻率的概念,用表示,單位為弧度rad。并通過采樣信號的頻譜,建立了模擬頻率與數(shù)字頻率之間的關(guān)系為如果離散信號是由模擬信號采樣而得到的,由上式可見,對應(yīng)于模擬頻率的,按照采樣定理,是采樣信號能取的最高頻率,因此也就是數(shù)字頻率能取的最高頻率。由于離散信號的頻譜具有周期性,因此與模擬頻率不同,的有效值范圍在,或。范圍的頻譜與范圍的頻譜相同。注意,雖然信號在時(shí)域是離散的,但仍然是連續(xù)變量。我們將數(shù)字頻率進(jìn)行了離散化,根據(jù)DFT的長度N,對在范圍內(nèi)進(jìn)行了N點(diǎn)的等間隔采樣,每個(gè)樣點(diǎn)的間隔為,并引入了離散的數(shù)字頻率的概念,用k表示。k的取值范圍為的整數(shù),因此可得出離散頻率k與數(shù)字頻率和模擬頻率之間的對應(yīng)關(guān)系為:k當(dāng)時(shí),與數(shù)字頻率對應(yīng),如果是對實(shí)模擬模擬信號進(jìn)行數(shù)字化處理,就對應(yīng)著模擬信號1/2采樣頻率,也就是信號的最高頻率。而則與模擬信號的負(fù)頻率部分對應(yīng)。3.2抽取與抽取濾波器的原理設(shè)x(n)為模擬信號x(t)按奈奎斯特采樣率抽樣后獲得的數(shù)字信號,抽樣間隔為T=,現(xiàn)在需要將抽樣率降低M倍,即進(jìn)行M:1的整數(shù)倍抽取,然后形成新的數(shù)字信號y(m),y(m)的抽樣頻率和抽樣間隔T1分別為=,T1=MT,(1)h(h(n)M抽取器圖1抽取濾波的過程按抽樣定理,在一次抽樣時(shí)為了保證不產(chǎn)生混疊失真,x(t)必須是一個(gè)最高頻率為fs/2的帶限信號,記X()為x(n)的數(shù)字頻譜,則有(2)這里w=2為相對于抽樣頻率的數(shù)字頻率?,F(xiàn)在討論抽樣率減少M(fèi)倍后y(m)的頻譜。為了說明取M=4,由于y(m)的抽樣率=/4顯然,為了防止混疊失真,必須將信號的頻譜限制在(-/8/8)之間,相對于原抽樣頻率的數(shù)字頻率應(yīng)為(3)應(yīng)此為了直接由x(n)獲得y(m),首先必須用數(shù)字低通濾波器將高于以上的頻率分量濾去,濾波器的特性為:然后再將濾波器的輸出每隔M點(diǎn)取一點(diǎn),達(dá)到抽樣率降低的目的從而形成y(m),這個(gè)過程的框圖如圖1,顯然y(m)的頻譜相對于抽樣頻率而言為相對于新抽樣頻率而言則為這里為相對于抽樣頻率的數(shù)字頻率。如果將數(shù)字低通率波器的單位脈沖響應(yīng)表示為為濾波器的輸出,則有(5)而y(m)=w(Mm)(6)在圖1中用第二個(gè)方框所進(jìn)行的運(yùn)算來表示,該方框符號代表為抽取器,它對應(yīng)于抽取第mM(m=0,1,2,……)樣點(diǎn)的運(yùn)算。將(5)式和(6)式合并,則求得y(m)與x(n)之間的關(guān)系為(7)(7)式所代表的系統(tǒng)仍然是線性系統(tǒng),但不是移不變系統(tǒng),這可說明如下。設(shè)x(n)y(m)表示對應(yīng)n時(shí)刻時(shí),抽取器的輸出為y(m),那么對應(yīng)于時(shí)刻的輸出為顯然若令當(dāng)(r為整數(shù))時(shí),則有說明為的移位形式,但若不為M的整數(shù)倍時(shí),不能表示成的移位形式,即:不成立,因?yàn)椴粸檎麛?shù)時(shí)沒有意義。之所以如此,是因?yàn)檩敵鰕(m)是由x(n)移動M的整數(shù)倍樣點(diǎn)來計(jì)算的緣故。由于(4)式所代表的濾波器為理想低通濾波器,它是不能實(shí)現(xiàn)的,在實(shí)際中須采用以某種形式逼近它的非理想濾波器來實(shí)現(xiàn)。為了能研究實(shí)際低通濾波器對y(m)所造成誤差的性質(zhì),下面推導(dǎo)y(m)的Z變換與x(n)的Z變換之間的關(guān)系。為此,先定義一個(gè)新序列上式表明,在抽樣瞬間,,但在其他時(shí)間等于零。若定義d(n)為周期為M的抽樣序列(8)則有既然d(n)是以M為周期性脈沖序列,由此可求得其離散付氏級數(shù)其反變換為因此可將(n)表示,(9)由于(10)取y(n)的Z變換因?yàn)槌齧為M的整數(shù)以外全為零,上式可化為=(11)其中W(Z)代表W(n)的變換。因?yàn)閃(z)=H(z)X(z)因此,可把Y(Z)表示成(12)當(dāng)Z在單位圓上取值時(shí),Z=,可求得y(m)的付氏變換或頻譜為(13)其中,為相對于抽樣頻率的數(shù)字頻率。(13)式求和中的每一項(xiàng)代表了輸入信號x(n)經(jīng)h(n)濾波后的頻譜的周期延拓。很明顯,(13)式說明二次抽樣序列的頻譜實(shí)際上為x(n)經(jīng)濾波后頻譜的混疊。將(13)式中各項(xiàng)直接寫出,可得Y()=X()+…+](14)若低通濾波器接近理想濾波器,能濾去在以上的頻率分量,那么(13)式中的高次項(xiàng)均可略去,則(13)式變成了(15)說明除了一個(gè)常數(shù)因子1/M外,的確代表了原信號的頻譜,但若濾波器性能不好就會產(chǎn)生(13)式所示的混疊失真,因此抽取濾波器的一個(gè)重要作用就是抗混疊失真。3.3兩種特殊的抽取濾波器的性質(zhì)分析3.3.1半帶濾波器下圖為半帶濾波抽取器的單級實(shí)現(xiàn)框圖,其中HB(Half2Band)為半帶濾波器,fs為輸入采樣率,而為輸出采樣率,符號“2↓”表示2倍抽取.HB2HB2圖2半帶濾波器的單級實(shí)現(xiàn)一般來說,為了保證濾波抽取器抽樣率變化后不產(chǎn)生混疊失真,必須將頻率在以上的頻率分量全部濾掉,如果濾除不干凈,這些頻率分量將以為中心折疊進(jìn)入有用的頻帶.現(xiàn)在考慮頻率特性如圖(橫坐標(biāo)為模擬頻率,為數(shù)字角頻率)所示的一種特殊FIR濾波。圖3半帶濾波器的幅頻特性(1)通帶波紋與阻帶波紋相等,即=;(2)通帶邊頻與阻帶邊頻相對于對稱,即+=此類FIR數(shù)字低通濾波器稱HBFIR濾波器.顯然,當(dāng)足夠小時(shí),HBFIR濾波器可用作抽取因子為2的濾波器.因?yàn)榇藭r(shí)()內(nèi)的頻率分量僅會折疊進(jìn)()頻帶內(nèi)(即在濾波器的過渡帶內(nèi)),不會對興趣的()通帶內(nèi)信號產(chǎn)生影響.為了保證FIR濾波器的線性相位特性,必須使濾波器的系數(shù)具有偶對稱特性,即要求,其中,N為濾波器的階數(shù),設(shè)N為奇數(shù).另外,可以證明HB濾波器系數(shù)除中心點(diǎn)[即點(diǎn)]外,所有的的偶次系數(shù)均為零,且由于HBFIR濾波器系數(shù)的對稱性和近一半的系數(shù)為零,使得濾波運(yùn)算的乘法次數(shù)減少近3/4,加法次數(shù)減少了近一半.用于存放濾波器系數(shù)的存儲器也減少了一半。由半帶濾波器所引出的M分之一帶濾波器運(yùn)用也很廣。所謂M分之一帶濾波器是指濾波器的單位脈沖響應(yīng),滿足即除了零點(diǎn)之外,所有M倍數(shù)的樣值均等于零??梢奙分之一濾波器是半帶濾波器的推廣,設(shè)濾波器的長度N為奇數(shù),他也是第一種類型的線性相位濾波器。為了敘述方便,我們分析零相位濾波器。為奇數(shù)這是一個(gè)非因果的濾波器,如果要想得到因果濾波器,只須乘上因子即可將表示成多相濾波器的形式,由式可知其零相分量,這樣可將表示為設(shè)計(jì)M分之一帶濾波器最簡單的方法是窗函數(shù)法,如果令低通濾波器的截止頻率為,可得到濾波器的系數(shù)如下:可見,M分之一帶濾波器可以做為抽取因子為M的抽取濾波器。3.3.2梳狀濾波器具有線形相位的FIR濾波器,其系數(shù)是對稱的,與一般濾波器相比可節(jié)省一半的乘法器,但系數(shù)較復(fù)雜;而梳狀濾波器系數(shù)比較簡單(是整系數(shù)),不需要存儲單元存儲系數(shù),也不需要乘法器,直接采用積分器、微分器或加法器就可實(shí)現(xiàn)。與能達(dá)到相同抽取目的的濾波器相比,它的結(jié)構(gòu)要簡單得多,因此常用作抽取濾波器的第一級,且可在這一級實(shí)現(xiàn)較大幅度的降頻,一般可降到4倍奈奎斯特頻率。梳狀濾波器的轉(zhuǎn)移函數(shù)為:從式(8)可知,梳狀濾波器有N個(gè)零點(diǎn),1個(gè)極點(diǎn),在頻率為0的地方極點(diǎn)和零點(diǎn)相互抵消,因此梳狀濾波器實(shí)質(zhì)上也是一個(gè)FIR濾波器。而且梳狀濾波器的零點(diǎn)均勻分配在單位圓上,所以梳狀濾波器在頻率為kFs/N(Fs為采樣頻率,N為濾波器長度,k為整數(shù))處幅度為零,在這些頻率附近幅度有很大衰減。為了利用這個(gè)特性,梳狀濾波器的長度N應(yīng)該等于抽取濾波器的抽取因子M。為了獲得較大的阻帶衰減,梳狀濾波器一般采用多級級聯(lián)的方式,級聯(lián)的級數(shù)為K=L+1(L為模擬調(diào)制器的階數(shù))。3.4多級抽取濾波器的原理通過以上分析,抽取前應(yīng)做低通濾波以避免信號的混疊。低通濾波器采用具有線性相位的FIR濾波器,此種濾波器的系數(shù)具有對稱性,可減少近一半的乘法器。FIR濾波器的設(shè)計(jì)方法有窗函數(shù)法,頻率抽樣法,最優(yōu)化設(shè)計(jì)法。一般來說,一級抽取的頻率變化太大,抗混疊低通濾波器實(shí)現(xiàn)困難,實(shí)際上在設(shè)計(jì)中常常采用多級抽取將頻率降低,這樣每一級濾波器的階數(shù)比較低,容易實(shí)現(xiàn)。設(shè)總的抽取因子為,各級抽取因子為,那么:同樣,每個(gè)抽取濾波器之前插入一個(gè)抗混疊濾波器,該濾波器隨著抽取因子的不同參數(shù)指標(biāo)會發(fā)生變化。采用多級抽取后,通帶截止頻率與阻帶波紋參數(shù)不變,阻帶變?yōu)?,通帶波紋變?yōu)椋渲?,是原始抽樣頻率,是第i級抽取濾波器的輸出抽樣頻率,n為總的抽取級數(shù)。利用MATLAB進(jìn)行枚舉比較,發(fā)現(xiàn)多級抽取時(shí)一般采用3,4級,增加級數(shù),濾波器的性能也不會有太大變化,所以并不是級數(shù)越多越好,而且每級的抽取因子應(yīng)該由高到低排列。多級抽取濾波器的第一級采用梳狀濾波器實(shí)現(xiàn)16倍抽取,中間采用兩級半帶濾波器分別實(shí)現(xiàn)4倍抽取,最后一級采用普通的線性相位FIR濾波器對幅度進(jìn)行補(bǔ)償。為了說明多級抽取的優(yōu)點(diǎn),舉一例子進(jìn)行分析:設(shè)有一4階調(diào)制器輸出的碼的抽樣率為,要求經(jīng)多級濾波抽取后轉(zhuǎn)換成抽樣率為的信號。濾波器的指標(biāo)如下:通帶波紋等于阻帶波紋,通帶邊頻和阻帶邊頻分別,根據(jù)前面所述的原則,針對這一具體情況,按,,,設(shè)計(jì)了一個(gè)三級抽取結(jié)構(gòu),第一級采用的梳狀濾波器按設(shè)計(jì),第二級和第三級濾波器采用Kaiser窗函數(shù)法進(jìn)行設(shè)計(jì),節(jié)數(shù)按計(jì)算表1三級抽取濾波器參數(shù)所需運(yùn)算速率與存儲量級數(shù)單級抽取三級抽取第一級第二級第三級輸入采樣率256256324輸出采樣率13241抽取因子256884通帶上邊頻0.4梳狀濾波器0.50.4阻帶下邊頻濾波器節(jié)數(shù)199772985313乘加次數(shù)/樣點(diǎn)3995357169625最小運(yùn)算速率(運(yùn)算次數(shù)/s)399530001824000676000625000為了比較,表中還列出了單級抽取時(shí)的值,顯然采用多級抽取大大節(jié)省了運(yùn)算量。由于濾波器節(jié)數(shù)減少,也節(jié)省了用于存儲濾波器系數(shù)的存儲量以及進(jìn)行濾波器運(yùn)算所需的循環(huán)緩沖區(qū)的大小。線性相位FIR數(shù)字濾波器和IIR數(shù)字濾波器相比,突出的優(yōu)點(diǎn)是具有嚴(yán)格的線性相位特性,而且穩(wěn)定性高,運(yùn)算速度快,各設(shè)計(jì)各種幅度特性的濾波器。但是在相同的技術(shù)指標(biāo)下,F(xiàn)IR數(shù)字濾波器說需階數(shù)往往高于IIR數(shù)字濾波器的5-10倍,且對通帶、阻帶濾波器的衰減特性控制不明顯,設(shè)計(jì)過程往往需要借助計(jì)算機(jī)來玩成的。4數(shù)字濾波器的算法設(shè)計(jì)4.1由模擬濾波器設(shè)計(jì)IIR數(shù)字濾波器在之前的部分中已經(jīng)說明,理想的濾波器是非因果的,即物理上不可實(shí)現(xiàn)的系統(tǒng)。工程上常用的模擬濾波器都不是理想的濾波器。但按一定規(guī)則構(gòu)成的實(shí)際濾波器的幅頻特性可逼近理想濾波器的幅頻特性,例如巴特奧茲(Butterworth)、切比雪夫(Chebyshev)濾波器和橢圓濾波器等。4.2巴特奧茲濾波器巴特沃茲濾波器[9](Butterworth濾波器)特點(diǎn):具有通帶內(nèi)最大平坦的振幅特性,且隨f↗,幅頻特性單調(diào)↘。其幅度平方函數(shù): (3-1)N為濾波器階數(shù),如圖4圖4巴特沃斯濾波器振幅平方特性通帶:使信號通過的頻帶阻帶:抑制噪聲通過的頻帶過渡帶:通帶到阻帶間過渡的頻率范圍Ωc:截止頻率。過渡帶為零理想濾波器阻帶|H(jΩ)|=0通帶內(nèi)幅度|H(jΩ)|=cons.H(jΩ)的相位是線性的圖中,N增加,通帶和阻帶的近似性越好,過渡帶越陡。通帶內(nèi),分母Ω/Ωc<1,(Ω/Ωc)2N<1,A(Ω2)→1。過渡帶和阻帶,Ω/Ωc>1,(Ω/Ωc)2N>1,Ω增加,A(Ω2)快速減小。Ω=Ωc,,,幅度衰減,相當(dāng)于3db衰減點(diǎn)。振幅平方函數(shù)的極點(diǎn) (3-2)可見,Butterworth濾波器的振幅平方函數(shù)有2N個(gè)極點(diǎn),它們均勻?qū)ΨQ地分布在|S|=Ωc的圓周上??紤]到系統(tǒng)的穩(wěn)定性,知DF的系統(tǒng)函數(shù)是由S平面左半部分的極點(diǎn)(SP3,SP4,SP5)組成的,它們分別為: (3-3)系統(tǒng)函數(shù)為: (3-4)令,得歸一化的三階BF: (3-5)如果要還原的話,則有 (3-6)4.3切比雪夫?yàn)V波器振幅平方函數(shù)為 (3-7)式中—有效通帶截止頻率—與通帶波紋有關(guān)的參量,大,波紋大,0<<1。Vn(x)—N階切比雪夫多項(xiàng)式,定義為 (3-8) (3-9)如圖3-1,通帶內(nèi),,變化范圍1-Ω>Ωc,隨Ω/Ωc↗,→0(迅速趨于零)當(dāng)Ω=0時(shí), (3-10)N為偶數(shù),,(min),(3-11)N為奇數(shù),,(max),(3-12)圖5切比雪夫?yàn)V波器的振幅平方特性有關(guān)參數(shù)的確定:a.通帶截止頻率,預(yù)先給定b.由通帶波紋表為 (3-13) (3-14)給定通帶波紋值分貝數(shù)后,可求。 (3-15)c.階數(shù)N—由阻帶的邊界條件確定。(,A事先給定) (3-16) (3-17) (3-18)(3-19)得(3-20)4.4橢圓濾波器特點(diǎn):幅值響應(yīng)在通帶和阻帶內(nèi)都是等波紋的,對于給定的階數(shù)和給定的波紋要求,橢圓濾波器能獲得較其它濾波器為窄的過渡帶寬,就這點(diǎn)而言,橢圓濾波器[11]是最優(yōu)的,其振幅平方函數(shù)為(3-21)式中,RN(Ω,L)為雅可比橢圓函數(shù),L是一個(gè)表示波紋性質(zhì)的參量。圖6N=5時(shí)的特性曲線

由圖可見,在歸一化通帶內(nèi)(-1≤Ω≤1),在(0,1)間振蕩,而超過ΩL后,在L2,∞間振蕩。L越大,ΩL也變大。這一特點(diǎn)使濾波器同時(shí)在通帶和阻帶具有任意衰減量。

下圖為典型的橢園濾波器振幅平方函數(shù):圖7橢圓濾波器的振幅平方函數(shù)

圖中ε和A的定義與切比雪夫?yàn)V波器相同。

當(dāng)Ωc、Ωs、ε和A確定后,階次N的確定方法為:確定參數(shù)確定參量N=式中K(k)=為第一類完全橢圓積分。4.5用matlab仿真數(shù)字濾波器傳統(tǒng)的數(shù)字濾波器的設(shè)計(jì)過程復(fù)雜,計(jì)算工作量大,濾波特性調(diào)整困難,影響了它的應(yīng)用。利用MATLAB信號處理工具箱(SignalProcessingToolbox)可以快速有效的設(shè)計(jì)由軟件組成的常規(guī)數(shù)字濾波器的設(shè)計(jì)方法。給出了使用MATLAB語言進(jìn)行程序設(shè)計(jì)和利用信號處理工具箱的FDATool工具進(jìn)行界面設(shè)計(jì)的詳細(xì)步驟。利用MATLAB設(shè)計(jì)濾波器,可以隨時(shí)對比設(shè)計(jì)要求和濾波器特性調(diào)整參數(shù),直觀簡便,極大的減輕了工作量,有利于濾波器設(shè)計(jì)的最優(yōu)化。4.6FDATool界面FDATool(FilterDesign&AnalysisTool)是MATLAB信號處理工具箱里專用的濾波器設(shè)計(jì)分析工具,MATLAB6.0以上的版本還專門增加了濾波器設(shè)計(jì)工具箱(FilterDesignToolbox)。FDATool可以設(shè)計(jì)幾乎所有的基本的常規(guī)濾波器,包括FIR和IIR的各種設(shè)計(jì)方法。它操作簡單,方便靈活。FDATool界面總共分兩大部分,一部分是DesignFilter,在界面的下半部,用來設(shè)置濾波器的設(shè)計(jì)參數(shù),另一部分則是特性區(qū),在界面的上半部分,用來顯示濾波器的各種特性。DesignFilter部分主要分為:FilterType(濾波器類型)選項(xiàng),包括Lowpass(低通)、Highpass(高通)、Bandpass(帶通)、Bandstop(帶阻)和特殊的FIR濾波器。DesignMethod(設(shè)計(jì)方法)選項(xiàng),包括IIR濾波器的Butterworth(巴特沃思)法、ChebyshevTypeI(切比雪夫I型)法、ChebyshevTypeII(切比雪夫II型)法、Elliptic(橢圓濾波器)法和FIR濾波器的Equiripple法、Least-Squares(最小乘方)法、Window(窗函數(shù))法。FilterOrder(濾波器階數(shù))選項(xiàng),定義濾波器的階數(shù),包括SpecifyOrder(指定階數(shù))和MinimumOrder(最小階數(shù))。在SpecifyOrder中填入所要設(shè)計(jì)的濾波器的階數(shù)(N階濾波器,SpecifyOrder=N-1),如果選擇MinimumOrder則MATLAB根據(jù)所選擇的濾波器類型自動使用最小階數(shù)。FrenquencySpecifications選項(xiàng),可以詳細(xì)定義頻帶的各參數(shù),包括采樣頻率Fs和頻帶的截止頻率。它的具體選項(xiàng)由FilterType選項(xiàng)和DesignMethod選項(xiàng)決定,例如Bandpass(帶通)濾波器需要定義Fstop1(下阻帶截止頻率)、Fpass1(通帶下限截止頻率)、Fpass2(通帶上限截止頻率)、Fstop2(上阻帶截止頻率),而Lowpass(低通)濾波器只需要定義Fstop1、Fpass1。采用窗函數(shù)設(shè)計(jì)濾波器時(shí),由于過渡帶是由窗函數(shù)的類型和階數(shù)所決定的,所以只需要定義通帶截止頻率,而不必定義阻帶參數(shù)。MagnitudeSpecifications選項(xiàng),可以定義幅值衰減的情況。例如設(shè)計(jì)帶通濾波器時(shí),可以定義Wstop1(頻率Fstop1處的幅值衰減)、Wpass(通帶范圍內(nèi)的幅值衰減)、Wstop2(頻率Fstop2處的幅值衰減)。當(dāng)采用窗函數(shù)設(shè)計(jì)時(shí),通帶截止頻率處的幅值衰減固定為6db,所以不必定義。WindowSpecifications選項(xiàng),當(dāng)選取采用窗函數(shù)設(shè)計(jì)時(shí),該選項(xiàng)可定義,它包含了各種窗函數(shù),在通帶內(nèi)的衰減為6dB。

圖8FDATool的操作頁面通過菜單選項(xiàng)Analysis可以在特性區(qū)看到所設(shè)計(jì)濾波器的幅頻響應(yīng)、相頻響應(yīng)、零極點(diǎn)配置和濾波器系數(shù)等各種特性。設(shè)計(jì)完成后將結(jié)果保存為*.fda文件。在設(shè)計(jì)過程中,可以對比濾波器幅頻相頻特性和設(shè)計(jì)要求,隨時(shí)調(diào)整參數(shù)和濾波器類型,以便得到最佳效果。其它類型的FIR濾波器和IIR濾波器也都可以使用FDATool來設(shè)計(jì)。4.7用Fdatool進(jìn)行帶通濾波器設(shè)計(jì)給定的數(shù)字帶通濾波器的參數(shù)是:通帶為45Hz~55Hz,低截止頻率為40Hz,高截止頻率為60Hz,通帶內(nèi)衰減不大于3db,阻帶衰減大于80db。借助Matlab仿真,可以得到設(shè)計(jì)成不同類型的濾波器所需的階數(shù):表2采用不同類型濾波器實(shí)現(xiàn)所需的階數(shù)濾波器類型最低階數(shù)穩(wěn)定性FIR濾波器Kaiser窗函數(shù)201穩(wěn)定Blackman窗函數(shù)180穩(wěn)定Equirpple86穩(wěn)定IIR濾波器Butterworth濾波器26穩(wěn)定ChebishevⅡ?yàn)V波器16穩(wěn)定橢圓濾波器12穩(wěn)定可見,F(xiàn)IR濾波器階數(shù)過高,導(dǎo)致的直接結(jié)果是消耗的資源較多,成本增加。因此采用IIR濾波器實(shí)現(xiàn)比較合適。而在IIR濾波器中,橢圓濾波器的階次最低,切比雪夫次之,巴特沃茲最高,參數(shù)的靈敏度則恰恰相反。根據(jù)傳遞函數(shù)的形式,巴特沃思和切比雪夫?yàn)V波器的傳遞函數(shù)都是一個(gè)常數(shù)除以一個(gè)多項(xiàng)式,為全極點(diǎn)網(wǎng)絡(luò),僅在無限大阻帶處衰減為無限大,而橢圓函數(shù)濾波器在有限頻率上既有零點(diǎn)又有極點(diǎn),極零點(diǎn)在通帶內(nèi)產(chǎn)生等波紋,阻帶內(nèi)的有限傳輸零點(diǎn)減小了過渡區(qū),可獲得極為陡峭的衰減特性曲線。綜上考慮,采用橢圓函數(shù)濾波器最為適宜。用以下matlab程序[15]可得到滿足給定條件的12階橢圓濾波器的直接型表示:fs=200;wp=[4555]*2/fs;ws=[4060]*2/fs;――把截止頻率轉(zhuǎn)成弧度表示rp=3;rs=80;Nn=512;[n,wn]=ellipord(wp,ws,rp,rs);[b,a]=ellip(n,rp,rs,wn);freqz(b,a,Nn,fs);[z,p,k]=ellip(n,rp,rs,wn);zplane(z,p);圖912階橢圓濾波器的幅頻相應(yīng)和相頻響應(yīng)圖1012階橢圓濾波器的零極圖圖9說明12階橢圓濾波器很好的滿足了給定的阻帶和通帶的衰減。圖10說明極點(diǎn)全在單位園內(nèi)部,因而該橢圓濾波器是穩(wěn)定的。a,b分別為分母與分子的系數(shù),即得到的直接型表示為(=1)(3-22)4.8將系統(tǒng)函數(shù)由直接型化成級聯(lián)型由于直接型具有一些共同缺點(diǎn):(1)系數(shù)對濾波器的性能控制作用不明顯。(2)極點(diǎn)對系數(shù)的變化過于靈敏,易出現(xiàn)不穩(wěn)定或較大誤差。(3)運(yùn)算的累計(jì)誤差較大。并且在這個(gè)設(shè)計(jì)中,直接型表示時(shí)系數(shù)和的最大值與最小值相差9×倍,考慮到在乘法器上實(shí)現(xiàn)時(shí)引入的截?cái)嗾`差很大,因此決定采用6個(gè)二階節(jié)級聯(lián)來實(shí)現(xiàn)。4.9二階節(jié)系數(shù)的確定用matlab函數(shù)把直接型系數(shù)化成級聯(lián)型二階節(jié)的系數(shù):G=1.910088486951538×數(shù)組SOS的每行表示一個(gè)二階節(jié)的系數(shù),第1~3列分別是分子上、、的系數(shù),第4~6列分別是分母上、、的系數(shù)。分配給各二階節(jié)的增益分別為:0.064426919942375843,0.064426919942375843,0.36083349830553402,0.36083349830553402,0.5945544040902202,0.5945544040902202。xxg11b1b2ya1a2圖二階節(jié)結(jié)構(gòu)方框圖4.10系數(shù)轉(zhuǎn)換成二進(jìn)制碼若采用24位乘法器,用1位整數(shù)位,1位符號位,共22位定點(diǎn)二進(jìn)制數(shù)進(jìn)行運(yùn)算,負(fù)數(shù)用補(bǔ)碼表示,由此將減法運(yùn)算變成累加求和運(yùn)算。各系數(shù)可用matlab編程轉(zhuǎn)成二進(jìn)制補(bǔ)碼,轉(zhuǎn)換結(jié)果如表:表3各系數(shù)轉(zhuǎn)成二進(jìn)制的結(jié)果十進(jìn)制數(shù)定點(diǎn)24位補(bǔ)碼數(shù)0.0644269199423758430000010000011111100100100.086237116875715341000001011000010011101001-0.090446129522962132111110100011011000100001-0.9517888619754914110000110001010111100100-0.0862371168757153411111101001111011000101110.0904461295229603830000010111001001110111110.360833498305534020001011100010111111001010.23642640306518907000011110010000110011100-0.23451506983909279111100001111110110110101-0.96999789866178998110000011110101110001110-0.236426403065189071111000011011110011001000.234515069839091340000111100000010010010110.59455440409022020010011000001101001011100.30598365902400908001101101001111001111001-0.30583918594063586111011000110110100100001-0.305983659024009081100100101100001100001110.30583918594063608000100111001001011011111-0.99059830159543105110000001001101000001010可用Matlab程序求截?cái)嗪笙禂?shù)并進(jìn)行仿真:fori=1:1:6forj=1:1:6s=to2(SOS(i,j));SOS1(i,j)=to10(r)+s;endendr=to2(G);G1=to10(r);[B,A]=SOS2TF(SOS1,G1);%轉(zhuǎn)成直接型freqz(B,A,Nn,fs);系數(shù)截?cái)嗪髨D形:圖11系數(shù)截?cái)嗪蟮姆l、相頻響應(yīng)仿真圖形圖12系數(shù)截?cái)嗪蟮牧銟O點(diǎn)圖圖11與圖12表明使用24位乘法器不會引入截?cái)嗾`差,通帶與阻帶衰減都符合設(shè)計(jì)要求。若采用24位乘法器,用1位整數(shù)位,1位符號位,共22位定點(diǎn)二進(jìn)制數(shù)進(jìn)行運(yùn)算,負(fù)數(shù)用補(bǔ)碼表示,由此將減法運(yùn)算變成累加求和運(yùn)算。各系數(shù)可用matlab編程轉(zhuǎn)成二進(jìn)制補(bǔ)碼,轉(zhuǎn)換結(jié)果如表:表4各系數(shù)轉(zhuǎn)成二進(jìn)制的結(jié)果十進(jìn)制數(shù)定點(diǎn)24位補(bǔ)碼數(shù)0.0644269199423758430000010000011111100100100.086237116875715341000001011000010011101001-0.090446129522962132111110100011011000100001-0.9517888619754914110000110001010111100100-0.0862371168757153411111101001111011000101110.0904461295229603830000010111001001110111110.360833498305534020001011100010111111001010.23642640306518907000011110010000110011100-0.23451506983909279111100001111110110110101-0.96999789866178998110000011110101110001110-0.236426403065189071111000011011110011001000.234515069839091340000111100000010010010110.59455440409022020010011000001101001011100.30598365902400908001101101001111001111001-0.30583918594063586111011000110110100100001-0.305983659024009081100100101100001100001110.30583918594063608000100111001001011011111-0.99059830159543105110000001001101000001010可用Matlab程序求截?cái)嗪笙禂?shù)并進(jìn)行仿真:fori=1:1:6forj=1:1:6s=to2(SOS(i,j));SOS1(i,j)=to10(r)+s;endendr=to2(G);G1=to10(r);[B,A]=SOS2TF(SOS1,G1);%轉(zhuǎn)成直接型freqz(B,A,Nn,fs);系數(shù)截?cái)嗪髨D形:圖13系數(shù)截?cái)嗪蟮姆l、相頻響應(yīng)仿真圖形圖14系數(shù)截?cái)嗪蟮牧銟O點(diǎn)圖圖13與圖14表明使用24位乘法器不會引入截?cái)嗾`差,通帶與阻帶衰減都符合設(shè)計(jì)要求。4.11本章總結(jié)比較以上幾種類型的濾波器參數(shù),在給定的參數(shù)要求下,采用橢圓濾波器可以獲得最佳的幅頻響應(yīng)特性,具有階數(shù)低,過渡帶窄等優(yōu)點(diǎn)。雖然橢圓濾波器在通帶也會產(chǎn)生波動,但考慮到波動處在可接受的范圍內(nèi),仍然符合設(shè)計(jì)要求。但由直接型傳輸函數(shù)表達(dá)式來實(shí)現(xiàn)并不實(shí)用。因此如前所說,將其分解為多個(gè)二階傳輸函數(shù)的級聯(lián)形式。借助Matlab信號處理工具箱中函數(shù)tf2sos(Transferfunctiontosecond-order-section)將傳遞函數(shù)轉(zhuǎn)換為二階級聯(lián)形式。對于是數(shù)字信號,需要對先前分析計(jì)算中分解獲得的二階子系統(tǒng)的濾波器系數(shù)進(jìn)量化,即用一個(gè)固定的字長加以表示。量化過程中由于存在不同程度的量化誤差由此會導(dǎo)致濾波器的頻率響應(yīng)出現(xiàn)偏差,嚴(yán)重時(shí)會使IIR濾波器的極點(diǎn)移到單位圓之外,使系統(tǒng)不穩(wěn)定。為了獲得最優(yōu)的濾波器系數(shù),量化的精度也相當(dāng)重要,因此這里采用24位乘法器,48位加法器進(jìn)行運(yùn)算,仿真結(jié)果顯示,不會產(chǎn)生極限環(huán)現(xiàn)象和溢出振蕩。5數(shù)字抽取濾波器的實(shí)現(xiàn)過程5.1用MATLAB進(jìn)行仿真MATLAB的簡介:是美國Mathwork公司于1967年推出的一個(gè)用于數(shù)學(xué)計(jì)算的軟件包,全名為“MartrixLaboratory”。它是一種功能強(qiáng),效率高,便于進(jìn)行科學(xué)和工程計(jì)算的交互式軟件包。MATLAB擁有豐富的庫函數(shù),在進(jìn)行復(fù)雜的數(shù)學(xué)運(yùn)算時(shí)可以直接調(diào)用,并且它的庫函數(shù)同用戶文件在形式上一樣,所以用戶文件也可以作為MATLAB的庫函數(shù)來調(diào)用。因而,用戶可以根據(jù)自己的需要,方便地建立和擴(kuò)充新的庫函數(shù)。另外,為了充分利用C等高級語言的資源,包括用戶已編好的高級語言程序,通過建立Met調(diào)用文件的形式,混合編程,可方便地調(diào)用有關(guān)的高級語言的子程序。其繪圖也十分方便,它有一系列繪圖函數(shù)。而信號處理是MATLAB應(yīng)用最成功的領(lǐng)域之一,MATLAB將信號處理中的許多常用算法編寫成了可調(diào)用的函數(shù),匯集構(gòu)成了信號處理工具箱。用MATLAB做一個(gè)模擬信號轉(zhuǎn)換為數(shù)字信號的實(shí)驗(yàn):程序如下:clf;t=0:0.0005:1;f=13;xa=cos(2*pi*f*t);subplot(2,1,1);plot(t,xa);gridxlabel('時(shí)間,msec');ylabel('振幅');title('連續(xù)時(shí)間信號x_{a}(t)');axis([01-1.21.2]);subplot(2,1,2);T=0.1;n=0:T:1;xs=cos(2*pi*f*n);k=0:length(n)-1;stem(k,xs);gridxlabel('時(shí)間序號n');ylabel('振幅');title('離散時(shí)間信號x[n]');axis([0(length(n)-1)-1.21.2]);得到的圖形:圖15模擬信號轉(zhuǎn)換為數(shù)字信號用MATLAB進(jìn)行數(shù)字抽取的實(shí)驗(yàn):使用M函數(shù)decimate來設(shè)計(jì)和實(shí)現(xiàn)一個(gè)具有整數(shù)抽取因子M的抽取器。程序如下:clf;M=input('抽樣因子=');n=0:99;x=sin(2*pi*0.043*n)+sin(2*pi*0.031*n);y=decimate(x,M,'fir');subplot(2,1,1);stem(n,x(1:100));title('輸入序列');xlabel('時(shí)間序號n');ylabel('振幅');subplot(2,1,2);m=0:(100/M)-1;stem(m,y(1:100/M));title('輸出序列');xlabel('時(shí)間序號n');ylabel('振幅');圖16經(jīng)過抽取因子為4的抽取濾波器后的序列時(shí)域比較可見用MATLAB設(shè)計(jì)濾波器十分的簡便,但不助于對整個(gè)知識結(jié)構(gòu)的把握,在理論分析過程中可以運(yùn)用,但是實(shí)際學(xué)習(xí)中運(yùn)用VC++編寫濾波器的程序更能強(qiáng)化理論知識,可以提高動手能力。5.2用C++進(jìn)行濾波器的實(shí)現(xiàn)VC++簡介:VisualC++是Microsoft公司推出的目前使用極為廣泛的基于Windows平臺的C++可視化開發(fā)環(huán)境。VisualC++6.0是以往版本不斷更新的基礎(chǔ)上形成的,由于其功能強(qiáng)大,靈活性好,完全可擴(kuò)展以及具有強(qiáng)有力的Internet支持,在各種C++語言開發(fā)工具中脫穎而出,成為最流行的C++語言開發(fā)工具。在用VC++的設(shè)計(jì)抽取濾波器的過程中,采用窗函數(shù)設(shè)計(jì)前面的低通濾波器,再將輸入信號與濾波器的脈沖響應(yīng)根據(jù)時(shí)域卷積定理,從而完成整個(gè)工程。在用軟件實(shí)現(xiàn)之前必須先建立數(shù)學(xué)模型,找到設(shè)計(jì)低通濾波器的表達(dá)式,以及設(shè)計(jì)過程中所必須的參數(shù),窗函數(shù)的單位脈沖響應(yīng)數(shù)學(xué)模型,然后用VC++語言編寫出來。5.2.1抽取濾波器的界面框圖本工程主要有三個(gè)模塊:信號輸入,信號處理(抽取濾波),信號輸出三個(gè)功能的結(jié)果都會由直觀的圖形界面表示。用戶操作的對話框用戶操作的對話框輸入信號抽取濾波器輸出信號參數(shù)設(shè)定時(shí)域波形采樣頻率幅度響應(yīng)頻域波形時(shí)域波形頻域波形圖17抽取濾波器的界面框圖5.2.2對話框的設(shè)計(jì)在VC++中,使用對話框非常容易,因此它提供的對話框編輯器能“可視”地進(jìn)行設(shè)計(jì),編輯,并可用ClassWizard為對話框從CDialog基類中派生一個(gè)類。MFC的CDialog類封裝了對話框的顯示,關(guān)閉等常用操作的許多功能函數(shù),例如DoModal函數(shù)用來顯示模式對話框并返回結(jié)果。通過對話框的編輯器,用戶可以完成下列工作:·添加,選取,刪除對話框內(nèi)的控件·改變控鍵的Tab鍵次序·利用基準(zhǔn)線,標(biāo)尺及布局工具進(jìn)行控件的布局·測試所編輯的對話框的性能(1)打開對話框編輯器將項(xiàng)目工作區(qū)窗口切換到ResourceView頁面,雙擊Dialog目錄下任意一個(gè)對話框ID,就可以打開對話框編輯器,或者當(dāng)選者“Insert”中的“Resource”選單命令(或按快捷鍵Ctrl+R)時(shí),在彈出的資源列表中選擇Dialog項(xiàng)。單擊New按鈕后,就會在開發(fā)環(huán)境的右側(cè)顯示出對話框編輯器。(2)在對話框中添加和編輯控件一旦對話框資源被打開或被創(chuàng)建,就可以在對話框中進(jìn)行控件的添加、修改、刪除等操作。對話框編輯器最初打開時(shí),控件工具欄是隨之出現(xiàn)的,利用此工具欄中的各個(gè)按鈕可以順利完成控件的添加。添加一個(gè)控件有以下幾種方法:·在控件工具欄中單擊某控件,此時(shí)的鼠標(biāo)箭頭在對話框內(nèi)變成“十”字形狀;在對話框指定位置單擊鼠標(biāo)左鍵,則此控件被添加到對話框的相應(yīng)位置,再拖動選擇框可改變控件的大和位置。·在控件工具欄中單擊某控件,此時(shí)的鼠標(biāo)箭頭對話框內(nèi)變成“十”字形狀;在指定位置處單擊鼠標(biāo)左鍵不放,拖動鼠標(biāo)至滿意位置,釋放鼠標(biāo)鍵。·用鼠標(biāo)左鍵點(diǎn)中控件工具欄中某控件,并按住鼠標(biāo)鍵不放;在移動鼠標(biāo)到對話框的指定位置的過程中,用戶會看到一個(gè)虛線框,下面帶有該控件的標(biāo)記;釋放鼠標(biāo)鍵,新添加的控件立即出現(xiàn)在對話框中。·對于大多數(shù)控件來說,這些屬性一般都有General(一般屬性)、Styles(控件的分格)和ExtendedStyles(控件的擴(kuò)展風(fēng)格)。其中Styles和ExtendedStyles是用來設(shè)定控件的外觀、輔助功能的。不同的控件具有不同的風(fēng)格和擴(kuò)展風(fēng)格,但控件的一般屬性基本相同,它通常有標(biāo)識符框、標(biāo)題框等內(nèi)容。圖18控件屬性對話框ID:控件的標(biāo)識符。每種控件都有默認(rèn)的ID,例如按鈕控件IDC_BUTTON1Caption:控件的標(biāo)題。大多數(shù)控件都有默認(rèn)的標(biāo)題,例如按鈕控件為Button1Visible:指定控件初始化時(shí)是否可見Group:指定控件組中的第一個(gè)控件,如果該項(xiàng)被選中,則此控件后的所有控件均被看成同一組。成組的目的是可以讓用戶用鍵盤方向鍵在同一組控件中進(jìn)行切換HelpID:若該項(xiàng)被選中,則為該控件建立一個(gè)上下文相關(guān)的幫助標(biāo)識符Disabled:指定控件初始化時(shí)是否禁用TabStop:若該項(xiàng)被選中,則用戶可以使用Tab鍵來選擇控件(3)根據(jù)控件的特性和功能,一般可將其分為三類:Windows公共控件ActiveX控件以及MFC新增的一些控件等。靜態(tài)控件CStatic用于向用戶顯示一些幾乎固定不變的文字或圖形述按鈕CButton用于產(chǎn)生某些命令或改變某些選項(xiàng)設(shè)置編輯框CEdit可完成文字的輸入、輸出雙向操作,使用戶能查看并輯文字列表框CListBox顯示一個(gè)列表,讓用戶從中選取一個(gè)或多個(gè)項(xiàng)組合框CComboBox它把列表框和編輯框有機(jī)地組合在一起,用戶不僅能擇列表中已有的項(xiàng),還能編輯出新的項(xiàng)滾動條CScrollBar通過滾動塊在滾動條上的移動來改變某些值進(jìn)展條CProgressCtrl用于指示一個(gè)操作的

溫馨提示

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

最新文檔

評論

0/150

提交評論