通信技術(shù)的飛速發(fā)展使得通信系統(tǒng)日趨復(fù)雜,通信系統(tǒng)設(shè)計的EDA技術(shù)在研發(fā)階段實現(xiàn)軟件仿真已成為時尚。文章介紹了通信仿真軟件SystemView的系統(tǒng)組成及主要特點,結(jié)合數(shù)字濾波器仿真,介紹了該軟件的使用方法。該軟件系統(tǒng)是用于現(xiàn)代工程與科學(xué)系統(tǒng)設(shè)計、模擬的動態(tài)系統(tǒng)分析軟件,是一個功能強(qiáng)大、有多種用途的工具平臺,適用于教學(xué)和指導(dǎo)大型通信控制系統(tǒng)的仿真與設(shè)計。
本設(shè)計論文首先介紹了本課題的課題背景和目的意義,而后在第二章對數(shù)字濾波器進(jìn)行了簡要的介紹,第三章以FIR和IIR濾波器為例,詳細(xì)說明了MATLAB和SystemView進(jìn)行的仿真。第四章作者應(yīng)用SystemView作了一個直序擴(kuò)頻系統(tǒng)的仿真。
通過本論文的介紹,可以看到SystemView是一種非常方便實用的仿真軟件,在現(xiàn)今的教學(xué)和軟件設(shè)計中起到舉足輕重的作用。
關(guān)鍵詞:SystemView,MATLAB,F(xiàn)IR濾波器,IIR濾波器,直序擴(kuò)頻系統(tǒng)的仿真
ABSTRACT
The rapid development of communication technology makes communication system more and more complex. Using the EDA technique in designing communication system to realize software simulation in the research and exploitation period has been popular. This paper describes the composition of the software system. Combining with FIR and IIR filter simulation, it also introduces the method of how to use the software. SystemView is a tool platform with powerful functions and various uses, which can be used in modern engineering and science system design and analog, especially in the simulation and design of communication system.
In the beginning of this paper, the author first shows us the backdrop and significance of this discussion. Then, in the chapter 2,there are some brief introductions of digital filter, which is the example we have to carry out in this whole paper. Chapter 3 is the main part of this paper, in this part the author give us a really particular describe of the MATLAB/SystemView simulation process, using FIR/IIR filter as the simulation object. Last but not least, the chapter 4 is the expanding part in this paper; the author does an exactitude simulation of the process of Direct-sequence spread spectrum.
Via the introduction of this paper, the readers can get a brief opinion of SystemView, this extremely useful simulating software, it do earn our emphasis during the teaching and software designing nowadays.
KEY WORDS SystemView,MATLAB,F(xiàn)IR filter,IIR filter,Direct-sequence spread spectrum
目 錄
第一章 緒 論 1
1.1 課題概述 1
1.1.1 課題背景 1
1.1.2 課題研究目的意義 2
1.2 論文結(jié)構(gòu) 2
第二章 濾波器原理 4
2.1數(shù)字濾波器的基本概念 4
2.1.1基本概念 4
2.1.2 數(shù)字濾波器的分類 4
2.2數(shù)字濾波器設(shè)計方法概述 6
2.2.1 IIR濾波器設(shè)計 6
2.2.2 FIR濾波器設(shè)計 7
2.3 仿真軟件的簡介和選擇 7
2.3.1 MATLAB簡介 7
2.3.2 SystemView簡介 8
2.3.3 其它軟件介紹 9
2.3.4 仿真軟件選擇 9
第三章 典型濾波器的SystemView設(shè)計與仿真 10
3.1 MATLAB仿真 10
3.1.1 FIR數(shù)字濾波器的設(shè)計 10
3.1.2橢圓模擬濾波器的設(shè)計 14
3.2 SystemView仿真 15
3.2.1橢圓濾波器仿真 15
3.2.2橢圓濾波器效果驗證(方波信號的合成分解) 16
1.信號分解與合成原理 16
2.仿真系統(tǒng)實現(xiàn) 17
3.2.3 FIR濾波器仿真 20
3.2.4 FIR濾波器效果驗證(奈奎斯特準(zhǔn)則仿真) 22
3.3 SystemView調(diào)用第三方M-LINK模塊 24
3.3.1 M-LINK的主要功能 24
3.3.2 建立SystemView下的MATLAB函數(shù)庫 25
第四章 仿真應(yīng)用–直接序列擴(kuò)頻仿真 28
4.1 直接序列擴(kuò)頻原理 28
4.1.1 擴(kuò)頻技術(shù)的理論基礎(chǔ) 28
4.1.2 直接序列擴(kuò)頻原理 29
4.2 直接序列擴(kuò)頻系統(tǒng)的仿真 30
第五章 結(jié)論 37
參考文獻(xiàn) 38
致 謝 39
附 錄 40
第一章 緒 論
在傳統(tǒng)的系統(tǒng)設(shè)計方法中,一般將設(shè)計過程劃歸為系統(tǒng)設(shè)計和算法研究和硬件和軟件的實現(xiàn)兩大類。由于兩類設(shè)計在設(shè)計工具、語言,甚至于設(shè)計者知識背景方面都存在著很大的差異,所以,設(shè)計鏈很容易被打斷,系統(tǒng)設(shè)計仿真和工程實現(xiàn)之間容易被隔離。這樣的設(shè)計很難保證一次性成功,往往要經(jīng)過多次地修改才能完成。
實現(xiàn)將系統(tǒng)級設(shè)計工具完成的設(shè)計結(jié)果自動映射成為工程實現(xiàn)。一直是系統(tǒng)設(shè)計研究人員努力達(dá)到的目標(biāo)。目前,離最終實現(xiàn)這一目標(biāo)雖然還有一段距離,但在很多新版本的仿真工具中已經(jīng)具有這樣的功能。
Elanix公司發(fā)布的SystemView 軟件就是一個優(yōu)秀的仿真軟件[1]。
1.1 課題概述
1.1.1 課題背景
銷售額
時間
圖1.1 產(chǎn)品利潤與其上市時間的關(guān)系
在現(xiàn)今市場經(jīng)濟(jì)的時候,設(shè)計周期短和上市快是所有廠商堅持不懈的追求。正如上圖中,即表明了產(chǎn)品上市時間與其利潤之間的關(guān)系。這說明,一個企業(yè)如果能夠比其競爭對手更快地推出新產(chǎn)品,更快地對市場作出反應(yīng),即可獲取更大的市場份額和更大的利潤。
系統(tǒng)設(shè)計仿真即用計算機(jī)幫助設(shè)計人員完成繁瑣的設(shè)計工作,是解決以上問題的有效途徑。
隨著仿真技術(shù)的飛速發(fā)展,新的設(shè)計工具不斷涌現(xiàn)。其中一個很顯著的特點是新的仿真設(shè)計工具越來越具有強(qiáng)大而全面的功能。例如,Cadence公司的SPW以及Elanix公司的SystemView 等。這些軟件工具的產(chǎn)生,主要是由于傳統(tǒng)的分隔各層次的設(shè)計方法越來越不能適應(yīng)目前超大規(guī)模復(fù)雜設(shè)計的需要。
1.1.2 課題研究目的意義
本課題的研究內(nèi)容主要涉及數(shù)字濾波波器的MATLAB和SystemView仿真。目的是希望對MATLAB和SystemView的仿真有一個較為明確的了解,體會仿真軟件強(qiáng)大的功能和現(xiàn)實的意義,以及對濾波器的設(shè)計和功能有一個全面的了解。
隨著電子技術(shù)和計算機(jī)信息技術(shù)的迅速發(fā)展,信息設(shè)備更新?lián)Q代速度日益加快,市場壽命周期越來越短,致使傳統(tǒng)的電子設(shè)計和分析工具己經(jīng)無法滿足市場需要在此背景下,EDA即電子設(shè)計自動化技術(shù)應(yīng)運(yùn)而生,現(xiàn)已成為提高電子產(chǎn)品質(zhì)量和技術(shù)水平的一項必不可少的技術(shù)。
EDA技術(shù)的發(fā)展改變了傳統(tǒng)電子技術(shù)類專業(yè)教學(xué)方法、設(shè)計手段,此類技術(shù)已經(jīng)應(yīng)用于多種專業(yè)的教學(xué)軟件中。系統(tǒng)仿真是根據(jù)被研究的電子系統(tǒng)建立仿真模型,然后在計算機(jī)上進(jìn)行分析、計算和研究。由于它在計算機(jī)上直觀簡單,使學(xué)生對一些如《信號與系統(tǒng)》、《通信原理》等比較抽象難懂學(xué)科中的問題,可以利用仿真軟件放到計算機(jī)界面上,并可直觀清楚地觀察信號的傳輸、信號通過系統(tǒng)的響應(yīng)、信號的頻譜及其搬移情況、可以幫助學(xué)生對課堂所學(xué)的較難理解的理論有更清楚、深刻的認(rèn)識,提高學(xué)習(xí)興趣并由此而改善此類課程的教學(xué)效果;同時,也可供工程技術(shù)人員對新技術(shù)產(chǎn)品研發(fā)之用[1]。
本論文研究的意義即是對典型濾波器進(jìn)行仿真,可用于教學(xué),使學(xué)生更深刻領(lǐng)會數(shù)學(xué)信號處理中的較難理論,亦可用于產(chǎn)品研發(fā)之中,作為一個零部件的設(shè)計仿真之用。在本論文的應(yīng)用擴(kuò)展部分,本人將以一個更加完整的實例體現(xiàn)仿真軟件的強(qiáng)大功能,說明濾波器在通信系統(tǒng)中的作用。
1.2 論文結(jié)構(gòu)
本文共分四部分:
在本文的開始,首先介紹了課題研究的背景和研究的意義。
在第二章中,為了提出仿真的具體實現(xiàn)方法,作者對所要實現(xiàn)的數(shù)字濾波器的原理作了介紹。
在第三章,首先對仿真軟件做了一定的介紹,而后對本文中將使用的仿真軟件作出選擇。并選用SystemView和MATLAB兩種仿真軟件,在濾波器數(shù)學(xué)模型的基礎(chǔ)上對典型濾波器–橢圓模擬濾波器和FIR(有限脈沖響應(yīng))數(shù)字波器的特性進(jìn)行仿真。并設(shè)計了一個仿真系統(tǒng)(如信號的合成與分解)和一個奈奎斯特準(zhǔn)則仿真系統(tǒng)來闡明其濾波作用。然后根據(jù)SystemView的強(qiáng)大功能,在其環(huán)境下直接調(diào)用MATLAB的函數(shù)來實現(xiàn)它與MATLAB第三方庫模塊–M-link庫的可靠連接,并利用對濾波器特性的仿真效果分析這兩種方法下的濾波器的濾波作用。
在第四章中,作者利用SystemView的強(qiáng)大功能,設(shè)計了一個更加完整的應(yīng)用實例,以此來說明濾波器在通信系統(tǒng)中的作用。
文中最后部分對該文所做的設(shè)計工作做了總結(jié)。
第二章 濾波器原理
2.1數(shù)字濾波器的基本概念
2.1.1基本概念
所謂數(shù)字濾波器,是指輸入、輸出均為數(shù)字信號,通過一定運(yùn)算關(guān)系改變輸入信號所含頻率成分的相對比例或者濾除某些頻率成分的器件。因此,數(shù)字濾波的概念和模擬濾波相同,只是信號的形式和實現(xiàn)濾波方法不同。正因為有該不同點,數(shù)字濾波器具有比模擬濾波器精度高、穩(wěn)定、體積小、重量輕、靈活、不要求阻抗匹配以及實現(xiàn)模擬濾波器無法實現(xiàn)的特殊濾波功能等優(yōu)點。如果要處理的是模擬信號,可通過A/DC和D/AC,在信號形式上進(jìn)行匹配轉(zhuǎn)換,同樣可以使用數(shù)字濾波器對模擬信號進(jìn)行濾波[2]。
2.1.2 數(shù)字濾波器的分類
數(shù)字濾波器按照不同的分類方法,有許多種類,但總起來可以分成兩大類。一類稱為經(jīng)典濾波器,即一般的濾波器,特點是輸入信號中有用的頻率成分和希望濾除的頻率成分各占有不同的頻帶,通過一個合適的選頻濾波器達(dá)到濾波的目的。例如,輸入信號中含有干擾,如果信號和干擾的頻帶不重疊,可濾除干擾得到純信號。但對于一般濾波器如果信號和干擾的頻帶重疊,則不能完成對干擾的有效濾除,這時需要采用另一類所謂的現(xiàn)代濾波器,例如維納濾波器、卡爾曼濾波器、自適應(yīng)濾波器等最佳濾波器。這些濾波器可按照隨機(jī)信號內(nèi)部的一些統(tǒng)計分布規(guī)律,從干擾中最佳地提取信號[3]。
一般數(shù)字濾波器從功能上分類,和模擬濾波器一樣,可以分成低通、高通、帶通和帶阻等濾波器。它們的理想幅度特性如圖2.1所示。這種理想濾波器是不可能實現(xiàn)的,因為它們的單位脈沖響應(yīng)均是非因果且是無限長的,我們只能按照某些準(zhǔn)則設(shè)計濾波器,使之盡可能逼近它,這些理想濾波器可作為逼近的標(biāo)準(zhǔn)用。另外,需要注意的是數(shù)字濾波器的傳輸函數(shù) 都是以2π為周期的,濾波器的低通頻帶處于2π的整數(shù)倍處,而高頻頻帶處于π的奇數(shù)倍附近,這一點和模擬濾波器是有區(qū)別的。
數(shù)字濾波器從實現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)或者從單位脈沖響應(yīng)分類,可以分為無限脈沖響應(yīng)(IIR)濾波器和有限脈沖響應(yīng)(FIR)濾波器。
系統(tǒng)函數(shù)分別為
(2.1)
和 (2.2)
ω
2π π 0 π 2π
(a)低通濾波器
ω
2π π 0 π 2π
(b) 高通濾波器
ω
2π π 0 π 2π
(c) 帶通濾波器
2π π 0 π 2π
(d) 帶阻濾波器
圖2.1 理想低通、高通、帶通、帶阻濾波器幅度特性
2.2數(shù)字濾波器設(shè)計方法概述
濾波器的設(shè)計是所有通信電路、通信系統(tǒng)中必不可少的部分。數(shù)字濾波器設(shè)計的最終目的是得到傳遞函數(shù)為指定 (其中 為數(shù)字角頻率)的線性系統(tǒng)。由于在計算機(jī)上不能獲得連續(xù)變化的量,因此,在計算機(jī)上實現(xiàn)的系統(tǒng)實質(zhì)上都是離散的,即數(shù)字濾波器。利用計算機(jī)輔助設(shè)計濾波器,須根據(jù)各種有關(guān)理論并利用各種工具,計算得到傳遞函數(shù)為H(z)的離散線性系統(tǒng),使之依照 的關(guān)系可以得到對應(yīng)的 [3]。
如下是關(guān)于濾波器補(bǔ)充的一些基本知識:
設(shè)某離散線性系統(tǒng)的輸入序列與輸出序列分別為x(n)、y(n),它們滿足以下遞推差分方程:
(2.3)
且x(n)、y(n)對應(yīng)的Z變換結(jié)果分別是X(z)、Y(z),則該線性系統(tǒng)的傳遞函數(shù)為 ,該傳遞函數(shù)的反Z變換結(jié)果即為該系統(tǒng)在沖激信號下的響應(yīng),即沖激響應(yīng)h(n)。一般來說,對應(yīng)于上述遞推差分方程,H(z)的基本形式為
(2.4)
設(shè)計數(shù)字濾波器,也就是要設(shè)計H(z)表達(dá)式中的各項系數(shù) 和 。
2.2.1 IIR濾波器設(shè)計
在最一般情況下, 不全為零。此類濾波器的沖激響應(yīng)是時間無限的,因此稱為無限沖激響應(yīng)濾波器,簡稱為IIR濾波器。
模擬的網(wǎng)絡(luò)綜合理論已經(jīng)發(fā)展的很成熟,在該領(lǐng)域產(chǎn)生了很多高效的設(shè)計方法,使模擬濾波器的設(shè)計方便、準(zhǔn)確;因此,常常利用模擬濾波器來設(shè)計數(shù)字濾波器。通過連續(xù)系統(tǒng)與離散系統(tǒng)之間的等效性,利用離散空間到連續(xù)空間的變換,IIR濾波器可對應(yīng)于連續(xù)域的模擬濾波器。常用的空間映射方法有雙線性變換法和沖激不變法。
利用模擬濾波器逼近設(shè)計數(shù)字濾波器時,常用的模擬濾波器類型有巴特沃斯型、切比雪夫型、貝塞爾型、橢圓型、線性相移型等。根據(jù)濾波器幅頻特性的不同,每種濾波器又有低通、高通、帶通、帶阻等類型。在設(shè)計過程中,首先以標(biāo)準(zhǔn)低通濾波器為基礎(chǔ),逼近設(shè)計的目的是尋找一個表征因果穩(wěn)定系統(tǒng)的傳遞函數(shù),使其幅頻/相頻特性接近于理想特性。然后再利用通帶變換,把所設(shè)計的幅頻/相頻特性變換到所需的頻帶上去,就完成了該濾波器的設(shè)計。
在根據(jù)具體要求或指標(biāo)設(shè)計IIR濾波器時,首先根據(jù)指定的各項性能指標(biāo),在連續(xù)域內(nèi)設(shè)計模擬濾波器的傳遞函數(shù)H(s)(如果給定的是數(shù)字濾波器的指標(biāo),應(yīng)根據(jù)數(shù)字頻率與模擬頻率之間的關(guān)系,將數(shù)字濾波器的指標(biāo)變換為模擬濾波器的指標(biāo))。按照要求完成模擬濾波器H(s)的設(shè)計后,只需按照雙線性變換的對應(yīng)關(guān)系
(2.5)
將式中的s代換為z,即可完成IIR濾波器的設(shè)計。同樣,也可采用沖擊不變法,將連續(xù)域的模擬濾波器映射為離散域的數(shù)字濾波器[4]。
2.2.2 FIR濾波器設(shè)計
當(dāng)H(z)表達(dá)式中分母上的各項系數(shù) 均小于零時,H(z)表達(dá)式簡化為
(2.6)
其對應(yīng)的差分方程為 (2.7)
此時,該系統(tǒng)的沖激響應(yīng)在時間上是有限的,故此類系統(tǒng)稱為有限沖激響應(yīng)濾波器,簡稱為FIR濾波器。FIR濾波器與IIR濾波器相比,有如下優(yōu)點:它可以保證系統(tǒng)的穩(wěn)定性;它的具體實現(xiàn)對應(yīng)有快速算法;它可以保證系統(tǒng)是線性相移的,因此,可以在通帶內(nèi)不產(chǎn)生相位失真。故在數(shù)字系統(tǒng)設(shè)計中較多采用FIR濾波器。
在FIR濾波器設(shè)計中,從時域出發(fā)和從頻域出發(fā)分別有不同的設(shè)計方法。一種方法是窗口設(shè)計法。它是從時域的沖激響應(yīng)出發(fā)的設(shè)計方法。首先對設(shè)計的目標(biāo)頻率響應(yīng) 進(jìn)行反傅里葉變換,得到的是時間無限的沖激響應(yīng) ,再用一定形狀的時間窗口,對該無限的沖激響應(yīng)進(jìn)行時間截取以獲得時間有限的沖激響應(yīng)h(n),并要求所得到的沖激響應(yīng)的Z變換H(z)經(jīng)映射可逼近原來的 。為了使時間截取對系統(tǒng)頻率響應(yīng)造成的影響較小,常用的時間窗口有矩形窗、海明窗、漢寧窗、凱塞窗等。另一種方法是頻率采樣法。即直接從頻域出發(fā),對設(shè)計的目標(biāo)頻率響應(yīng)采樣,以此來確定所需的傳遞函數(shù),使設(shè)計所得的傳遞函數(shù)逼近理想的傳遞函數(shù),至少在采樣點上使之具有相同的頻率響應(yīng),以此完成數(shù)字濾波器的設(shè)計[4]。
2.3 仿真軟件的簡介和選擇
2.3.1 MATLAB簡介
MATLAB是美國MathWorks公司自20世紀(jì)80年代中期推出的數(shù)學(xué)軟件,優(yōu)秀的數(shù)值計算能力和卓越的數(shù)據(jù)可視化能力使其很快在數(shù)學(xué)軟件中脫穎而出,已經(jīng)發(fā)展成為多學(xué)科、多種工作平臺的功能強(qiáng)大的大型軟件。MATLAB已經(jīng)成為線性代數(shù)、自動控制理論、概率論及數(shù)理統(tǒng)計、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真開發(fā)具等高級課程的基本教學(xué)工具。
MALTLAB特點包括:
1. 運(yùn)算符豐富,提供了和C語言幾乎一樣多的運(yùn)算符;
2. 高級但簡單的程序環(huán)境, MATLAB既具有結(jié)構(gòu)化的控制語句,又有面向?qū)ο?a target="_blank">編程的特性;
3. 程序限制不嚴(yán)格,程序設(shè)計自由度大。有大量事先定義的數(shù)學(xué)函數(shù),并且有很強(qiáng)的用戶自定義函數(shù)的能力;
4. 程序的可移植性很好;
5. MATLAB的圖形功能強(qiáng)大。具有教育、科學(xué)和藝術(shù)學(xué)的圖解和可視化的二維、三維圖;
6. 語言簡潔緊湊,使用方便靈活,庫函數(shù)極其豐富;
7. 功能強(qiáng)大的工具箱是MATLAB的另一特色。MATLAB包含兩個部分:核心部分和各種可選的工具箱。核心部分中有數(shù)百個核心內(nèi)部函數(shù)。其工具箱又分為兩類:功能性工具箱和學(xué)科性工具箱。功能性工具箱主要用來擴(kuò)充其符號計算功能,圖示建模仿真功能,文字處理功能以及與硬件實時交互功能。功能性工具箱用于多種學(xué)科。而學(xué)科性工具箱是專業(yè)性比較強(qiáng)的,如(control、signal proceessing 、commumnication) toolbox等;
8. 源程序的開放性。用戶可通過對源文件的修改以及加入自己的文件構(gòu)成新的工具箱[3]。
2.3.2 SystemView簡介
SystemView是一個信號級的系統(tǒng)仿真軟件,主要用于電路與通信系統(tǒng)的設(shè)計、仿真,是一個強(qiáng)有力的動態(tài)系統(tǒng)分析工具,能滿足從數(shù)字信號處理、濾波器設(shè)計、直到復(fù)雜的通信系統(tǒng)等不同層次的設(shè)計、仿真要求。SystemView以模塊化和交互式的界面,在大家熟悉的Windows窗口環(huán)境下,為用戶提供了一個嵌入式的分析引擎。使用SystemView只需要關(guān)心項目的設(shè)計思想和過程,而不必花費(fèi)大量的時間去編程建立系統(tǒng)仿真模型。用戶只需使用鼠標(biāo)器點擊圖標(biāo)即可完成復(fù)雜系統(tǒng)的建模、設(shè)計和測試,而不必學(xué)習(xí)復(fù)雜的計算機(jī)程序編制,也不必?fù)?dān)心程序中是否存在編程錯誤[5]。
SystemView特點:
1. 能仿真大量的應(yīng)用系統(tǒng)
能在DSP、通訊和控制系統(tǒng)應(yīng)用中構(gòu)造復(fù)雜的模擬、數(shù)字、混合和多速率系統(tǒng)。具有大量可選擇的庫,允許用戶有選擇地增加通訊、邏輯、DSP和射頻/模擬功能模塊。特別適合無線電話(GSM,CDMA,F(xiàn)DMA,TDMA,DSSS)、無繩電話、尋呼機(jī)和調(diào)制解調(diào)器以及衛(wèi)星通信系統(tǒng)(GPS,DVBS,LEOS)等的設(shè)計;能夠仿真(C3x,C4x等)DSP結(jié)構(gòu);可進(jìn)行各種系統(tǒng)時域/頻域分析和譜分析;對射頻/模擬電路(混合器,放大器,RLC電路和運(yùn)放電路)進(jìn)行理論分析和失真分析;
2. 快速方便的動態(tài)系統(tǒng)設(shè)計與仿真
使用熟悉的Windows界面和功能鍵(單擊、雙擊鼠標(biāo)的左右鍵),SystemView可以快速建立和修改系統(tǒng),并在對話框內(nèi)快速訪問和調(diào)整參數(shù),實時修改實時顯示。只需簡單用鼠標(biāo)點擊圖符即可創(chuàng)建連續(xù)線性系統(tǒng)、DSP濾波器,并輸入/輸出基于真實系統(tǒng)模型的仿真數(shù)據(jù)。不用寫一行代碼即可建立用戶習(xí)慣的子系統(tǒng)庫(MetaSystem)。 SystemView圖標(biāo)庫包括幾百種信號源、接收端、操作符和功能塊,提供從DSP、通信、信號處理、自動控制、直到構(gòu)造通用數(shù)學(xué)模型等的應(yīng)用。信號源和接收端圖標(biāo)允許在SystemView內(nèi)部生成和分析信號,并提供可外部處理的各種文件格式和輸入/輸出數(shù)據(jù)接口;
此外,SystemView還提供基于組織結(jié)構(gòu)圖方式的設(shè)計;允許多速率系統(tǒng)和并行系統(tǒng) ;提供完備的濾波器和線性系統(tǒng)設(shè)計以及先進(jìn)的信號分析和數(shù)據(jù)塊處理并具有很好的可擴(kuò)展性和完善的自我診斷功能[6]。
2.3.3 其它軟件介紹
PSpice:PSpice是一種強(qiáng)大的模擬和數(shù)字電路混合信號仿真軟件,包括對中規(guī)模集成電路(MSI)和大規(guī)模集成電路(LSI)提供多種分析功能,而且仿真精度高,在國內(nèi)普遍使用。
EWB(Electronic Workbench)軟件:主要用于模擬和數(shù)字電路的仿真。高版本已更名為Multisim。相對于其它EDA軟件,它提供了萬用表、示波器、信號發(fā)生器等虛擬儀器。該軟件的界面直觀,易學(xué)易用。它的很多功能模仿了Spice的設(shè)計,分析功能也較強(qiáng)。
Protel軟件:Protel是PROTEL(現(xiàn)更名為Altium)公司在20世紀(jì)80年代末推出的CAD工具。現(xiàn)在普遍使用的是Protel 99 SE。它是個完整的全方位電路設(shè)計系統(tǒng),包含了電原理圖繪制、模擬電路與數(shù)字電路混合信號仿真、多層印刷電路板設(shè)計,可編程邏輯器件設(shè)計等功能,并具有Client/Server體系結(jié)構(gòu),同時還兼容一些其它設(shè)計軟件的文件格式。Protel軟件功能強(qiáng)大、界面友好、使用方便。它最具代表性的是電路設(shè)計和PCB設(shè)計。
VHDL語言:超高速集成電路硬件描述語言(Vhsic Hardware Deseription Languagt,簡稱VHDL),是IEEE的一項標(biāo)準(zhǔn)設(shè)計語言。它源于美國國防部提出的超高速集成電路(Very High Speed Integrated Circuit,簡稱VHSIC)計劃,是ASIC設(shè)計和PLD設(shè)計的一種主要輸入工具。
Veriolg HDL:Verilog公司推出的硬件描述語言,在ASIC設(shè)計方面與VHDL語言平分秋色[7]。
2.3.4 仿真軟件選擇
經(jīng)過選擇,決定選用MATLAB和SystemView兩種仿真軟件。
主要原因是由于此論文課題為教師科研題,希望可以作為教學(xué)使用。另一方面而MATLAB和SystemView這兩種軟件在教學(xué)仿真中是當(dāng)仁不讓的不二選擇。
另一方面,正如上述的介紹,MATLAB和SystemView這兩種軟件有操作簡單,容易上手,界面直觀等特點,也是促使作者選用這二者的原因。
第三章 典型濾波器的SystemView
設(shè)計與仿真
3.1 MATLAB仿真
3.1.1 FIR數(shù)字濾波器的設(shè)計
1、FIR數(shù)字濾波器設(shè)計的窗口法
有限沖擊響應(yīng)(FIR)數(shù)字濾波器的轉(zhuǎn)移函數(shù)為:
(3.1)
FIR濾波器的設(shè)計包括以下步驟:給出所需要的濾波器的技術(shù)指標(biāo);設(shè)計一個H(z)使其逼近所需要的技術(shù)指標(biāo);實現(xiàn)所設(shè)計的H(z)。
FIR濾波器的沖激響應(yīng)就是系統(tǒng)函數(shù)各次項的系數(shù),所以設(shè)計FIR濾波器的方法之一是:從時域出發(fā),截取有限長的一段沖激響應(yīng)作為H(z)的系數(shù),沖激響應(yīng)長度N就是系統(tǒng)函數(shù)H(z)的階數(shù)。只要N足夠長,截取的方法合理,總能夠滿足頻域的要求。這就是FIR濾波器的窗口設(shè)計法。目標(biāo)是設(shè)計一個線性相位的FIR數(shù)字濾波器,要求的理想頻響為 ,它是 w的周期函數(shù)。
因此,可以展開成傅里葉級數(shù): e (3.2)
式中:h (n)為傅里葉系數(shù)。但是,我們不能以作為h (n)設(shè)計FIR數(shù)字濾波器的h (n),因為h (n)一般是非因果的,且無限長,物理上是不可實現(xiàn)的。為了解決這個問題,可以先把無限長的h (n)的截短為有限長序列,然后把有限長序列右移使之成為因果序列入h(n)。用h(n)近似h (n)設(shè)計出來的FIR濾波器,其頻響 一定也是理想頻響 的近似。以上方法中的截短就是加窗,所以稱窗口設(shè)計[5]。
2 FIR數(shù)字濾波器設(shè)計的頻率采樣法
窗口法是以h (n)為媒介的時域設(shè)計法,而濾波器指標(biāo)往往是在頻域給出的,為此,要由 算出h (n),加窗后又從h(n)算出h (n)來檢驗。當(dāng)理想頻響 是任意曲線,或者不存在明確的解析表達(dá)式時,求H(n)就困難一些。因此,我們不得不想:能否不要頻域一時域一頻域地反復(fù),而直接從頻域來設(shè)計呢?這就是采用FIR濾波器的頻域設(shè)計法一頻率采樣法。頻率采樣法先對理想頻響 采樣,得到樣值H(k),再利用插值公式直接求出系統(tǒng)轉(zhuǎn)換函數(shù)H(z),以便實現(xiàn);或者求出頻響H(e ),以便與理想頻響進(jìn)行比較。
在[O,2π]區(qū)間上對H(z)進(jìn)行N點采樣,等效于時域以N為周期延π。
頻率采樣法的步驟可歸納為:
a)給定理想頻響 。
b)確定采樣點數(shù),對理想頻響采樣得到H(k)。
c)代入下式,即得FIR數(shù)字濾波器的轉(zhuǎn)移函數(shù):
H(z)= (3.3)
頻率采樣法可以看做為插值法,這種方法的缺點是通帶和阻帶的邊緣要精確確定[4]。
3 FIR數(shù)字濾波器設(shè)計的切比雪夫逼近法
在上面的兩個部分中,我們介紹了數(shù)字濾波器的窗口設(shè)計法和頻率抽樣法,用這兩種方法設(shè)計出的濾波器的頻率特性都是在不同意義上對所給理想頻率特性 的逼近。從數(shù)值逼近的理論來看,對某個函數(shù)f(x)的逼近一般有三個方法:插植法;最小平方逼近法;最佳一致逼近法。所謂插值,即尋找一n階多項式(或三角多項式)P(x),使它在N+1個點X , X …X 處滿足P(x )=f(x ),k=0,l,? ,n 。而在非插值點上,P(x)是 f(x )的某種組合。當(dāng)然,在非插植點上,p(x)和f(x)存在一定的誤差。頻率抽樣法可以看作為插值法,它在抽樣點w 上保證了H(e )= H (e )而在非抽樣點上,H(e )是插值函數(shù)S(w,k)的線性組合,其權(quán)重是H (e )。這種設(shè)計方法的缺點是通帶和阻帶的邊緣不容易精確的確定。
最小平方逼近是在所需要的范圍內(nèi),如區(qū)間[a,b]:使積 為最小。設(shè)計方法是著眼于使整個區(qū)間[a,b]的總誤差為最小,但它并不一定能保證在每個局部位置誤差都最小。實際上,在某些位置上,有可能存在著較大的誤差。實際上,傅立葉級數(shù)法就是一種最小平方逼近法。該方法在間斷點處出現(xiàn)了較大的過沖(Gibbs現(xiàn)象)。為了減少這種過沖和欠沖,采用了加窗口的方法,當(dāng)然,加窗口以后的設(shè)計方法,已不再是最小平方逼近。
最佳一致逼近法,是著眼于在所需要的區(qū)間[a,b]內(nèi),使誤差函數(shù)E(x)=|p(x)-f(x)|比較均勻一致,并且通過合理地選擇p(x),使E(x)的最大值E 達(dá)到最小。切比雪夫逼近理論解決了p(x)的存在性、唯一性及如何構(gòu)造等一系列問題。
切比雪夫最佳一致逼近的基本是,對于給定區(qū)間[a,b]上的連續(xù)函數(shù)p(x),在所有n次多項式的集合中,尋找一多項式 ,使它在[a,b]上對f(x)的偏差和其他一切屬于集合的多項式p(x)對f(x)的偏差相比是最小的,即
(3.4)
切比雪夫逼近理論指出,這樣的多項式 是存在的,且是惟一的,并指出了構(gòu)造這種最佳一致逼近多項式的方法,這就是有名的”交錯點組定理”,該定理可描述如下:
設(shè)f(x)是定義在[a,b]上的連續(xù)函數(shù),P(x)是集合中一個多項式,并令
E = (3.5)
以及E(x)= ,p(x)是f(x)最佳一致逼近多項式的充要條件是,E(x)在[a,b]上至少存在n+2個交錯點n≤x ≤…≤x ≤b,使得
E(x )=±E .i= l,2,? ,n+2 (3.6)
且 E(x ) =-E(x ),i=l,2,? ,n + 2 (3.7)
這n+2個點即是”交錯點組”,顯然x ,x ,x 是E(z)的極值點。n階切比雪夫多項式
(3.8)
在區(qū)間[-l,1]存在n+1個點 ,輪流似的 取得最大值+1和最小值一l, 是x的多項式,且最高項 的系數(shù)是 ,可以證明,在所有n階多項式中,多項式 / ,和0的偏差最小。這樣,如果我們在尋找P(x)時,能使誤差函數(shù)為某一個 ,那么,這樣的P(x)將是對f(x)的最佳一致逼近[4]。
使用MATLAB語言來設(shè)計FIR數(shù)字濾波器
除了上面幾種主要的設(shè)計方法,我們設(shè)計濾波器也可以采用MATLAB本身的來實現(xiàn)。MATLAB語言的應(yīng)用很廣泛,特別是在數(shù)字信號的處理方面,因為它有著強(qiáng)大的仿真功能。
以上述的各種方法一一在MATLAB中實現(xiàn)。
1.窗函數(shù)法
以一個線性相位FIR低通濾波器為實例,其性能指標(biāo)為:通帶邊界頻率ωp=0.5π,阻帶邊界頻率ωS=0.66π,阻帶衰減不小于40dB,通帶波紋不大于3dB。
在此例中,阻帶衰減不小于40dB,選取漢寧窗。
用MATLAB編程程序見附錄1。
程序運(yùn)行后,即得所設(shè)計FIR線性相位濾波器的頻率特性。如圖3.1和3.2所示。
圖3.1 FIR線性相位濾波器的頻率特性
圖3.2 FIR線性相位濾波器的相位特性
2.頻率采樣法
以前面的線性相位FIR低通濾波器為實例,其性能指標(biāo)為:通帶邊界頻率ωp=0.5π,阻帶邊界頻率ωS=0.66π。在此法設(shè)計中,沒有用到允許最大最小衰減等設(shè)計指標(biāo)。
用MATLAB編程程序見附錄2。
程序運(yùn)行后,可以看到所設(shè)計FIR濾波器的幅頻特性、沖激響應(yīng)和衰減特性曲線等。
如下圖3.3、3.4、3.5所示。
圖3.3 所設(shè)計的FIR濾波器頻率特性
圖3.4 所設(shè)計的FIR濾波器相位特性
3.切比雪夫逼近法
繼續(xù)實現(xiàn)之前的線性相位FIR低通濾波器。通帶邊界頻率ωp=0.5π,阻帶邊界頻率ωS=0.66π,阻帶衰減不小于40dB,通帶波紋不大于3dB。
由此可以寫出MATLAB程序見附錄3。
程序運(yùn)行后,可以看到所設(shè)計FIR濾波器的幅頻特性。
圖3.5 FIR濾波器的幅頻特性
3.1.2橢圓模擬濾波器的設(shè)計
MATLAB還可用于模擬濾波器的設(shè)計。
橢圓的模擬低通濾波器原型的平方幅值響應(yīng)函數(shù)為
(3.9)
式中,μ為小于1的正數(shù),表示波紋情況;ωC為截止頻率; 為橢圓函數(shù),定義為
當(dāng)N為偶數(shù)(N=2m)時,
(3.10)
當(dāng)N為奇數(shù)(N=2m+1)時,
(3.11)
其中,
橢圓模擬濾波器的特點是:在通帶和阻帶內(nèi)均具有等波紋起伏特性。和其它濾波器原型相比,相同的性能指標(biāo)所需的階數(shù)最小。但相頻響應(yīng)具有明顯的非線性。
此外,在MATLAB中,有一個專門的函數(shù)ELLIP可用于橢圓模擬濾波器設(shè)計。其調(diào)用格式為
[b,a]= ellip(n,RP,RS,ωn,’s’)
[b,a]= ellip 2(n, RP,RS,ωn,’ftype’,’s’)
[z,p,k]= ellip 2(…)
[A,B,C,D]= ellip 2(…)
其中,RP為通帶波紋(dB),RS為阻帶衰減(dB)[8]。
下面以一個高通橢圓模擬濾波器為例,假定此濾波器的設(shè)計性能指標(biāo)為:通帶邊界頻率ωp=1500Hz,阻帶邊界頻率ωS=1000Hz,通帶波紋RP=0.5dB,阻帶衰減RS=20dB。
用MATLAB編定程序見附錄4。
運(yùn)行結(jié)果,濾波器為3階。濾波器的幅頻特性如圖3.7所示。
圖3.6 橢圓濾波器幅頻特性
3.2 SystemView仿真
本文采用了SystemView和MATLAB兩種仿真軟件,在濾波器數(shù)學(xué)模型的基礎(chǔ)上借助SystemView對典型濾波器–橢圓模擬濾波器和FIR(有限脈沖響應(yīng))數(shù)字濾波器的特性進(jìn)行仿真分析。
3.2.1橢圓濾波器仿真
點擊選擇菜單條上的”Filter/Analog”或單擊”Analog”按鈕,可以設(shè)計五種模擬濾波器。它們是:巴特沃斯、貝賽爾、切比雪夫、橢圓、線性相位。這些濾波器可以是低通、高通或帶通。所選擇的濾波器的一般形狀由濾波器的類型決定,需要輸入的數(shù)據(jù)是濾波器的極點數(shù)、-3dB帶通或截止頻率、相位紋波系數(shù)、增益等參數(shù),按”Finish”完成設(shè)計[10]。
以在MATLAB中已仿真過的高通橢圓模擬濾波器為例,假定此濾波器的設(shè)計性能指標(biāo)為:通帶邊界頻率ωp=1500Hz,阻帶邊界頻率ωS=1000Hz,通帶波紋RP=0.5dB,阻帶衰減RS=20dB。
按”Gain”可看到如下圖3.7所示的增益響應(yīng)波形圖
圖3.7 橢圓濾波器增益響應(yīng)波形圖
按”Time”可看到如下圖3.8中的特性曲線
圖3.8 橢圓濾波器特性曲線
由此,我們可看出其特性仿真與MATLAB中的仿真結(jié)果是相吻合的。
3.2.2橢圓濾波器效果驗證(方波信號的合成分解)
在此節(jié)中,為了更好的論證橢圓濾波器的特性,設(shè)計了一個仿真系統(tǒng)–方波信號的合成與分解,借此闡明其濾波作用。
1.信號分解與合成原理
為了便于研究信號傳輸和信號處理等問題,往往將一些信號分解為比較簡單(基本)的信號分量之和。分解的方法有多種,常見的分析方法有:直流分量與交流分量,偶分量與奇分量,脈沖分量和正交函數(shù)集等。其中將信號分解為正交函數(shù)集的研究方法在信號與系統(tǒng)理論中占有重要地位。傅立葉分析法是常見的一種,一個偶對稱的矩形信號可分解為:
(3.12)
其中:k=1,3,5,…
它只含有1,3,5等奇次諧波分量[9]。
分解方法如圖所示。
圖3.9 方波分解原理框圖
圖中將輸出信號加到一個濾波器組,其中每一個單元濾波器中心頻率等于信號的各次諧波頻率。在濾波器輸出端得到分開來的基頻信號和各次諧波信號。
將圖3.9所得到的基波和各次諧波分量送到一個加法器輸入端(如圖3.10所示)重新合成,合成后的波形從加法器輸出端得到。
圖3.10 方波合成方案原理框圖
2.仿真系統(tǒng)實現(xiàn)
在SystemView環(huán)境上,用線性濾波器,加法器,乘法器可實現(xiàn)波形合成與分解。對應(yīng)的仿真系統(tǒng)模型如圖3.11和3.12所示。圖3.11所示為信號分解仿真模型,被分解信號為方波,將方波信號分解為前6個不為零的諧波分量。圖3.12為信號合成系統(tǒng)模型,將分解后的信號合成。
圖3.11 信號分解仿真模型
圖3.12 信號合成仿真模型
如圖3.9所示,將信號進(jìn)行選頻濾波,濾出第1、3、5、7、9和11次諧波(偶次諧波為0),系統(tǒng)取樣速率為1000Hz,取樣點數(shù)為20480,濾波器的帶寬取2Hz。多取一些點數(shù)是為了減少截斷誤差。使FFT更接近周期信號的離散頻譜。
觀察圖3.13和圖3.14可以看原方波以及經(jīng)濾波器分解后的各諧波疊加波形,由此可以清楚地看出各次諧波與原信號的頻率關(guān)系。
圖3.13 原方波波形
圖3.14經(jīng)濾波器分解后的各諧波疊加波形
圖3.15 方波信號頻譜圖
圖3.16 6個低次諧波頻譜合成圖
觀察圖3.15:方波信號頻譜圖和圖3.16:6個低次諧波頻譜合成圖可以看出原方波信號的頻譜以及分解后的幾個低次諧波頻譜。從原理上講,方波信號的諧波是無限的。仿真選擇了最低的6次諧波,從3.16圖中很清楚地看出,這6次諧波已經(jīng)占去了原頻譜的大部分能量。實際上這樣的處理在工程上往往已經(jīng)滿足需要,這一點可在圖3.17看出。而誤差也會隨著諧波次數(shù)的增加而減小。
圖3.17 6個低次諧波合成后的信號波形
在實際工程中,誤差是不可能消除的,這些誤差是由忽略高次諧波分量造成的。因此在工程上可以根據(jù)信號分析的誤差要求,確定截取的諧波次數(shù)。一般來說,選擇前10項諧波合成的信號已基本滿足工程要求。
我們從仿真結(jié)果中可以清楚的看到,橢圓濾波器可以將方波信號分解成多個不同幅值、不同頻率的正弦波信號,滿足了理論中分解情況。同時又將分解后的正弦波重新合成,得到較好的方波信號,橢圓濾波器實現(xiàn)了其濾波作用。
3.2.3 FIR濾波器仿真
FIR濾波器仿真過程
在SystemView中,通過選擇菜單條上的”FIR”或直接按濾波器設(shè)計欄下的”FIR”按鈕可以進(jìn)入到FIR濾波器設(shè)計窗口。左右各有兩組FIR濾波器,共14種。當(dāng)選擇了其中任何一個濾波器后,都會出現(xiàn)一個相應(yīng)的設(shè)計窗口,用戶可以輸入濾波器的通帶寬度、過渡頻帶以及截止頻率等濾波器參數(shù)。此外,還能對相應(yīng)形式的濾波器設(shè)置通帶內(nèi)的紋波系數(shù)[9]。
以之前在MATLAB里已實現(xiàn)的線性相位FIR低通濾波器為實例,其性能指標(biāo)為:通帶邊界頻率ωp=0.5π,阻帶邊界頻率ωS=0.66π,阻帶衰減不小于40dB,通帶波紋不大于3dB。
主要步驟為:
第一步,先確定系統(tǒng)采樣速率,因為低通濾波器的帶寬為100Hz,選擇1KHz的系統(tǒng)采樣速率比較合適。
第二步,在設(shè)計窗口放置一個算子圖符,并選擇使用線性系統(tǒng)的FIR濾波器設(shè)計。在FIR濾波器設(shè)計窗口上選擇低通濾波器”Lowpass”按鈕后,再按”Design”按鈕,屏幕上將出現(xiàn)如圖3.18所示的低通濾波器設(shè)計窗口。在這個窗口的下邊是一組用來確定濾波器抽頭、通帶內(nèi)紋波以及最大迭代次數(shù)的文字框,其中的數(shù)字用于計算FIR抽頭系數(shù)的算法中。
圖3.18 低通濾波器設(shè)計窗口
第三步,在窗口中將濾波器通帶內(nèi)增益設(shè)為0dB,通帶轉(zhuǎn)折頻率設(shè)為0.25,截止頻率設(shè)為0.33,截止帶內(nèi)增益設(shè)為-40dB。帶內(nèi)紋波0.5dB,最大疊代次數(shù)默認(rèn)25。采用系統(tǒng)自動優(yōu)化抽頭數(shù),選擇自動優(yōu)化”Enable”按鈕。經(jīng)過計算,實現(xiàn)濾波器所需要的抽頭數(shù)會出現(xiàn)在這個按鈕左邊的文字框內(nèi)。這樣選擇的抽頭數(shù)最佳。
當(dāng)設(shè)計參數(shù)輸入結(jié)束后,單擊”Finish”按鈕進(jìn)行系數(shù)計算,在進(jìn)行計算時,會有一個進(jìn)度條出現(xiàn)以指示系數(shù)計算的狀態(tài)。計算結(jié)束后,濾波器的時域單位響應(yīng)曲線會出現(xiàn)在圖形顯示區(qū)內(nèi)。如圖3.19所示。
圖3.19 時域單位響應(yīng)曲線
單擊增益”Gain”選項,可以看到如圖3.20所示的增益響應(yīng)波形圖。
圖3.20 FIR濾波器增益響應(yīng)曲線
單擊”phase”選項,也可看到如圖3.21所示的相位響應(yīng)。
圖3.21 FIR濾波器相位響應(yīng)曲線
可看到,SystemView的仿真結(jié)果與MATLAB幾乎如出一轍。
3.2.4 FIR濾波器效果驗證(奈奎斯特準(zhǔn)則仿真)
為了更好的論證FIR數(shù)字濾波器的特性,設(shè)計奈奎斯特準(zhǔn)則仿真系統(tǒng),闡明FIR數(shù)字濾波器的濾波作用。
奈奎斯特第一準(zhǔn)則:
信號在無噪聲的信道中傳輸時,對于二進(jìn)制信號的最大數(shù)據(jù)傳輸率Rmax與通信信道帶寬B(B=f,單位是Hz)的關(guān)系可以寫為: Rmax=2*f(bps) [4]。即規(guī)定帶限信道的理想低道截止頻率為fH時,最高的無碼間干擾傳輸?shù)臉O限速度為2fH。
圖3.22 奈奎斯特準(zhǔn)則仿真系統(tǒng)
如仿真圖3.22所示,該電路中信號源(圖符0)為幅度1V,碼速率為100bps的偽隨機(jī)信號。用一個抽頭數(shù)為259的FIR低通濾波器(圖符5)來近似模擬理想的傳輸信道,濾波器的截止頻率設(shè)為50Hz,在60Hz處有-60dB的衰落。因此,信道的傳輸帶寬可近似等價為50Hz,該頻率正好是傳輸信號的奈奎斯特帶寬?;鶐?shù)據(jù)在輸入信道之前,先通過一個升余弦滾降濾波器(圖符1)整型,以保證信號有較高的功率而無碼間干擾。滾降系數(shù)設(shè)置為0.3,信道的噪聲用高斯噪聲(圖符13)表示。圖符8、9、11完成接收端信號的抽樣判決和整形輸出。抽樣器的抽樣頻率與數(shù)據(jù)信號的數(shù)據(jù)率一致,設(shè)為100Hz 。為了比較發(fā)送端和接收端的波形,在發(fā)送端接收器前(圖符3)和升余弦滾降濾波器(圖符1)后各加入一個延遲圖符。
下圖3.23所示為通過升余弦滾降濾波器后的信號與原輸入信號的波形疊加。
圖3.23 經(jīng)過升余弦滾降濾波器整形后的信號與原信號疊加
圖3.24為輸入信號波器與接收信號波器的疊加,可觀察到收發(fā)波形基本一致,加入一定幅度的噪聲仍然能正常傳輸。奈奎斯特第一準(zhǔn)則得以驗證。將輸入信號的波特率由100bps改為110bps,此時的條件已不滿足奈奎斯特第一準(zhǔn)則,重新運(yùn)行系統(tǒng),可觀察到信號傳輸錯誤,如圖3.25所示。改變噪聲幅度,錯誤波形可能增多。
圖3.24 輸入信號與輸出信號的波形疊加
圖3.25 不滿足奈奎斯特第一準(zhǔn)則時輸出信號中的錯誤脈沖
從仿真結(jié)果中,我們可以看到FIR數(shù)字濾波器將高斯噪聲很好的濾除,得到與原偽隨機(jī)碼相一致的信號,濾波效果明顯。
3.3 SystemView調(diào)用第三方M-LINK模塊
3.3.1 M-LINK的主要功能
為了與MATLAB聯(lián)合設(shè)計仿真系統(tǒng),SystemView專門提供了一個接口–M-LINK。它的主要功能如下:
1、將已經(jīng)設(shè)計好的MATLAB仿真模塊(.m或MEX的.DLL文件)接入SystemView直接使用。
2、在SystemView利用MATLAB提供的第三方庫文件。
3、在SystemView下用MATLAB編寫用戶自定義的模塊。
4、在SystemView和MATLAB之間輸入輸出信號和數(shù)據(jù)。
5、利用SystemView和MATLAB的仿真分析工具檢查仿真結(jié)果。
6、直接在SystemView中創(chuàng)建、編輯、調(diào)試MATLAB的程序。
將MATLAB功能函數(shù)中的參數(shù)傳遞給SystemView作為變量或全局常數(shù)。
在SystemView中可以包含任意多個MATLAB功能函數(shù),而且這些功能函數(shù)可以隨時添加、修改、新建和刪除。
所有這些操作都可以通過SystemView提供的友好的交互式界面完成,這些交互式界面與用戶熟悉的其它SystemView交互式界面完全相似。用戶只需要利用鼠標(biāo)器簡單地點擊和輸入?yún)?shù)即可完成。
SystemView的M-LINK圖符不但支持標(biāo)量處理,而且也支持矢量處理。軟件可自動為圖符分配緩沖區(qū),當(dāng)仿真執(zhí)行時,輸入緩沖區(qū)被填滿而輸出緩沖區(qū)被清空。當(dāng)圖符為標(biāo)量處理時,緩沖區(qū)長度會自動設(shè)為1,輸入數(shù)據(jù)被立即處理并輸出結(jié)果。輸入輸出之間沒有任何延時。但如果是矢量處理,則緩沖區(qū)的長度會根據(jù)輸入輸出之間的矢量關(guān)系自動調(diào)整緩沖區(qū)的大小,此時在輸入輸出之間會存在一定長度的群延時。這個群延時的大小取決于輸入的速率和緩沖區(qū)的大小。
使用SystemView的M-LINK功能必須安裝MATLAB并運(yùn)行MATLAB引擎(engine),如果沒有啟動MATLAB引擎,在進(jìn)行仿真時SystemView會自動裝載該引擎,并調(diào)用其相應(yīng)的功能[10]。
3.3.2 建立SystemView下的MATLAB函數(shù)庫
MATLAB功能函數(shù)的建立過程為:
首先,在SystemView的設(shè)計窗口中放置一個M-LINK圖符然后雙擊該圖符,出現(xiàn)如圖3.26所示的MATLAB庫管理窗口界面。
圖3.26
其中,”Matlab Functions”欄顯示的是已經(jīng)加入M-LINK庫的MATLAB功能函數(shù),”M-LINK Tokens”欄顯示的是當(dāng)前系統(tǒng)正在使用的MATLAB功能函數(shù)及對應(yīng)的圖符號。單擊”Add Existing”按鈕可以增加一個新的MATLAB功能函數(shù),用戶通過文件選擇對話框?qū)⒁呀?jīng)編輯好的.m文件添加到M-LINK庫中。選擇其中一個功能函數(shù),并按”Remove”按鈕可以將它從庫中刪除。選擇其中一個功能函數(shù),按”Define”按鈕可定義該功能函數(shù),如圖3.27所示。
在該窗口中可以定義輸入引腳、輸出引腳以及參數(shù)的個數(shù)和名稱,并通過函數(shù)語法定義欄對輸入輸出及參數(shù)進(jìn)行有關(guān)的函數(shù)描述、定義。并通過”Function Picture”定義用戶自定義的圖符圖標(biāo)。根據(jù)不同的MATLAB函數(shù)功能可將其選擇定義成信號源(Source)、功能函數(shù)(General)、輸出接收計算器(Sink)三種類型。 如果需要創(chuàng)建一個新的MATLAB功能函數(shù),則在窗口中單擊”Create New…”按鈕,出現(xiàn)如圖3.28所示的MATLAB編輯/調(diào)試窗口。此時可以開始編輯一個新的功能函數(shù),存盤后返回SystemView得到一個新的功能函數(shù)。原則上M-LINK庫中的這些功能函數(shù)可以被反復(fù)使用并定義參數(shù)。定義參數(shù)的方法是,在圖3.26所示的窗口中單擊”Parameters”參數(shù)按鈕,出現(xiàn)如圖3.27所示的參數(shù)設(shè)置窗口。如果不需要輸入?yún)?shù),則沒有參數(shù)輸入對話框;如果只有一個參數(shù)則顯示一個參數(shù)輸入對話框;如果存在多個參數(shù)輸入則有相應(yīng)個參數(shù)輸入對話框。
圖3.27
圖3.28
為正確地在MATLAB和SystemView之間交換數(shù)據(jù)、傳遞參數(shù),必須對M-LINK中關(guān)于數(shù)據(jù)、參數(shù)傳遞的一些規(guī)定作一些了解。例如,定義一個對信號進(jìn)行直流偏置的函數(shù),要將一個輸入信號x疊加一個直流成份(常數(shù)c)后輸出為y[11]。
為了對利用M-Link進(jìn)行仿真有一個具體的感性認(rèn)識,作者以一個實例進(jìn)行簡要的說明。作為對比,同時使用SystemView算子庫中的相應(yīng)圖符和一個由MATLAB定義的外部函數(shù)。
本例中的SystemView圖符和M-link調(diào)用函數(shù)的方式的作用都是濾波。所用信號源為一方波。
所調(diào)用MATLAB函數(shù)即為之前在MATLAB濾波器仿真中已實現(xiàn)過的橢圓帶通濾波器。此時直接調(diào)用之前已經(jīng)編好的程序即可。
仿真界面如圖3.29所示。
圖3.29 仿真界面
在此例中,sink5輸出的是通過M-link調(diào)用MATLAB函數(shù)得到的波形,而sink2輸出的是直接使用SystemView的相應(yīng)圖符實現(xiàn)的相同的濾波器。在此例中作者使用的是方波信號。在圖3.30和圖3.31中我們可以看到這兩種方式在分析窗口所得到的結(jié)果。
由結(jié)果我們可以看到,兩種方式實現(xiàn)的結(jié)果是一模一樣的。
圖3.30 Sink5輸出波形(調(diào)用MATLAB函數(shù)實現(xiàn))
圖3.31 Sink3輸出波形(直接使用SystemView圖符)
第四章 仿真應(yīng)用–直接序列擴(kuò)頻仿真
在實際應(yīng)用中,濾波器有很多不同的作用。它主要是在頻域中對輸入信號進(jìn)行濾波,只允許一定條件的頻率通過。通常用作濾波整形和預(yù)處理等作用。比如最典型的抽樣定理的仿真中就會用到兩個巴特沃斯低通濾波器,前一個低通濾波器是為了濾除頻率過高的輸入信號,防止出現(xiàn)頻譜混迭現(xiàn)象,產(chǎn)生混迭噪聲,影響恢復(fù)出的信號質(zhì)量。后面一低通濾波器是為了從抽樣序列中恢復(fù)出信號,濾除抽樣信號中的高次諧波分量。
在本章節(jié)中,作者就將以抽樣定理的仿真為實例,詳細(xì)講述SystemView的仿真應(yīng)用,以及SystemView所仿真的濾波器在各系統(tǒng)中的廣泛使用。
4.1 抽樣定理
4.1.1 抽樣定理的理論基礎(chǔ)
模擬信號數(shù)字化的第一步是在時間上對信號進(jìn)行離散化處理,即將時間上連續(xù)的信號處理成時間上離散的信號,這一過程稱之為抽樣。從信息傳輸?shù)慕嵌瓤紤],對抽樣的要求應(yīng)是用時間離散的抽樣序列來代替原來的時間連續(xù)的模擬信號,并要求能完全表示原信號的全部信息,也就是離散的抽樣序列能不失真地恢復(fù)出原模擬信號。在本次仿真中,作者所要表示的即是抽樣過程和恢復(fù)原模擬信號過程,以闡述無失真的條件。
連續(xù)信號在時間上離散化的抽樣過程如圖4.1所示。具體地說,就是某一時間連續(xù)信號f(t),僅取f(t0)、 f(t1)、 f(t2)…f(tn)等各離散點數(shù)值,就變成了時間離散信號fs(t)。這個取時間連續(xù)信號離散點數(shù)值的過程就叫做抽樣。
4.1.2 直接序列擴(kuò)頻原理
直接序列擴(kuò)頻通信系統(tǒng)是直接序列擴(kuò)頻方式構(gòu)成的擴(kuò)展頻譜通信系統(tǒng),又稱偽噪聲系統(tǒng),通常簡稱為直擴(kuò)系統(tǒng),它是在發(fā)送端用比信息比特率高許多的一組偽噪聲碼序列直接去調(diào)制載波,進(jìn)行擴(kuò)展頻譜,即其載波被一個數(shù)碼率遠(yuǎn)離于信息帶寬的數(shù)字序列調(diào)制,然后在接收端用相同的本地偽噪聲碼序列解調(diào)。它是目前最典型、應(yīng)用最廣泛的一種擴(kuò)展頻譜系統(tǒng)。其特點是:
1) 擴(kuò)頻和解擴(kuò)調(diào)制器多采用結(jié)構(gòu)簡單且能抑制載波的平衡調(diào)制器。
2) 接收端多采用本地偽碼序列對接收的信號相關(guān)解調(diào),或用匹配濾波器來解擴(kuò)信息信號。
3) 指定的接收機(jī)很容易區(qū)分通信信號和干擾信號,如果擴(kuò)頻信號帶寬遠(yuǎn)大于數(shù)據(jù)信號帶寬,則擴(kuò)頻系統(tǒng)傳輸帶寬由擴(kuò)頻信號決定,而幾乎與數(shù)據(jù)信號無關(guān)。
4) 發(fā)射信號容易被指定的接收機(jī)解調(diào),而用其他不相關(guān)的接收機(jī)檢測這種信號非常困難。
5) 解擴(kuò)時,載有信息的中頻信號再用窄帶濾波器來濾除干擾,提取有用信息信號,以達(dá)到提高擴(kuò)頻系統(tǒng)抗干擾能力的要求[12]。
直接序列擴(kuò)頻通信系統(tǒng)由發(fā)射機(jī)和接收機(jī)兩部分組成。在發(fā)射端,發(fā)射機(jī)將輸入信息(基帶信息)調(diào)制形成數(shù)字信號–二進(jìn)制的數(shù)字序列信碼,當(dāng)對載波進(jìn)行幅度鍵控時,二進(jìn)制的”0″碼使載波抑制,而”1″碼使載波輸出,經(jīng)過一次調(diào)制的信號再經(jīng)過由擴(kuò)頻碼發(fā)生器產(chǎn)生的高速率擴(kuò)頻碼序列相位鍵控調(diào)制。由于信碼和擴(kuò)展用的地址偽碼都是二進(jìn)制序列,又是對同一載波進(jìn)行相位鍵控的,所以調(diào)制器實際上是將兩路編碼序列進(jìn)行模2加以展寬信號的頻譜,展寬后的信號再經(jīng)過載波調(diào)制器調(diào)制到射頻發(fā)送出去。直接序列系統(tǒng)常用雙相平衡調(diào)制,以抑制載波,載波抑制的程度取決于調(diào)制器的平衡性。調(diào)制方式可以用模擬調(diào)幅、調(diào)頻或相位調(diào)制,但最常見的是采用數(shù)字相位調(diào)BPSK。由此可見,一般的擴(kuò)頻通信系統(tǒng)都要進(jìn)行三次調(diào)制和相應(yīng)的解調(diào):一次調(diào)制為信息調(diào)制,二次調(diào)制為擴(kuò)頻調(diào)制,三次調(diào)制為射頻調(diào)制。
在接收端,對接收信號的解擴(kuò)有兩種方法,一種方法是中頻解擴(kuò),即先對收到發(fā)射來的有相當(dāng)寬頻譜的射頻信號進(jìn)行混頻,將其變?yōu)橹蓄l信號,經(jīng)前置放大后由本地產(chǎn)生的與發(fā)射端相同的擴(kuò)頻碼序列去相關(guān)解擴(kuò),送給擴(kuò)頻序列同步捕捉電路、擴(kuò)頻序列同步跟蹤電路及截波同步跟蹤及數(shù)據(jù)解調(diào)電路恢復(fù)成原始信息輸出,實現(xiàn)信息數(shù)據(jù)的接收。另一種方法是射頻解擴(kuò),即先用與發(fā)送端相位同步的、波形相同的擴(kuò)頻碼序列去相關(guān)解擴(kuò),然后殖民地用本地信號去混頻。以上兩種方法都可以得到窄帶的、受信碼調(diào)制的中頻信號,把這種信號再經(jīng)過中頻窄帶濾波器將干擾濾掉。本次設(shè)計將實現(xiàn)的直序擴(kuò)頻系統(tǒng)基本原理圖如圖4.1所示。這種工作方式是直接用偽噪聲序列對載波進(jìn)行調(diào)制,要傳送的數(shù)據(jù)信息需要經(jīng)過信道編碼后,與偽噪聲序列進(jìn)行模2和生成復(fù)合碼去調(diào)制載波。接收機(jī)在收到發(fā)射信號后,首先通過偽碼同步捕獲發(fā)送來的偽碼的精確相位,并由此產(chǎn)生跟發(fā)送端的偽碼相位完全一致的偽碼序列,作為本地解擴(kuò)信號,以便能夠及時恢復(fù)出數(shù)據(jù)信息,完成整個直擴(kuò)通信系統(tǒng)的信號接收[12]。
圖4.1直序擴(kuò)頻系統(tǒng)原理圖
在發(fā)射機(jī)端,要傳送的信息先轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)或符號,與偽噪聲碼(PN碼)進(jìn)行模2和運(yùn)算后形成復(fù)合碼,再用該復(fù)合碼去直接調(diào)制載波。通常為提高發(fā)射機(jī)的工作效率和發(fā)射功率,擴(kuò)頻系統(tǒng)中一般采用平衡調(diào)制器。抑制載波的平衡調(diào)制對提高擴(kuò)頻信號的搞偵破能力也十分有利。在接收機(jī)端,用與發(fā)射機(jī)端完全同步的PN碼對接收信號進(jìn)行解擴(kuò)后經(jīng)解調(diào)器還原輸出原始數(shù)據(jù)信息。
4.2 直接序列擴(kuò)頻系統(tǒng)的仿真
以圖4.1的擴(kuò)頻系統(tǒng)為基礎(chǔ),本文將對其進(jìn)行SystemView仿真。下圖4.2是作者的仿真原理圖。本次仿真僅用來說明直序擴(kuò)頻在抗干擾方面的優(yōu)越性,所以未按實際工程中使用的常規(guī)直序擴(kuò)頻原理建模,而是直接采用了比較簡單而直接的方式來構(gòu)造模型。數(shù)據(jù)信號源使用了一個較低頻率(1kHz)的隨機(jī)序列(圖符0)通過一個1kHz的低通濾波器(圖符3)來代替。擴(kuò)頻用的PN碼采用了10kHz的PN碼(圖符2),這樣理論上可以獲得10倍的擴(kuò)頻增益。擴(kuò)頻調(diào)制也未使用通常的模2和加法運(yùn)算,而是通過乘法器直接用PN碼調(diào)制數(shù)據(jù)信號,合成后的擴(kuò)頻復(fù)合信號同樣也是直接用更高的載波(圖符12,100kHz)調(diào)制發(fā)射,省去了常規(guī)的平衡調(diào)制等步驟。為了觀察擴(kuò)頻系統(tǒng)的抗干擾性能,使用了一個干擾信號源。該干擾信號可以是單頻率窄帶干擾,也可以是寬帶的掃頻信號,或者是高斯噪聲,在這里我們使用90kHz-120kHz的掃頻脈沖信號源。
圖4.2 簡化的直接序列擴(kuò)頻系統(tǒng)仿真結(jié)構(gòu)圖
為簡單起見,在接收端,通過本地載波解調(diào)后的復(fù)合信號直接與原擴(kuò)頻PN碼相乘后解擴(kuò),中間省略了有關(guān)本地PN發(fā)生器和相關(guān)的碼同步電路。因為直接使用原PN碼,所以理論上可認(rèn)為收發(fā)兩端是完全同步的。不過在實現(xiàn)的工程中,碼同步是一個十分復(fù)雜的問題,其復(fù)雜程度也及在此問題上付出的代價往往比擴(kuò)頻本身要多得多。由于作者水平有限,因而在此只作一些簡單的仿真,以體現(xiàn)直序擴(kuò)頻系統(tǒng)的基本特性。
而作為SystemView仿真濾波器的一個實例,此例中兩次采用到濾波器。
第一次使用到濾波器是圖符3,這個濾波器是一個1kHz的巴特沃斯模擬低通濾波器,此時的作用是使用了一個較低頻率(1kHz)的隨機(jī)序列(圖符0)通過它來代替數(shù)據(jù)信號源。圖4.3所示即是經(jīng)過此濾波器后的輸入信號波形,也是模擬的數(shù)據(jù)信號源。
圖4.3 仿真的數(shù)據(jù)信號源
在圖符1處,原信號源與PN碼調(diào)制,擴(kuò)頻。而后在圖符11處,與本地載波調(diào)制。
圖4.4為還沒有加干擾信號時的已調(diào)信號頻譜圖。此時模擬的數(shù)據(jù)信號源已通過乘法器直接用PN碼調(diào)制數(shù)據(jù)信號,合成后的擴(kuò)頻復(fù)合信號用更高的載波(圖符12,100kHz)調(diào)制發(fā)射。此時輸出即是圖4.4。
圖4.4 沒加干擾信號時的已調(diào)信號頻譜圖
此時我們可以看到,原數(shù)據(jù)信號源的頻譜已經(jīng)擴(kuò)展。
圖符8是我們所設(shè)置的干擾源,為一個掃頻脈沖信號源。通過加法器相加后,已調(diào)信號的頻譜會產(chǎn)生變化,此時的頻譜如圖4.5所示。由圖可知,此時的頻譜在100kHz附近有較強(qiáng)的干擾存在。我們設(shè)置這個干擾的目的即是驗證此系統(tǒng)的抗干擾能力,驗證此系統(tǒng)在這個信號的干擾下是否能夠恢復(fù)出與原信號相似的波形。
圖4.5 加干擾信號后的已調(diào)信號頻譜圖
此后是接收端仿真部分。在圖符7處,已調(diào)信號與本地載波相乘解調(diào),之后要解擴(kuò),由于PN碼的同步較難實現(xiàn),基于作者水平有限,故而使用之前擴(kuò)頻時的原PN碼。
圖符10是我們在此例中使用的第二個濾波器。此時作整形之用。同之前一樣,這是一個1kHz的巴特沃斯模擬低通濾波器,由于我們所仿真的信號源實際是由一個隨機(jī)序列經(jīng)一個1kHz的巴特沃斯模擬低通濾波器而得,故而在輸出時,也要使用一個相同濾波器整形。
圖4.6即為解擴(kuò)后整形的輸出信號波形圖。
圖4.6 解擴(kuò)后整形的輸出信號波形圖
從以上波形可以看出,在100kHz附近有較強(qiáng)的干擾存在,而解擴(kuò)后的信號與輸入的原信號波形基本一致,并沒有受到干擾的影響。但如果不斷加大噪聲或干擾的幅度,當(dāng)達(dá)到系統(tǒng)的干擾門限時,則不能準(zhǔn)確地恢復(fù)原始波形。
接著我們著重驗證此系統(tǒng)中兩個濾波器的作用。
為了能更清楚的演示出濾波器存在與否的差別,我們建立如圖4.7的一個系統(tǒng)。
圖4.7 識別濾波器建立的系統(tǒng)
圖中上下兩部分擁有相同的結(jié)構(gòu)、相同的信號源、相同的編解碼和相同的干擾。此時我們可以看到,圖符9和圖符28的輸出波形是一模一樣的。在這種情況下,去掉濾波器的影響就會很明顯地體現(xiàn)出來。
首先,我們在下半部分的流程中去掉第一個濾波器,此時的輸入信號變?yōu)椋?/P>
圖4.7 使用濾波器一時的輸入波形
圖4.8 不使用濾波器一時輸入波形
可看出,信號源經(jīng)過巴特沃斯濾波器后,時域特性按照巴特沃斯濾波器的特性發(fā)生改變。
加入干擾源后,由Sink15和Sink22的輸出可看到,兩者現(xiàn)在的波形有較大區(qū)別。
圖4.9 使用濾波器一時擴(kuò)頻后的波形
圖4.10 不使用濾波器一擴(kuò)頻后的波形
最后我們可在Sink9和Sink28的波形看到最后的輸出結(jié)果。
圖4.11 使用濾波器一后的最后輸出
圖4.12 不使用濾波器一的最后輸出
由以上可看到,不使用濾波器一后,最后還原的波形較之之前會有一點小小的偏移,但不會有大的變化。因而我們可以判斷,濾波器一的功能主要是為模擬一個真正的直序擴(kuò)頻系統(tǒng)的模擬信號源,對最后的輸出影響不大。這個濾波器作者加入時只是希望仿真顯得更真實,現(xiàn)在證實也的確主要起到這個作用。
然后我們再看濾波器二的作用。為了使其體現(xiàn)得更加明顯,作者還在圖符14和圖符26的乘法器處都添加了接收器,以輸入波形。
由圖4.13和4.14看來,上下兩個流程直到濾波器前的波形還是完全相同的。
圖4.13 使用濾波器二時剛解擴(kuò)時的波形
圖4.14不使用濾波器二剛解擴(kuò)時的波形
然而到最后的緩沖器輸出后,兩種情形就發(fā)生了變化。正如圖4.15和圖4.16。
圖4.15 使用濾波器二時的最后輸出波形
圖4.16 不使用濾波器二時最后輸出波形
可以看到,此時的輸出大為不同。
分析原因,我們看到,最后輸出時的緩沖器它的作用為:輸出延時,輸出真假值,和上下閾值。它為正邏輯,單輸入,缺省的上下閾值為0.8V和0.2V?,F(xiàn)在我們就可以分析出此濾波器的重要性。本系統(tǒng)中緩沖器閾值缺省,故為默認(rèn)的0.8V/0.2V。不使用濾波器時,緩沖器直接根據(jù)乘法器的輸出進(jìn)行判斷,故得到4.16那樣失真的波形。而使用濾波器后,此濾波器對之前的輸出進(jìn)行整形,再經(jīng)過緩沖器,才能真正恢復(fù)信號源波形。
第五章 結(jié)論
綜上所述.SystemView擁有全面而龐大的功能模塊庫和各種強(qiáng)有力的輔助工具,而且使用起來簡單方便,非常適合作為系統(tǒng)設(shè)計和仿真的軟件平臺。在實際科研和生產(chǎn)中,限于經(jīng)濟(jì)條件,一個系統(tǒng)的開發(fā)往往需要先經(jīng)過仿真驗證之后才能投入生產(chǎn),因此SystemView也就成為廣大科研人員和生產(chǎn)者必不可少的系統(tǒng)開發(fā)工具。
本文主要以典型濾波器為例,闡述了以SystemView和MATLAB為代表的EDA仿真軟件的現(xiàn)狀和使用。文中所完成的主要工作如下:
(1)用MATLAB對典型濾波器–橢圓模擬濾波器和FIR(有限脈沖響應(yīng))數(shù)字波器的特性進(jìn)行仿真。
(2)用SystemView對典型濾波器–橢圓模擬濾波器和FIR(有限脈沖響應(yīng))數(shù)字波器的特性進(jìn)行仿真。設(shè)計兩個仿真系統(tǒng)來闡明其濾波作用。
(3)根據(jù)SystemView的強(qiáng)大功能,在其環(huán)境下直接調(diào)用MATLAB的函數(shù)來實現(xiàn)它與MATLAB第三方庫模塊–M-link庫的可靠連接。
(4)用SystemView設(shè)計一個實例仿真。即直序擴(kuò)頻系統(tǒng)的仿真。
評論
查看更多