虛擬信號(hào)發(fā)生器的設(shè)計(jì)_第1頁
虛擬信號(hào)發(fā)生器的設(shè)計(jì)_第2頁
虛擬信號(hào)發(fā)生器的設(shè)計(jì)_第3頁
虛擬信號(hào)發(fā)生器的設(shè)計(jì)_第4頁
虛擬信號(hào)發(fā)生器的設(shè)計(jì)_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要隨著信息技術(shù)和計(jì)算機(jī)技術(shù)的高速發(fā)展,數(shù)字信號(hào)處理作為一門新興的學(xué)科,其重要性日益在各個(gè)領(lǐng)域的應(yīng)用中體現(xiàn)出來。本課題是采用虛擬儀器的設(shè)計(jì)方法對(duì)離散信號(hào)與系統(tǒng)進(jìn)行分析與處理,利用labview這一功能強(qiáng)大的虛擬儀器開發(fā)工具,設(shè)計(jì)相關(guān)的虛擬儀器,實(shí)現(xiàn)相關(guān)的功能。虛擬儀器將傳統(tǒng)儀器由硬件實(shí)現(xiàn)的數(shù)據(jù)分析處理與顯示功能,改由功能強(qiáng)大的計(jì)算機(jī)來完成。以這種方式構(gòu)成的虛擬儀器實(shí)質(zhì)上是計(jì)算機(jī)儀器系統(tǒng),是今后儀器發(fā)展的主流方向。從某種意義上說,“軟件就是儀器”。本設(shè)計(jì)內(nèi)容包括6項(xiàng),分別為:1、 虛擬信號(hào)發(fā)生器的設(shè)計(jì),產(chǎn)生各種常見的離散信號(hào)。闡述離散信號(hào)發(fā)生器的設(shè)計(jì)原理設(shè)計(jì)實(shí)現(xiàn)。2、 闡述快速傅立葉變換(ff

2、t)的基本原理及實(shí)現(xiàn)方法,著重討論fft的算法。3、 離散卷積的實(shí)現(xiàn),講述了卷積和的計(jì)算方法以及離散卷積的實(shí)現(xiàn)方法。4、 虛擬數(shù)字濾波器的設(shè)計(jì),闡述它的分類、原理以及實(shí)現(xiàn)。5、 離散信號(hào)與系統(tǒng)的時(shí)域分析與設(shè)計(jì),包括基本原理,設(shè)計(jì)框圖及結(jié)果分析。6、 離散信號(hào)與系統(tǒng)的z域分析與設(shè)計(jì),包括基本原理,設(shè)計(jì)框圖及結(jié)果分析。本文主要闡述這六部分的基本原理及虛擬儀器開發(fā)的相關(guān)程序。關(guān)鍵詞:離散信號(hào);虛擬儀器;labviewabstractwith the rapid development of information technology and the computer technology, the

3、 digital signal processing takes an emerging discipline, its importance displays day by day in each domain application. the topic is to analyze and process to the discrete signal and system with the design method of virtual instrument, adopting the labview which is a virtual instrument development k

4、it to design the related virtual instrument and to realize the related function. virtual instrument changes the function of data analysis that the traditional instrument is realized by the tradition hardware to be finished by the computer software with strong function. in fact, the virtual instrumen

5、t formed by this way is the instrument system of the computer. it is the direction of mainstream in which the instrument will be developed in the future. in a sense, “the software is an instrument”.this design includes the following 6 parts:1、 the design of virtual signal generator, it produces vari

6、ous kinds of signals. expounded discrete signal generator design principle and achieve. 2、 expounding the basic principles and method of fast fourier transform (fft) ,focused on the fft algorithm. 3、 the realization of discrete convolution, introducing convolution and the calculation method and the

7、discrete convolution method. 4、 the design of virtual digital filter, describing the classification, and the realization of the principle. 5、 discrete signal and the time-domain analysis and design, including the basic principles of design and analysis diagram. 6、 discrete signal and the z-domain an

8、alysis and design, including the basic principles of design and analysis diagram. this thesis mainly explains the basic principles of these six parts and the procedure of the virtual instrument design.keyword: discrete signal;virtual instrument;labview 目 錄1 緒論11.1 課題的依據(jù)和意義11.2 圖形化編程語言 labview11.2.1

9、什么是labview21.2.2 labview軟件的特點(diǎn)與優(yōu)點(diǎn)21.2.3 labview的調(diào)試與運(yùn)行21.3 虛擬儀器概述31.3.1 什么是虛擬儀器31.3.2 虛擬儀器的優(yōu)點(diǎn)41.3.3 虛擬儀器的設(shè)計(jì)方法52 信號(hào)發(fā)生器的設(shè)計(jì)62.1 引言62.2 離散信號(hào)發(fā)生器的設(shè)計(jì)原理及設(shè)計(jì)實(shí)現(xiàn)62.2.1 常用離散信號(hào)發(fā)生器的設(shè)計(jì)原理及設(shè)計(jì)實(shí)現(xiàn)62.2.2 基于labview的常用信號(hào)發(fā)生器的虛擬儀器仿真實(shí)現(xiàn)113 快速傅立葉變換133.1 引言133.2 快速傅立葉變換的基本原理及實(shí)現(xiàn)方法133.2.1 直接計(jì)算dft的特點(diǎn)及減少運(yùn)算量的基本途徑143.2.2 時(shí)域抽取法基2 fft基本原理

10、143.2.3 dit-fft算法與直接計(jì)算dft運(yùn)算量的比較173.3 dit-fft的算法及編程實(shí)現(xiàn)184 離散卷積254.1 引言254.2 離散卷積的設(shè)計(jì)原理254.3 離散卷積積分的設(shè)計(jì)實(shí)現(xiàn)264.4 離散卷積的應(yīng)用舉例275 虛擬數(shù)字濾波器的設(shè)計(jì)285.1 引言285.2.1 f1r濾波器的設(shè)計(jì)原理285.2.2 綜合的fir數(shù)字濾波器的前面板和相應(yīng)的框圖325.3 無限沖激響應(yīng)(iir)數(shù)字濾波器345.3.1 功能描述及設(shè)計(jì)原理345.3.2 設(shè)計(jì)步驟355.3.3 iir數(shù)字濾波器的前面板和后面板的設(shè)計(jì)396 離散時(shí)間系統(tǒng)的時(shí)域分析416.1 引言416.2 基本原理416.

11、3 設(shè)計(jì)實(shí)現(xiàn)426.3.1 設(shè)計(jì)內(nèi)容426.3.2 設(shè)計(jì)框圖及結(jié)果分析447 離散時(shí)間系統(tǒng)的z域分析487.1 引言487.2 利用系統(tǒng)函數(shù)h(z)求解離散時(shí)間系統(tǒng)的零狀態(tài)響應(yīng)487.3 離散時(shí)間系統(tǒng)的穩(wěn)定性分析50結(jié) 論53致 謝54參考文獻(xiàn)55附錄a 英文原文56附錄b 漢語翻譯641 緒論1.1 課題的依據(jù)和意義 隨著信息技術(shù)和計(jì)算機(jī)技術(shù)的高速發(fā)展,數(shù)字信號(hào)處理作為一門新興的學(xué)科,其重要性日益在各個(gè)領(lǐng)域的應(yīng)用中體現(xiàn)出來。本課題是采用虛擬儀器的設(shè)計(jì)方法對(duì)離散信號(hào)與系統(tǒng)進(jìn)行分析與處理,利用labview這一功能強(qiáng)大的虛擬儀器開發(fā)工具,設(shè)計(jì)相關(guān)的虛擬儀器,實(shí)現(xiàn)相關(guān)的功能。在虛擬儀器軟件平臺(tái)la

12、bview上構(gòu)建的虛擬濾波器實(shí)驗(yàn)系統(tǒng)充分發(fā)揮了虛擬儀器優(yōu)勢(shì)。其設(shè)計(jì)思想有廣泛的應(yīng)用范圍。虛擬儀器技術(shù)的出現(xiàn)徹底打破了傳統(tǒng)儀器由廠家定義,用戶無法改變的模式,給用戶一個(gè)充分發(fā)揮自己才能、想象力的空間。用戶可以根據(jù)自己的要求,設(shè)計(jì)自己的儀器系統(tǒng),滿足多樣的應(yīng)用需求。虛擬儀器是全新概念的最新一代測(cè)量?jī)x器。自1987年誕生以來,這一技術(shù)與前幾代測(cè)試儀器相比,以前所未有的速度迅猛發(fā)展。虛擬儀器的功能與計(jì)算機(jī)技術(shù)同步發(fā)展。這是因?yàn)橛?jì)算機(jī)是虛擬儀器的核心設(shè)備,該儀器的功能是通過軟件仿真實(shí)現(xiàn)的。它將傳統(tǒng)儀器由硬件電路實(shí)現(xiàn)的數(shù)據(jù)分析處理與顯示功能,改由功能強(qiáng)大的計(jì)算機(jī)來執(zhí)行。當(dāng)計(jì)算機(jī)與適當(dāng)?shù)膇/o接口設(shè)備配置完

13、畢,虛擬儀器的硬件平臺(tái)就被確定,此后軟件就稱為儀器的關(guān)鍵,也就是“軟件就是儀器”之說的來由。這意味著只要按照測(cè)量原理,采用適當(dāng)?shù)男盘?hào)分析技術(shù)與處理技術(shù),編制某種測(cè)量功能的軟件就可構(gòu)成該種功能的測(cè)試儀器。虛擬儀器發(fā)展的特點(diǎn)是它的隊(duì)伍宏大,規(guī)模壯闊。如果建立了虛擬儀器平臺(tái),那么只要按照測(cè)量原理,借助信號(hào)分析與處理技術(shù)編制軟件程序,就能自己設(shè)計(jì)建造自己的測(cè)試儀器。信號(hào)分析與處理技術(shù)是實(shí)現(xiàn)測(cè)量功能軟件編程的基石?;跀?shù)字濾波、快速傅立葉變換等常用信號(hào)分析與處理技術(shù),以建造了數(shù)字濾波器等各種虛擬儀器。這些儀器是傳統(tǒng)觀念上的“高級(jí)貴族式”儀器。因?yàn)樗鼈儾捎糜布韺?shí)現(xiàn),且電路復(fù)雜、昂貴,以往是很難實(shí)現(xiàn)的。今

14、天“軟件就是儀器”的虛擬儀器時(shí)代,使那些“貴族儀器”走出“貴族經(jīng)院”,得到普及。1.2 圖形化編程語言 labview 本文所選用的軟件 labview 是美國 ni 儀器公司的創(chuàng)新軟件產(chǎn)品, labview是應(yīng)用最廣泛、發(fā)展最快、功能最強(qiáng)的圖形化軟件開發(fā)環(huán)境。它具有開發(fā)周期短、運(yùn)行速度快、可重用性、使用方便靈活等優(yōu)點(diǎn)。1.2.1 什么是labviewlabview(laboratory virtual instrument engineering workbench,實(shí)驗(yàn)室虛擬儀器工程平臺(tái))是美國ni(national instrument company)推出的一種基于g語言(graphi

15、cs language,圖形化編程語言)的虛擬儀器軟件開發(fā)工具。用labview設(shè)計(jì)的虛擬儀器可脫離labview開發(fā)環(huán)境,最終用戶看見的是和實(shí)際的硬件儀器相似的操作面板。 1.2.2 labview軟件的特點(diǎn)與優(yōu)點(diǎn)labview軟件工具的特點(diǎn)可歸納為:(1) 圖形化的編程方式,無需寫任何文本格式的代碼,是真正的工程師語言。(2) 提供了豐富的數(shù)據(jù)采集、分析及存儲(chǔ)的庫函數(shù)。(3) 既提供了傳統(tǒng)的程序調(diào)試手段,如設(shè)置斷點(diǎn)、單步運(yùn)行,同時(shí)提供有獨(dú)到的高亮執(zhí)行工具,使程序動(dòng)畫式運(yùn)行,利于設(shè)計(jì)者觀察程序運(yùn)行的細(xì)節(jié),使程序的調(diào)試和開發(fā)更為便捷。(4) 32bit的編譯器編譯生成32bit的編譯程序,保證

16、數(shù)據(jù)采集、測(cè)試和測(cè)量方案的高速執(zhí)行。(5) 囊括了daq、gpib、pxi、vxi在內(nèi)的各種儀器通信總線標(biāo)準(zhǔn)的所有功能函數(shù),使得不懂總線標(biāo)準(zhǔn)的開發(fā)者也能夠驅(qū)動(dòng)不同總線標(biāo)準(zhǔn)接口設(shè)備與儀器。(6) 提供大量與外部代碼或軟件進(jìn)行連接的機(jī)制,諸如dlls(動(dòng)態(tài)連接庫)、dde(共享庫)、activex 等。1.2.3 labview的調(diào)試與運(yùn)行調(diào)試在一個(gè)工程中十分重要,在labview中調(diào)試是十分方便的。在labview的運(yùn)行環(huán)境中,有一種特有的調(diào)試手段,它可以實(shí)時(shí)顯示數(shù)據(jù)流,它可使用戶更加清楚地觀察程序運(yùn)行的每一個(gè)細(xì)節(jié),為查找錯(cuò)誤,修改和優(yōu)化程序提供了有效的手段和依據(jù)。下面簡(jiǎn)要介紹一下labview

17、程序的調(diào)試技術(shù)。(1)找出語法錯(cuò)誤 如果一個(gè)vi程序存在語法錯(cuò)誤,則在面板工具條上的運(yùn)行按鈕將會(huì)變成一個(gè)折斷的箭頭,表示程序不能被執(zhí)行。點(diǎn)擊箭頭,labview將彈出錯(cuò)誤清單窗口,點(diǎn)擊其中任何一個(gè)錯(cuò)誤,選用find功能,則出錯(cuò)的對(duì)象就會(huì)變成高亮。 (2) 執(zhí)行程序高亮 在labview的工具條上有一個(gè)畫著燈泡的按鈕,這個(gè)按鈕叫“高亮執(zhí)行”按鈕。點(diǎn)擊這個(gè)按鈕使該按鈕圖標(biāo)變成高亮形式,再點(diǎn)擊運(yùn)行按鈕,vi程序就以較慢的速度運(yùn)行,沒有被執(zhí)行的代碼用灰色顯示,執(zhí)行后的代碼用高亮顯示。 (3)斷點(diǎn)與單步執(zhí)行 為了查找程序中的邏輯錯(cuò)誤,我們可使框圖程序逐個(gè)節(jié)點(diǎn)地執(zhí)行。使用斷點(diǎn)工具可以在程序的某一地點(diǎn)中止程

18、序執(zhí)行,用探針或單步方式查看數(shù)據(jù)。 (4)數(shù)據(jù)探針 我們可以用探針工具來查看當(dāng)框圖程序流經(jīng)某一根連接線時(shí)的數(shù)據(jù)值。從tools工具模板選擇探針工具,再用鼠標(biāo)左擊希望放置探針的連接線。1.3 虛擬儀器概述虛擬儀器是計(jì)算機(jī)技術(shù)和傳統(tǒng)的儀器儀表技術(shù)相結(jié)合的產(chǎn)物,它是在以計(jì)算機(jī)為核心的硬件平臺(tái)上,由用戶設(shè)計(jì)和定義其功能,具有虛擬面板. 虛擬儀器技術(shù)具有高效、易用、開放、靈活、更新快、功能強(qiáng)大、性價(jià)比高、用戶定義等諸多優(yōu)點(diǎn). 目前在我國應(yīng)用的虛擬儀器開發(fā)平臺(tái)主要有美國ni 公司的labview及其相應(yīng)組件和agilent 公司的hp - vee ,其中ni 的labview 系列產(chǎn)品在我國使用比較廣泛.

19、labview是當(dāng)前用于數(shù)據(jù)采集、信號(hào)處理和虛擬儀器開發(fā)的一個(gè)標(biāo)準(zhǔn)工具,而且是一個(gè)基于圖形化編程語言的虛擬儀器軟件開發(fā)工具,設(shè)計(jì)者可利用它方便快捷地建立自己的虛擬儀器程序而無需復(fù)雜的程序代碼編寫. 它適用于多種操作系統(tǒng),用labview設(shè)計(jì)的虛擬儀器程序可以脫離labview開發(fā)環(huán)境,最終用戶看見的是和實(shí)際的硬件儀器相似的操作面板。1.3.1 什么是虛擬儀器所謂虛擬儀器,就是在通用計(jì)算機(jī)為核心的硬件平臺(tái)上,由用戶設(shè)計(jì)定義、具有虛擬面板、測(cè)試功能由測(cè)試軟件實(shí)現(xiàn)的一種計(jì)算機(jī)儀器系統(tǒng)。使用者用鼠標(biāo)點(diǎn)擊虛擬面板,就可操作這臺(tái)計(jì)算機(jī)系統(tǒng)硬件平臺(tái),就如同使用一臺(tái)專用測(cè)量?jī)x器一樣。虛擬儀器的“虛擬”二字主要

20、包含以下兩個(gè)方面的含義:第一, 虛擬儀器的面板是虛擬的。虛擬儀器面板上的各種“控件”與傳統(tǒng)儀器面板上的各種“器件”所完成的功能是相同的。如由各種開關(guān)、按鍵、顯示器等實(shí)現(xiàn)儀器電源的:“通”、“斷”;被測(cè)信號(hào)的“輸入通道”、“放大倍數(shù)”等參數(shù)的設(shè)置;測(cè)量結(jié)果的“數(shù)值顯示”、“波形顯示”等。傳統(tǒng)儀器面板上的器件都是“實(shí)物”,而且是由“手動(dòng)”、“觸摸”、來進(jìn)行操作的,而虛擬儀器面板控件是外形與實(shí)物相象的“圖標(biāo)”,每個(gè)圖標(biāo)的“通”、“斷”、“放大”等,對(duì)應(yīng)著相應(yīng)的軟件程序。這些軟件已經(jīng)設(shè)計(jì)好,我們只需選用代表該種軟件程序的圖形“控件”即可。因此,設(shè)計(jì)虛擬儀器前面板,就是在前面板設(shè)計(jì)窗口中擺放所需的圖標(biāo),

21、然后對(duì)圖標(biāo)的屬性進(jìn)行設(shè)置。第二, 虛擬儀器測(cè)量功能是通過對(duì)圖形化軟件流程圖的編程來實(shí)現(xiàn)的。以pc計(jì)算機(jī)為核心組成的硬件平臺(tái)支持下,通過軟件編程來實(shí)現(xiàn)儀器的功能的。因?yàn)榭梢酝ㄟ^不同測(cè)試功能軟件模塊的組合來實(shí)現(xiàn)多種測(cè)試功能,所以,在硬件平臺(tái)確定后,就有“軟件就是儀器”的說法。1.3.2 虛擬儀器的優(yōu)點(diǎn)虛擬儀器最突出的特點(diǎn)之一是用戶能夠自己定義儀器功能。用戶之所以能夠根據(jù)自己的需要隨心所欲地定義儀器功能,是由于虛擬儀器開發(fā)軟件的靈活性。虛擬儀器中的儀器卡主要用于數(shù)據(jù)的采集、輸入和生成,至于如何去控制儀器卡的工作,怎樣進(jìn)行數(shù)據(jù)處理,以及生成什么樣的儀器面板等,這些工作都是由軟件完成的。一臺(tái)虛擬儀器性能

22、的好壞,在很大程度上取決于軟件水平的高低。因此有人認(rèn)為,對(duì)虛擬儀器系統(tǒng)而言,“軟件就是儀器”。虛擬儀器的硬、軟件都具有開放性、模塊化、可重復(fù)使用及互換性等特點(diǎn)。因此,用戶可以根據(jù)自己的需要靈活組建儀器,這樣大大提高了使用儀器的效率,減少了投資,克服了傳統(tǒng)儀器的缺點(diǎn)。綜上所述,虛擬儀器一般具有以下的性能特點(diǎn):(1)用戶定義測(cè)量功能。虛擬儀器是一種軟件化的測(cè)量裝置,軟件的靈活性和復(fù)用性使用戶可以按自己的需要定義(設(shè)置)測(cè)量功能。(2)便于組成自動(dòng)測(cè)試系統(tǒng)。結(jié)構(gòu)與組成的模塊化和規(guī)范化,為虛擬儀器組建自動(dòng)測(cè)試系統(tǒng)提供了極大便利。人們只要在計(jì)算機(jī)主機(jī)箱或擴(kuò)展機(jī)箱的插槽內(nèi)插入所需的儀器卡,就組成了所需的自

23、動(dòng)測(cè)試系統(tǒng)。(3)減少了開關(guān)和電纜。由于所有信號(hào)具有一個(gè)公用的量化通道,故允許各種測(cè)量使用同一校準(zhǔn)和修正因子,這樣就減少了復(fù)雜的開關(guān)矩陣和信號(hào)電纜。(4)強(qiáng)大的數(shù)據(jù)處理功能。信號(hào)處理理論的不斷完善以及計(jì)算機(jī)運(yùn)算速度的大大提高,為虛擬儀器快速、準(zhǔn)確處理數(shù)據(jù)提供了良好基礎(chǔ)。(5)系統(tǒng)組建時(shí)間短。模塊化的儀器卡支持相同的公用硬件平臺(tái)。當(dāng)希望測(cè)試系統(tǒng)增加一個(gè)新的測(cè)量功能時(shí),只需增加軟件來執(zhí)行新的功能或增加一個(gè)通用模塊來擴(kuò)展系統(tǒng)的測(cè)量范圍。因此,縮短了系統(tǒng)的組建時(shí)間。(6)便于擴(kuò)展。為提高測(cè)試系統(tǒng)的性能,可以方便地加入一通用儀器卡或更換一儀器卡(而不用購買一個(gè)新的系統(tǒng)),這樣有利于系統(tǒng)的擴(kuò)展。(7)測(cè)量

24、速度高。測(cè)量輸入信號(hào)的多個(gè)特性(如電壓、頻率、上升時(shí)間)只需一個(gè)量化的數(shù)據(jù)模塊,這種將多種測(cè)試集于一體的方法縮短了測(cè)試時(shí)間,從而提高了測(cè)試速度。(8)有更好的測(cè)量準(zhǔn)確度和可重復(fù)性。在傳統(tǒng)的自動(dòng)測(cè)試系統(tǒng)中,必須把信號(hào)連接到每一臺(tái)儀器上以完成對(duì)各種參數(shù)的測(cè)量。這樣,測(cè)量往往受電纜長(zhǎng)度、阻抗、儀器校準(zhǔn)和修正因子差異等的影響。而虛擬儀器受這些因素的影響較小,從而提高了測(cè)量的準(zhǔn)確度和可重復(fù)性。(9)技術(shù)更新快。由于虛擬儀器技術(shù)是建立在當(dāng)今世界最新的計(jì)算機(jī)技術(shù)、數(shù)據(jù)采集技術(shù)和通信技術(shù)基礎(chǔ)上的,因而技術(shù)更新速度快于傳統(tǒng)儀器。1.3.3 虛擬儀器的設(shè)計(jì)方法虛擬儀器的設(shè)計(jì)方法包括以下三個(gè)部分: (1)儀器前面板

25、的設(shè)計(jì) 儀器前面板的設(shè)計(jì)主要是指在虛擬儀器開發(fā)平臺(tái)上,利用各類子模板圖標(biāo)創(chuàng)建用戶界面,即虛擬儀器的前面板。(2)儀器流程和算法的設(shè)計(jì)儀器流程和算法的設(shè)計(jì)主要是指根據(jù)儀器功能要求,利用虛擬儀器開發(fā)平臺(tái)所提供的各類子模板,確定程序的流程圖、主要處理算法和所實(shí)現(xiàn)的技術(shù)方法。(3)i/o接口儀器驅(qū)動(dòng)程序的設(shè)計(jì)根據(jù)儀器的功能要求,確定儀器的接口標(biāo)準(zhǔn)。i/o接口儀器驅(qū)動(dòng)程序是控制硬件設(shè)備的驅(qū)動(dòng)程序,是連接主控計(jì)算機(jī)與儀器設(shè)備的紐帶。如果沒有設(shè)備驅(qū)動(dòng)程序,則必須針對(duì)i/o接口儀器設(shè)備編寫驅(qū)動(dòng)程序。2 信號(hào)發(fā)生器的設(shè)計(jì)2.1 引言自然界各種各樣的物質(zhì)是千差萬別的,信號(hào)也是千差萬別的 。所謂信號(hào),是信息的物理表

26、現(xiàn)形式,或者說是傳遞信息的函數(shù)。根據(jù)載體的不同,信號(hào)可以是電的、磁的、聲的、光的、熱的等各種信號(hào)。信號(hào)可從不同的角度進(jìn)行分類,有確定信號(hào)與隨機(jī)信號(hào)、周期信號(hào)與非周期信號(hào)、連續(xù)時(shí)間信號(hào)與離散時(shí)間信號(hào)、一維信號(hào)與多維信號(hào)等。按照時(shí)間信號(hào)函數(shù)取值的連續(xù)性與離散性可將信號(hào)劃分為連續(xù)時(shí)間信號(hào)與離散時(shí)間信號(hào)。下面重點(diǎn)講述一下離散時(shí)間信號(hào)的發(fā)生過程。2.2 離散信號(hào)發(fā)生器的設(shè)計(jì)原理及設(shè)計(jì)實(shí)現(xiàn)根據(jù)傳統(tǒng)信號(hào)發(fā)生器面板控鍵的功能,利用labview中的控制模板,分別在設(shè)計(jì)面板上放入模擬實(shí)際信號(hào)發(fā)生器控鍵的數(shù)據(jù)輸入控鍵、顯示器、數(shù)據(jù)輸出控件、開關(guān)、選擇器. 顯示器用于顯示輸出的信號(hào)波形,數(shù)據(jù)輸入控鍵用于輸出信號(hào)的信

27、號(hào)頻率、采樣頻率、采樣數(shù)、振幅和相位,數(shù)據(jù)輸出控鍵則用于選擇信號(hào)類型.當(dāng)只需要一定信號(hào)波形發(fā)生和顯示時(shí),可以利用 g語言編程得到虛擬儀器,即用軟件實(shí)現(xiàn)硬件的功能。labview公式運(yùn)算節(jié)點(diǎn) (formula node)是一種傳統(tǒng)的基于文字輸入的節(jié)點(diǎn),用于 block diagram 里。用戶進(jìn)行數(shù)學(xué)運(yùn)算時(shí),就像在驗(yàn)算紙上寫字一樣輸入函數(shù)公式 ,再加上顯示部分即可實(shí)現(xiàn)函數(shù)波形顯示,即用公式實(shí)現(xiàn)的函數(shù)發(fā)生與顯示的程序,其中內(nèi)部粗框?yàn)楣焦?jié)點(diǎn) ,在公式節(jié)點(diǎn)邊框上單擊鼠標(biāo)右鍵分別添加輸入變量和輸出變量。輸入變量可根據(jù)用戶需求自己設(shè)置。在前面板輸入振幅變量等的具體數(shù)值,通過圖形顯示 waveform g

28、raph控件來顯示波形。對(duì)應(yīng)程序前面板即虛擬儀器前面板中輸入相應(yīng)的變量,運(yùn)行即可得到所需的波形。因此,用公式節(jié)點(diǎn)來產(chǎn)生波形非常方便,一些不易獲得的被測(cè)數(shù)據(jù)都可以用此法進(jìn)行測(cè)量和顯示。 2.2.1 常用離散信號(hào)發(fā)生器的設(shè)計(jì)原理及設(shè)計(jì)實(shí)現(xiàn) 信號(hào)發(fā)生器是一種應(yīng)用極為廣泛的儀器,它通常作為標(biāo)準(zhǔn)信號(hào)發(fā)生器,用于電子電路的性能試驗(yàn)或參數(shù)測(cè)量。傳統(tǒng)的信號(hào)發(fā)生器價(jià)格昂貴,操作復(fù)雜,不易開發(fā),維護(hù)和升級(jí),而使用基于labvie圖形化編程語言開發(fā)的虛擬信號(hào)發(fā)生器,具有編程簡(jiǎn)單,直觀,操作方便等特點(diǎn)。而且,可以通過不同的信號(hào)。1單位樣值序列 (2.1) 此序列只在n=0處取單位值1,其余樣點(diǎn)上都為零,也稱為“單位取

29、樣”、“單位函數(shù)”、“單位脈沖”或“單位沖激”。它在離散時(shí)間系統(tǒng)中的作用,類似于連續(xù)時(shí)間系統(tǒng)中的單位沖激函數(shù)。圖2.1 單位樣值序列的圖形圖2.2 單位樣值序列的框圖2單位延遲階躍序列 ( 2.2 )類似于連續(xù)時(shí)間系統(tǒng)中的單位階躍信號(hào)u(t)。圖2.3單位延遲階躍序列的圖形圖2.4單位延遲階躍序列的框圖3. 矩形序列 ( 2.3 )它從n=m-1開始,到n=n-1,共有n-m個(gè)幅度為1的數(shù)值,其余各點(diǎn)皆為零。類似于連續(xù)時(shí)間系統(tǒng)中的矩形脈沖。顯然,矩形序列取值為1的范圍也可以n=m到n=m+n-1。這種序列可寫作。圖 2.5 矩形序列的圖形圖2.6 矩形序列的框圖4正弦序列 x(n)=sin(n

30、) ( 2.4 )式中是正弦序列的頻率,它反映序列值依次周期性重復(fù)的速率。圖2.7 正弦序列的圖形圖2.8 正弦序列的框圖5指數(shù)序列 x(n)= ( 2.5 ) 當(dāng)1時(shí)序列是發(fā)散的,0序列都取正值,a wavefovmgraph ,作為信號(hào)發(fā)生器的顯示器。在顯示器模板上點(diǎn)擊鼠標(biāo)右鍵,對(duì)其進(jìn)行屬性設(shè)置,如根據(jù)被顯示波形的頻率與幅度值的變化,利用工具模板中的文字工具,對(duì)顯示器橫(時(shí)間) 、縱(幅度) 坐標(biāo)的刻度重新設(shè)置. 用graph控鍵設(shè)計(jì)的顯示器是完全同步的,波形穩(wěn)定。編制各種信號(hào)的過程中,應(yīng)盡量采用模塊化編程的思想,建立子vi,這樣可以簡(jiǎn)化vi框圖程序的結(jié)構(gòu),使其更加簡(jiǎn)潔,易于理解,以提高v

31、i的運(yùn)行效率。下面是常用信號(hào)發(fā)生器的前面板圖形和程序框圖,只要我們?cè)谇懊姘宓男盘?hào)類型和請(qǐng)選擇信號(hào)中選擇一種,就能顯示出所選信號(hào)的波形。圖2.13 常用信號(hào)發(fā)生器的前面板圖形圖2.14 常用信號(hào)發(fā)生器的程序框圖程序中各控件功能:(1)選擇輸出,當(dāng)輸入s值為ture時(shí),節(jié)點(diǎn)將輸入端口t中的內(nèi)容送至輸出端口;當(dāng)輸入s值為false時(shí),節(jié)點(diǎn)將輸入端口f中的內(nèi)容送至輸出端口。(2) for循環(huán)由循環(huán)框架, 重復(fù)端口, 計(jì)數(shù)端口組成。(3) 移位寄存器,功能是將第i-1, i-2次循環(huán)的結(jié)果保存在for循環(huán)的緩沖區(qū)內(nèi),并在第i次循環(huán)時(shí)將這些數(shù)據(jù)從循環(huán)框架左側(cè)的移位寄存器中送出,供循環(huán)框架內(nèi)的節(jié)點(diǎn)使用。(4

32、)正弦波(5)真常量, 假常量。布爾常數(shù),在編輯狀態(tài)下,用數(shù)據(jù)操作工具單擊節(jié)點(diǎn)圖標(biāo)可改變布爾常數(shù)的值。(6) bundle打包.將相互關(guān)聯(lián)的不同數(shù)據(jù)類型的數(shù)據(jù)組成一個(gè)簇,或給簇中的某一個(gè)元素賦值。3 快速傅立葉變換3.1 引言快速傅氏變換(fft)是離散傅氏變換的快速算法,它是根據(jù)離散傅氏變換的奇、偶、虛、實(shí)等特性,對(duì)離散傅立葉變換的算法進(jìn)行改進(jìn)獲得的。它對(duì)傅氏變換的理論并沒有新的發(fā)現(xiàn),但是對(duì)于在計(jì)算機(jī)系統(tǒng)或者說數(shù)字系統(tǒng)中應(yīng)用離散傅立葉變換,可以說是進(jìn)了一大步。 設(shè)x(n)為n項(xiàng)的復(fù)數(shù)序列,由dft變換,任一x(m)的計(jì)算都需要n次復(fù)數(shù)乘法和n-1次復(fù)數(shù)加法,而一次復(fù)數(shù)乘法等于四次實(shí)數(shù)乘法和兩

33、次實(shí)數(shù)加法,一次復(fù)數(shù)加法等于兩次實(shí)數(shù)加法,即使把一次復(fù)數(shù)乘法和一次復(fù)數(shù)加法定義成一次“運(yùn)算”(四次實(shí)數(shù)乘法和四次實(shí)數(shù)加法),那么求出n項(xiàng)復(fù)數(shù)序列的x(m),即n點(diǎn)dft變換大約就需要n2次運(yùn)算。當(dāng)n=1024點(diǎn)甚至更多的時(shí)候,需要n2=1048576次運(yùn)算,在fft中,利用的周期性和對(duì)稱性,把一個(gè)n項(xiàng)序列(設(shè)n=2k,k為正整數(shù)),分為兩個(gè)n/2項(xiàng)的子序列,每個(gè)n/2點(diǎn)dft變換需要(n/2)2次運(yùn)算,再用n次運(yùn)算把兩個(gè)n/2點(diǎn)的dft變換組合成一個(gè)n點(diǎn)的dft變換。變換以,總的運(yùn)算次數(shù)變成n+2(n/2)2=n+n2/2。繼續(xù)上面的例子,n=1024時(shí),總的運(yùn)算次數(shù)就變成了525312次,節(jié)

34、省了大約50%的運(yùn)算量。而如果我們將這種“一分為二”的思想不斷進(jìn)行下去,直到分成兩兩一組的dft運(yùn)算單元,那么n點(diǎn)的dft變換就只需要nlog2n次的運(yùn)算,n在1024點(diǎn)時(shí),運(yùn)算量?jī)H有10240次,是先前的直接算法的1%,點(diǎn)數(shù)越多,運(yùn)算量的節(jié)約就越大,這就是fft的優(yōu)越性。3.2 快速傅立葉變換的基本原理及實(shí)現(xiàn)方法fft算法的基本思想:可以將一個(gè)長(zhǎng)度為n的序列的離散傅里葉變換逐次分解為較短的離散傅里葉變換來計(jì)算,這些短序列的 dft可重新組合成原序列的dft,而總的運(yùn)算次數(shù)卻比直接的dft運(yùn)算量少得多,從而達(dá)到提高速度的目的。 快速傅立葉變換就是利用的特性,逐步地將n點(diǎn)序列分解成較短的序列,計(jì)

35、算短序列的dft,然后組合成原序列的dft,使運(yùn)算量顯著減少。這種分解基本上可分為兩類,一類是將時(shí)間序列 x(n)進(jìn)行逐次分解,稱為按時(shí)間抽取算法(decimation in time);另一類將傅立葉變換序列x(k)進(jìn)行分解,稱為按頻率抽取算法(decimation in frequency)。本文主要介紹了按時(shí)間抽取基2 fft算法。3.2.1 直接計(jì)算dft的特點(diǎn)及減少運(yùn)算量的基本途徑長(zhǎng)度為n的有限長(zhǎng)序列x(n)的dft為 (3.1)考慮x(n)為復(fù)數(shù)序列的一般情況,對(duì)某一個(gè)k值,直接按(3.1)式計(jì)算x(k)的值需要n次復(fù)數(shù)乘法、(n-1)次復(fù)數(shù)加法。因此,對(duì)所有n個(gè)k值,共需 次復(fù)數(shù)

36、乘法及n(n-1)次復(fù)數(shù)加法運(yùn)算。當(dāng)n1時(shí),n(n-1) 。由上訴可見,n點(diǎn)dft的乘法和加法運(yùn)算次數(shù)均成正比。當(dāng)n較大時(shí),運(yùn)算量相當(dāng)可觀。例如n=1024時(shí), =1048576。這對(duì)于要求實(shí)時(shí)信號(hào)處理來說,必將對(duì)計(jì)算速度提出難以實(shí)現(xiàn)的要求。所以,必須減少其運(yùn)算量,才能使dft在各種科學(xué)和工程計(jì)算中得到應(yīng)用。如前所述,n點(diǎn)dft的復(fù)乘次數(shù)等于,顯然,把n點(diǎn)dft分解為幾個(gè)較短的dft,可使乘法次數(shù)大大減少。另外,旋轉(zhuǎn)因子 具有明顯的周期性和對(duì)稱性.其周期性表現(xiàn)為 (3.2)其對(duì)稱性表現(xiàn)為 或者 (3.3)fft算法就是不斷地把長(zhǎng)序列的dft分解成幾個(gè)短序列的dft,并利用的周期性和對(duì)稱性來減少

37、dft的運(yùn)算次數(shù)。最常用的是基2fft(即n=的fft)。3.2.2 時(shí)域抽取法基2 fft基本原理設(shè)序列x(n)的長(zhǎng)度為n,且滿足 m為自然數(shù)按n的奇偶把x(n)分解為兩個(gè)n/2點(diǎn)的子序列 且x(n)的dft為 由于 所以 (3.4)其中和分別為和的n/2點(diǎn)dft,即 (3.5) (3.6) 由于和均以n/2為周期,且,所以x(k)又可表示為 , (3.7) , (3.8)這樣,就將n點(diǎn)dft分解為兩個(gè)n/2點(diǎn)的dft和(3.7)式以及(3.8)式的運(yùn)算。(3.7)式和(3.8)式的運(yùn)算可用圖3.1所示的流圖符號(hào)表示,根據(jù)其形狀稱之為蝶形運(yùn)算符號(hào).采用這種圖示法,可將上述分解運(yùn)算表示于圖3.

38、2中,圖中,n=23=8,x(0)x(3)由(3.7)式給出,而x(4)x(7)則由(3.8)式給出10。 圖3.1 蝶形運(yùn)算符號(hào) 圖3.2 n點(diǎn)dft的一次時(shí)域抽取分解圖(n=8)由圖3.1可見,要完成一個(gè)蝶形運(yùn)算,需要一次復(fù)數(shù)乘和兩次復(fù)數(shù)加法運(yùn)算。由圖3.2容易看出,經(jīng)過一次分解后,計(jì)算一個(gè)n點(diǎn)dft共需要計(jì)算兩個(gè)n/2點(diǎn)dft和n/2個(gè)蝶形運(yùn)算。而計(jì)算一個(gè)n/2點(diǎn)dft需要(n/2)2次復(fù)數(shù)乘和n/2(n/2-1)次復(fù)數(shù)加。.所以,按圖3.2計(jì)算n點(diǎn)dft總共需要2(n/2)2+n/2=n(n+1)/2n2/2(n1時(shí))次復(fù)數(shù)乘法和n(n/2-1)+2n/2=n2/2次復(fù)數(shù)加法運(yùn)算。由此

39、可見,僅僅經(jīng)過一次分解,就使運(yùn)算量減少近一半。既然這樣分解對(duì)減少dft的運(yùn)算量是有效的,且n=2m,n/2仍然是偶數(shù),故可以對(duì)n/2點(diǎn)dft再作進(jìn)一步分解。與第一次分解相同,將按奇偶分解為兩個(gè)n/4長(zhǎng)的子序列和,即, 那么,x1(k)又可表示為 , k=0,1,n/2-1 (3.9)式中同理,由x3(k)和x4(k)的周期性和的對(duì)稱性()最后得到: , k=0,1,n/4-1 (3.10)用同樣的方法可計(jì)算出 , k=0,1, n/4-1 (3.11)這樣,經(jīng)過第二次分解,又將n/2點(diǎn)dft分解為兩個(gè)n/4點(diǎn)dft和(3.10)式或(3.11)式所示的n/4個(gè)蝶形運(yùn)算,如圖3.3所示。依次類推

40、,經(jīng)過m-1次分解,最后將n點(diǎn)dft分解成n/2個(gè)2點(diǎn)dft。一個(gè)完整的8點(diǎn)dit-fft運(yùn)算流圖如圖3.4所示。圖中用到關(guān)系式。圖中輸入序列不是順序排列,但后面會(huì)看到,其排列是有規(guī)律的。圖3.3 n點(diǎn)dft的第二次時(shí)域抽取分解圖(n=8)圖3.4 n點(diǎn)dit-fft運(yùn)算流圖(n=8)3.2.3 dit-fft算法與直接計(jì)算dft運(yùn)算量的比較由dit-fft算法的分解過程及圖3.4可見,n=2m時(shí),其運(yùn)算流圖應(yīng)有m級(jí)蝶形,每一級(jí)都由n/2個(gè)蝶形運(yùn)算構(gòu)成.因此,每一級(jí)運(yùn)算都需要n/2次復(fù)數(shù)乘和n次復(fù)數(shù)加(每個(gè)蝶形需要兩次復(fù)數(shù)加法).所以,m級(jí)運(yùn)算總共需要的復(fù)數(shù)乘次數(shù)為復(fù)數(shù)加次數(shù)為而直接計(jì)算dft

41、的復(fù)數(shù)乘為n2次,復(fù)數(shù)加為n(n-1)次.當(dāng)n1時(shí),n2(n/2)log2n,從而,dit-fft算法比直接計(jì)算dft的運(yùn)算次數(shù)大大減少.例如n=210=1024時(shí),這樣,就使運(yùn)算效率提高200多倍.圖3.5為fft算法和直接dft算法所需運(yùn)算量與計(jì)算點(diǎn)數(shù)n的關(guān)系曲線.由此圖更加直觀地看出fft算法的優(yōu)越性,顯然,n越大時(shí),優(yōu)越性就越明顯.圖3.5 fft算法與直接計(jì)算dft所需乘法次數(shù)的比較曲線3.3 dit-fft的算法及編程實(shí)現(xiàn)一、原位設(shè)計(jì)由圖3.4可以看出,dit-fft的運(yùn)算過程很有規(guī)律.n=2m點(diǎn)的fft共進(jìn)行m級(jí)運(yùn)算,每級(jí)由n/2個(gè)蝶形運(yùn)算組成.同一級(jí)中,每個(gè)蝶形的兩個(gè)輸入數(shù)據(jù)只

42、對(duì)計(jì)算本蝶形有用,而且每個(gè)蝶形的輸入、輸出數(shù)據(jù)結(jié)點(diǎn)又同在一條水平線上,這就意味著計(jì)算完一個(gè)蝶形后,所得輸出數(shù)據(jù)可立即存入原輸入數(shù)據(jù)所占用的存儲(chǔ)單元。這樣,經(jīng)過m級(jí)運(yùn)算后,原來存放輸入序列數(shù)據(jù)的n個(gè)存儲(chǔ)單元中便依次存放x(k)的n個(gè)值。這種利用同一存儲(chǔ)單元存儲(chǔ)蝶形計(jì)算輸入、輸出數(shù)據(jù)的方法稱為原位(址)計(jì)算。原位計(jì)算可節(jié)省大量?jī)?nèi)存,從而使設(shè)備成本降低。下面介紹如何用labview實(shí)現(xiàn)原位計(jì)算。將抽樣序列的控制節(jié)點(diǎn)、倒序后的序列及fft變換后的序列連接到一起,就能進(jìn)行原位運(yùn)算。二、旋轉(zhuǎn)因子的變化規(guī)律如上所述,n點(diǎn)ditfft運(yùn)算流圖中,每級(jí)都有n/2個(gè)蝶形。每個(gè)蝶形都要乘以因子,稱其為旋轉(zhuǎn)因子,p成

43、為旋轉(zhuǎn)因子的指數(shù)。但各級(jí)的旋轉(zhuǎn)因子和循環(huán)方式都有所不同。為了編寫計(jì)算程序,應(yīng)先找出旋轉(zhuǎn)因子和循環(huán)方式都有所不同。為了編寫計(jì)算程序,應(yīng)先找出旋轉(zhuǎn)因子與運(yùn)算級(jí)數(shù)的關(guān)系。用l表示從左到右的運(yùn)算級(jí)數(shù)(l=1,2,m)。觀察圖3.4不難發(fā)現(xiàn),第l級(jí)共有2l-1個(gè)不同的旋轉(zhuǎn)因子。n238時(shí)的各級(jí)旋轉(zhuǎn)因子表示如下:l1時(shí), j0 l2時(shí), j0,1 l3時(shí), j0,1,2,3對(duì)n2m的一般情況,第l級(jí)的旋轉(zhuǎn)因子為,j0,1,2,2l-11由于 所以 , (3.12) (3.13)這樣,就可按(3.12)式和(3.13)確定第l級(jí)運(yùn)算的旋轉(zhuǎn)因子(實(shí)際編程序時(shí),l為循環(huán)變量)。下面介紹一下本程序中如何用labv

44、iew計(jì)算旋轉(zhuǎn)因子。程序執(zhí)行的是圖中功能是求sin(x)與cos(x),然后節(jié)點(diǎn)是將實(shí)數(shù)sin(x)與cos(x)組成復(fù)數(shù)cos(x)+isin(x),使用結(jié)點(diǎn) 求出共軛,得出上式。三、蝶形運(yùn)算規(guī)律設(shè)序列x(n)經(jīng)時(shí)域抽選(倒序)后,存入數(shù)組x中。如果蝶形運(yùn)算的兩個(gè)輸入數(shù)據(jù)相距b個(gè)點(diǎn),應(yīng)用原位計(jì)算,則蝶形運(yùn)算可表示成如下形式:式中下標(biāo)l表示第l級(jí)運(yùn)算,xl(j)則表示第l級(jí)運(yùn)算后數(shù)組元素x(j)的值。下面介紹如何用labview設(shè)計(jì)蝶形運(yùn)算首先將倒序后的序列的第k個(gè)和第kb個(gè)元素索引出來,,這里用到數(shù)組替換節(jié)點(diǎn),替換輸入數(shù)組中的一個(gè)元素,其實(shí)質(zhì)是將的值賦給x(k),將賦給x(k+b)。程序圖如

45、下:ditfft算法的輸出x(k)為自然順序,但為了適應(yīng)原位計(jì)算,其輸入序列不是按x(n)的自然順序排序,這種經(jīng)過m一1次偶奇抽選后的排序稱為序列x(n)的倒序(倒位)。因此,在運(yùn)算之前應(yīng)先對(duì)序列x(n)進(jìn)行倒序。下面介紹倒序算法。 圖3.6 倒序程序框圖 圖3.7 dit-fft運(yùn)算和程序框圖四、序列的倒序ditfft算法的輸入序列的排序看起來似乎很亂,但仔細(xì)分析就會(huì)發(fā)現(xiàn)這種倒序是很有規(guī)律的。為了敘述方便,用j表示當(dāng)前倒序數(shù)的十進(jìn)制數(shù)值。對(duì)于n2m,m位二進(jìn)制數(shù)最高位的權(quán)值為n/2,且從左向右二進(jìn)制位的權(quán)值依次為n4,n8,2,1。因此,最高位加1相當(dāng)于十進(jìn)制運(yùn)算j+n/2。如果最高位是o(

46、jn/2),則直接由j+n/2得下一個(gè)倒序值;如最高位是1(jn/2),則要將最高位變成0(),次高位加1(j+n/4)。但次高位加1時(shí),同樣要判斷0、l值,如果為0(jn/4),則直接加1(),否則將次高位變成0(),再判斷下一位;依次類推,直到完成最高位加1,適2向右進(jìn)位的運(yùn)算。形成倒序j后,將原存貯器中存放的輸入序列重新按倒序排列。設(shè)原輸入序列x(n)先按自然順序存入數(shù)組a中。倒序的程序框圖如圖3.6所示,圖中的虛線框內(nèi)是完成計(jì)算倒序值的運(yùn)算流程圖。第一個(gè)序列值x(0)和最后一個(gè)序列值x(n-1)不需要重排,當(dāng)i=j時(shí)不需要交換,所以圖3.6中,順序數(shù)i的起始、終止值分別為1和n-2;倒

47、序數(shù)j的起始值為n/2。另外,為了避免再次調(diào)換前面已調(diào)換過的一對(duì)數(shù)據(jù),框圖中只對(duì)ij的情況調(diào)換a(i)和a(j)的內(nèi)容。下面介紹如何用labview進(jìn)行倒序運(yùn)算。先送入抽樣序列x(n),并送入采樣點(diǎn)數(shù)n,運(yùn)用節(jié)點(diǎn)()計(jì)算出蝶形運(yùn)算的級(jí)數(shù)m。倒序程序主要由1個(gè)大的for循環(huán),嵌套2個(gè)case結(jié)構(gòu)完成,而執(zhí)行每步的次序則用sequence結(jié)構(gòu)。1 for loop循環(huán)子模板上的for loop結(jié)構(gòu)就是c語言中的for loop循環(huán)結(jié)構(gòu)。用它來循環(huán)執(zhí)行一個(gè)過程。在使用for循環(huán)結(jié)構(gòu)時(shí),需指定循環(huán)次數(shù),這里賦值n1,n1n2,當(dāng)變量i遞增次數(shù)滿足條件時(shí),for結(jié)構(gòu)進(jìn)行n1次循環(huán)。for結(jié)構(gòu)中嵌套cas

48、e結(jié)構(gòu),進(jìn)行序列的倒序運(yùn)算。2 case 結(jié)構(gòu)子模板上的case結(jié)構(gòu)類似于c語言中的switch結(jié)構(gòu),是一個(gè)多分支選擇結(jié)構(gòu)。它根據(jù)輸入值決定程序進(jìn)入不同的分支流。如上圖所示,當(dāng)ij為假時(shí),進(jìn)入case循環(huán)中的false框架,循環(huán)內(nèi)進(jìn)行的是的交換。是指返回輸入數(shù)組中由輸入索引指定的元素。這里是將數(shù)組中的第i和第j個(gè)元素索引出來。而是指替換輸入數(shù)組中的一個(gè)元素。這里是當(dāng)ij時(shí),將索引出來的第i個(gè)元素和第j個(gè)元素進(jìn)行交換.然后是將lh的值賦給k,接著進(jìn)入下一個(gè)case循環(huán),其循環(huán)次數(shù)由while循環(huán)決定。3 while結(jié)構(gòu)while結(jié)構(gòu)是條件循環(huán)結(jié)構(gòu),即為一種無限循環(huán)結(jié)構(gòu),類似于c語言中的do wh

49、ile結(jié)構(gòu)。當(dāng)jk時(shí),進(jìn)入while循環(huán),執(zhí)行case結(jié)構(gòu)的true框架,將jk的值賦給j,k/2的值賦給k。在while循環(huán)中,使用了寄存器,其作用是當(dāng)下一次循環(huán)用到上一次循環(huán)運(yùn)算的結(jié)果時(shí),可以將每次循環(huán)運(yùn)行的結(jié)果存儲(chǔ)下來,傳遞給下一次循環(huán)。在傳統(tǒng)編程語言中,程序有明確的順序執(zhí)行,即程序按照程序代碼從上到下的順序執(zhí)行,每個(gè)時(shí)刻只執(zhí)行一步,這種程序執(zhí)行的方式稱為控制流程。而labview卻是一種數(shù)據(jù)流程語言,必須引入特殊的結(jié)構(gòu)框架,在此框架內(nèi)程序要嚴(yán)格按照預(yù)先確定的順序執(zhí)行,這就是labview順序結(jié)構(gòu)的由來。4 順序結(jié)構(gòu)labview順序結(jié)構(gòu)的功能是強(qiáng)制程序按一定的順序執(zhí)行。五、編程思想及程

50、序框圖我們可用三重循環(huán)程序?qū)崿F(xiàn)ditfft運(yùn)算,程序框圖如圖3.9所示。labview前面板設(shè)計(jì)與程序框圖: 3.8 快速傅立葉變換(fft)的前面板 3.9 快速傅立葉變換(fft)的后面板4 離散卷積4.1 引言離散卷積是數(shù)字信號(hào)處理的基本運(yùn)算,也正是離散卷積將輸入信號(hào)、輸出信號(hào)和系統(tǒng)的脈沖響應(yīng)三者聯(lián)系起來,它是求離散系統(tǒng)響應(yīng)的主要方法之一。但在實(shí)際應(yīng)用中,若直接進(jìn)行時(shí)域運(yùn)算,所需的乘法和加法次數(shù)過多而耗時(shí)太長(zhǎng),會(huì)使信號(hào)的實(shí)時(shí)處理性變差。而快速傅立葉變換(簡(jiǎn)稱 fft)作為信號(hào)處理的有力工具,最大特點(diǎn)是其時(shí)域和頻域都是離散的有限長(zhǎng)序列,這使計(jì)算機(jī)有了用武之地。特別是用 fft計(jì)算離散卷積可

51、充分發(fā)揮其優(yōu)越性使運(yùn)算速度得到大大提高,改善信號(hào)處理的實(shí)時(shí)性。4.2 離散卷積的設(shè)計(jì)原理在離散時(shí)間系統(tǒng)中,由于離散信號(hào)本身是一個(gè)不連續(xù)的序列,因此,激勵(lì)信號(hào)分解為脈沖序列的工作就很容易完成,對(duì)應(yīng)每個(gè)樣值激勵(lì),系統(tǒng)得到對(duì)此樣值的響應(yīng),每一響應(yīng)也是一個(gè)離散時(shí)間序列,把這些序列疊加即得零狀態(tài)響應(yīng)。因?yàn)殡x散量的疊加無需進(jìn)行積分,因此,疊加過程表現(xiàn)為求“卷積和”。離散時(shí)間系統(tǒng)的任意激勵(lì)信號(hào)x(n)可以表示為單位樣值加權(quán)取和的形式 (4.1)設(shè)系統(tǒng)對(duì)單位樣值的響應(yīng)為h(n),由時(shí)不變特性可知,對(duì)于的延時(shí)響應(yīng)就是h(n-m);再由線性系統(tǒng)的均勻性可知,對(duì)于序列的響應(yīng)是,最后根據(jù)疊加性得到系統(tǒng)對(duì)于序列總的響應(yīng)為 (4.2)式(4.2)成為“卷積和”(或仍稱為卷積)。它表征了系統(tǒng)響應(yīng)y(n)與激勵(lì)x(n)和單位樣值響應(yīng)h(n)之間的關(guān)系,y(n)是x(n)與h(n)的卷積,用簡(jiǎn)化符號(hào)記為 (4.3)對(duì)式(4.3)進(jìn)行變量置換得到卷積的另一種表示式 (4.4)這表明,兩序列進(jìn)行卷積的次序式無關(guān)緊要的,可以互換。在連續(xù)時(shí)間系統(tǒng)中,與f(t)的卷積仍等于f(t),類似地,在離散時(shí)間系統(tǒng)中也有 (4.5) 卷積和的圖形解釋可以把取卷

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論