女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通過利用編程語言LabVIEW實現數字變頻FFT的頻譜細化算法設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-05-10 08:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引 言

在運動目標速度測量中,常利用頻譜分析的方法獲取目標的多普勒頻率,并依據多普勒測速原理來完成動目標速度測量。為達到高精度測速的要求,需進一步提高頻率分辨率,在實際頻譜分析中,要對獲取的試驗數據先進行分段處理,在此基礎上再進行細化操作,這樣可獲得比常規FFT分析更高的頻率分辨率。近年來,頻譜細化技術發展迅速,常見的方法有:HR-FA法,基于多相濾波器的ZFFT法,基于復調制的Zoom-FFT法,自適應Zoom-FFT法,Chirp-Z變換和小波基法等。然而,這些頻譜細化技術普遍存在運算量大,不易實現編程的缺點。為此,提出了一種數字變頻FFT的頻譜細化算法,并利用圖形化編程語言LabVIEW進行了編程設計。

1數字變頻FFT的數學原理

在頻譜分析中,頻率分辨率表示頻譜中能夠分辨的兩個頻率分量的最小間隔,用頻率間隔△f表示為:

通過利用編程語言LabVIEW實現數字變頻FFT的頻譜細化算法設計

要提高FFT的頻率分辨率,可通過以下兩種途徑實現:

(1)降低采樣頻率fs。這會使頻率分析范圍縮小,其降低的幅度受到采樣定律的限制。

(2)需要增加分析的采樣點數N。這意味著計算機的存儲量和計算量大大增加,由于實際系統軟、硬件方面的限制,這樣做并不總是可能的。

可以看出以上兩種方法提高頻率分辨率的能力有限且靈活性差。所用的數字變頻FFT主要指采用移頻特性進行頻譜細化的技術,其原理框圖如圖1所示。

通過利用編程語言LabVIEW實現數字變頻FFT的頻譜細化算法設計

模擬信號為x(t),經A/D轉換后得到采樣時間序列x(n)(n=0,1,…,N-1),設fs為采樣頻率;f1~f3為細化分析頻帶;f0為需要細化的頻帶中心頻率;D為細化倍數;N為FFT分析的點數,算法如下:

(1)復調制移頻

所謂復調制移頻就是將頻域坐標向左移或向右移,使得被觀察的起點為頻域坐標的零頻位置。這里對離散信號x(n)用exp[-2πf0/fs]進行復調制,把需要細化的頻帶起點移至頻率軸原點,得到:

通過利用編程語言LabVIEW實現數字變頻FFT的頻譜細化算法設計

(2)數字低通濾波

為保證重新采樣后不發生頻譜混疊,必須進行抗混疊濾波,以濾出所需分析頻段信號。設頻率細化倍數為D,則低通濾波器的截止頻率fc=fs/2D。

(3)重新采樣

信號被移頻和低通濾波后,分析信號頻帶變窄,因而可以以較低的采樣頻率fs=fs/D進行重采樣,fs比原采樣頻率降低了D倍,即對原采樣點每隔N點再抽樣一次。

(4)反移頻處理

實行反移頻操作就是將頻率中心重新移到需要細化的頻帶起始頻率,使得移頻前后的頻率保持一致。

(5)FFT運算

對反移頻后的信號進行FFT處理,得到細化后的頻譜,其頻率分辨率提高了D倍。

通過利用編程語言LabVIEW實現數字變頻FFT的頻譜細化算法設計

2數字變頻FFT的LabVIEW實現

2.1虛擬儀器LabVEW

LabVIEW是美國NI公司推出的虛擬儀器開發平臺軟件,是一種非常優秀的面向對象的圖形化編程語言,用于快速創建測試、測量和控制應用程序。它的優點是數據處理速度快,硬件支持等方面功能強大;缺點是在數值處理、分析和算法工具等方面的效率不高。而MathWorks公司開發的Matlab提供了強大的矩陣運算和圖形處理功能,編程效率高,特別擅長數值分析和處理,但其界面開發能力較差,不能進行實時操作和控制。

鑒于LabVIEW和Matlab兩種語言的優點,在虛擬儀器開發過程中,除利用LabVIEW直接編程外,還可結合Matlab進行混合編程。通常用LabVIEW設計用戶圖形界面,負責數據采集和網絡通信;Matlab在后臺提供大型算法供LabVIEW調用。

2.2 LabVIEW直接編程實現數字變頻FFT

在LabVIEW直接編程中,通過調用Ramp Pattern.vi節點和Exponential.vi節點完成信號的復調制和反移頻操作;通過調用Decimate.vi節點對復調制后的信號進行濾波,壓縮頻帶,然后進行整數倍抽取。其中,對信號進行數字低通濾波的濾波器為切比雪夫I型濾波器,其主要參數:階數為8階,截止頻率為0.8·(fs/2)/D;通過調用FFT.vi和Array Size.vi節點完成FFT運算,輔以其他相應的計算處理節點,根據數字變頻的原理圖最終實現數字變頻FFT,其程序框圖如圖2所示。

通過利用編程語言LabVIEW實現數字變頻FFT的頻譜細化算法設計

2.3 LabVIEW與Matlab混合編程實現數字變頻FFT

LabVIEW與Matlab的混合編程,可通過調用LabVIEW中的Matlab Script節點實現。其中,MatlabScript節點本身具有多輸入、多輸出的特點,一次處理的信息量可以很大。在Matlab中,根據數字變頻FFT的數學原理,編程實現復調制移頻、低通濾波、重采樣、反移頻和FFT操作處理,經調試無誤后,導入到Matlab Script節點中;然后在LabVIEW中,通過調用SineWave.vi產生仿真信號,或從文件中讀取信號數據,同時添加采樣頻率,細化倍數等控制節點;最后連接各圖標,實現數字變頻FFT,其程序框圖如圖3所示。

通過利用編程語言LabVIEW實現數字變頻FFT的頻譜細化算法設計

3仿真分析

利用LabVIEW編程實現數字變頻FFT軟件處理平臺,調用Functions\Analyze\Signal Processing\Signal Generation子模板中的Sine Wave.vi創建正弦信號發生器,構造仿真信號:

x(t)=sin(2πf1t)+2sin(2πf2t)+5sin(2πf3t)

式中:f1=2 002 Hz;f2=2 004 Hz;f3=2 006 Hz;采樣點數N=5 120;采樣頻率為51 200 Hz。根據式(1) 可知,此時頻率分辨率為10 Hz,在頻域內分辨不出這3個信號。

若要把分辨率提到1 Hz,即細化10倍,就要采樣51 200個點,然后把分析頻帶(2 000~2 010 Hz)的起始頻率f=2 000 Hz點移到原點,當細化倍數D=10時,即51 200個采樣點每隔10個點進行抽取,完成對復調制移頻、濾波后的信號重采樣。新的采樣頻率即為5 120 Hz,降低了10倍,抽取得到5 120個點。為了使細化后的頻率與細化前的一致,在作FFT前應該實行反移頻,這樣就可以得到分析頻帶上的細化頻譜。如果采用LabVIEW直接編程處理,其細化頻譜如圖4所示;如果采用LabVIEW和Matlab混合編程處理,其細化頻譜如圖5所示。

通過利用編程語言LabVIEW實現數字變頻FFT的頻譜細化算法設計

從圖4和圖5中可以看出,基于LabVIEW的兩種編程方法都實現了頻譜細化的功能,2 002 Hz,2 004 Hz和2 006 Hz三個頻率點對應的幅值譜清晰可見,且幅值相差2.5倍,分辨率為1 Hz。

4結語

數字變頻FFT是頻譜分析中一種約束條件少,可操作性強的方法。在此借助功能強大的LabVIEW軟件編程處理方法,使得數字變頻實現簡便,能夠滿足提高頻率分辨率的要求,并具有很高的實時性。

顯然,在動目標速度測量中,利用數字變頻FFT進行頻譜細化處理,可獲得更高的頻率測量精度。根據多普勒原理,也可獲得更高的測速精度。因此,研究中基于LabVIEW的數字變頻FFT頻譜細化方法在工程實踐中有著重要的應用價值,可廣泛應用于汽車、飛機等運動目標的速度測量中。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • LabVIEW
    +關注

    關注

    1997

    文章

    3670

    瀏覽量

    334548
  • 虛擬儀器
    +關注

    關注

    23

    文章

    777

    瀏覽量

    87963
  • 頻率
    +關注

    關注

    4

    文章

    1560

    瀏覽量

    60204
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    FFT算法的FPGA實現

    在信號處理中,FFT占有很重要的位置,其運算時間影響整個系統的性能。傳統的實現方法速度很慢,難以滿足信號處理的實時性要求。針對這個問題,本文研究了基于FPGA芯片的FFT算法,把
    發表于 05-28 13:38

    Matlab關于FFT算法編程及原理詳細講解

    附件1是關于直接運行FFT工具箱進行頻譜分析,請大家可以參考對照,對理解FFT算法肯定有幫助!希望對大家有幫助!附件2是關于FFT
    發表于 11-14 11:25

    labview實現fft頻譜分析的程序

    求一個labview實現fft頻譜分析的程序
    發表于 11-25 17:48

    應用VHDL語言FFT算法實現

    應用VHDL語言FFT算法實現
    發表于 08-20 20:17

    求用LabVIEW實現的并行FFT算法源碼

    用C語言或者LabVIEW實現的并行FFT算法源碼和演示程序。
    發表于 10-14 02:18

    Zoomfft算法實現頻譜局部細化、提高測距精度)

    ))));axis([95,110,0,1500]);title('直接利用FFT變換后的頻譜');%-----------f1=100;%細化頻率段起點f2=110;%
    發表于 07-11 15:46

    嵌入式系統中怎么實現FFT算法

    目前國內有關數字信號處理的教材在講解快速傅里葉變換(FFT)時,都是以復數FFT為重點,實數FFT算法都是一筆帶過,書中給出的具體
    發表于 10-09 08:00

    怎么實現基于LabVIEW數字變頻FFT設計?

    數字變頻FFT的數學原理是什么?請問怎么實現數字變頻FFT
    發表于 05-12 06:09

    利用STM32 FFT算法計算THD

    利用STM32 FFT算法計算THD一、設備準備——>粵嵌STM32F429IGT6開發板1塊——>串口調試助手二、FFT算法意義使用
    發表于 08-12 06:57

    利用FFT IP Core實現FFT算法

    利用FFT IP Core實現FFT算法 摘要:結合工程實踐,介紹了一種利用
    發表于 01-16 10:04 ?7087次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>FFT</b> IP Core<b class='flag-5'>實現</b><b class='flag-5'>FFT</b><b class='flag-5'>算法</b>

    用C語言實現FFT算法

    用C語言實現FFT算法 /*****************fft programe*********************/#include "typedef.h" #inc
    發表于 10-30 13:39 ?6483次閱讀

    實數FFT算法的設計及其C語言實現

    首先分析實數FFT算法的推導過程,然后給出一種具體實現FFT算法的C語言程序,可以直接應用于需要
    發表于 01-13 11:32 ?1.1w次閱讀
    實數<b class='flag-5'>FFT</b><b class='flag-5'>算法</b>的設計及其C<b class='flag-5'>語言實現</b>

    labview FFT分析信號頻譜幅度譜和相位譜實例

    labview FFT分析信號頻譜幅度譜和相位譜簡單實例,
    發表于 02-28 16:45 ?357次下載

    利用FFT算法實現快速傅里葉變換

    簡 介: 利用FFT算法實現快速傅里葉變換, 在理論、工程中具有非常廣泛的應用。除了能夠在合適的計算平臺完成FFT
    的頭像 發表于 07-10 09:07 ?3708次閱讀

    什么是實時頻譜分析儀呢?傅里葉變換(FFT)如何實現頻譜測量?

    分析儀廣泛應用于無線通信、音頻處理、聲學研究等領域。 傅里葉變換(FFT)是實現頻譜測量的重要數學工具。FFT算法可以將時域信號轉換為頻域信
    的頭像 發表于 01-19 15:50 ?4042次閱讀