<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

FFT原理解析

jf_78858299 ? 來源:電路設計小工具 ? 作者:eTools361 ? 2023-05-04 17:51 ? 次閱讀

頻域分析原理

頻域分析最被大眾所熟知的可能是卡拉OK的音頻頻譜顯示,這里貼一個來自AVR單片機的項目 ,其中就用到了FFT來對語音信號進行分析:

視頻中橫坐標為頻率,縱坐標為功率,而且能夠實時的反映出語音的頻譜。

FFT是DFT(離散傅里葉變換)的加速算法,最早是由Cooley和Tukey在1965年提出 ,這里面用了很多的技巧,其方向是如何減小計算過程中所需要的乘法運算,另外FFT一次可以計算N個點,而且隨著N的增大,FFT優勢就會非常明顯。DFT復雜度(按乘法數量來計算)是 ,而FFT復雜度是 ,參考 .

這里簡單的理解下DFT,假設我們有一個待測數字序列A(A序列是以fs采樣的N點信號,采樣間隔為ts),假設此序列中暗含一個頻率為fa的正弦波信號,但是此暗含的信號幅度和相位我們并不知道是多少,現在我們的目標是求出此信號的的幅度和相位信息。

我們可以使用信號相關來解決此問題 ,構造2個頻率均為fa,幅度均為1的正弦和余弦序列B和C,然后用這兩個序列分別和A序列相乘,然后濾波,最后輸出的兩個信號就可以求出幅度和相位,假設A序列中含有非fa頻率的信號,相乘濾波后幅度為0,表示此序列中的非fa頻率信號都將被濾除,最后結果就只有和fa頻率相關信號被保留下來。

使用公式描述即:

A信號序列為:

B信號序列為:

C信號序列為:

則兩個輸出且濾波(信號求平均)后的結果是:

通過這兩個信號就可以求出X[i]中所含fa信號的幅度和相位:

式中,當i=N時,正弦信號和余弦信號相位需要是 的整數倍,這樣濾波器剛剛好將其他頻率的信號完全濾除掉,也就是說不會出現頻譜泄露,所以有: 將上式改寫如下: 若進行N點的DFT計算,只要滿足上式了,就可以保證在第k個頻率點出現信號,而不會在DFT中出現頻譜泄露問題。

程序驗證

1%--------------------------------------------------------------------------
 2% Edited by bbl
 3% Date: 2021-10-31(yyyy-mm-dd)
 4% FFT計算
 5%--------------------------------------------------------------------------
 6fa   = 200.1953125e6;     % 信號頻率,不出現頻譜混疊
 7% fa   = 200e6;             % 信號頻率,出現頻譜混疊
 8A0   = 1;                 % 信號幅度
 9fs   = 1e9;               % 采樣率
10Nfft = 1024;              % FFT點數
11wa   = 2*pi*fa;
12ts   = 1/fs;
13t    = 0:ts:ts*(Nfft-1);   % 構造時間序列
14Vn   = 1e-3*randn(1,Nfft); % 構造噪聲
15y    = A0*sin(wa*t)+Vn;    % 構造信號序列,加入了噪聲方便觀察
16X    = fft(y, Nfft);       % 計算FFT
17Amp  = 2*abs(X)/Nfft;      % 計算幅度
18Amp_log = 20*log10(Amp);   % 幅度轉換為dB
19f    = linspace(0, fs/2, Nfft/2+1)*1e-6;
20plot(f, Amp_log(1:Nfft/2+1), '-r', 'LineWidth', 1);
21grid on;
22ylim([-100,10]);
23ylabel('Amp/dBFS');
24xlabel('freq/MHz');
25title(sprintf('FFT, fs=%0.2fM Hz, fa=%0.8fM Hz', fs*1e-6,fa*1e-6));

仿真結果:

若將fa修改為200.1953125M,得到:

圖片

波形正常.

若將fa修改為200.0000000M,得到:

圖片

出現了頻譜混疊.

小程序實現

電路設計小工具中實現的是計算fa值,使得在FFT計算過程中不會出現頻譜泄露,當然也可以從給定輸出頻率計算出最接近的不會出現頻譜泄露問題的頻率點。本例中是輸入200MHz,查看最接近200MHz而不出現頻譜泄露的頻率點:

圖片

也可以計算一個Bin內的頻率帶寬:

圖片

當然,此小程序能顯示當前信號落在那個奈奎斯特區域:

圖片

表示fa信號落在第二奈奎斯特區域。

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

    關注

    6002

    文章

    43990

    瀏覽量

    621301
  • AVR
    AVR
    +關注

    關注

    11

    文章

    1122

    瀏覽量

    78100
  • 頻域分析
    +關注

    關注

    0

    文章

    20

    瀏覽量

    12695
收藏 人收藏

    評論

    相關推薦

    示波器的 FFT 功能怎么調?

    頻譜類型的選擇,可以選擇線或者分貝來作為幅值分別以V-Hz或dB-Hz被繪制在示波器顯示屏上。當FFT開啟的時候,可以看到水平軸的時基從時間變成了頻率,垂直軸單位變為V或者dB。頻譜類型下方是觸發源的選擇,這個比較好理解,要對哪個通道進行
    的頭像 發表于 03-19 18:04 ?784次閱讀
    示波器的 <b class='flag-5'>FFT</b> 功能怎么調?

    手機通信原理解析

    `手機通信原理解析:第 1 章    無線通信原理第2 章    移動通信系統第3 章    移動通信系統的多址接入技術第4 章    移動通信系統的語音編碼第5 章 GSM移動通信系統的數字
    發表于 12-14 14:31

    定位技術原理解析

    【追蹤嫌犯的利器】定位技術原理解析(4)
    發表于 05-04 12:20

    51單片機如何實現fft解析?

    需要對頻譜分析,對速度要求不高,用at89c51可以實現嗎,需要用哪種fft解析方法?
    發表于 10-24 07:10

    理解FFT重疊處理:實時頻譜分析儀基礎指南

    理解FFT重疊處理:實時頻譜分析儀基礎指南: 本基礎指南介紹了這一技術的分析優勢,另外還探討其工作原理,以及如何用它以前所未有的清晰度來最有效地觀察時變射頻信號。
    發表于 08-06 11:24 ?99次下載

    虛擬存儲器部件原理解析

    虛擬存儲器部件原理解析
    發表于 04-15 14:25 ?2928次閱讀

    電源設計小貼士:理解FFT

    您可以通過周期性地收集大量的ADC輸出轉換采樣來生成 FFT圖。一般而言,ADC廠商們將一種單音、滿量程模擬輸入信號用于其產品說明書的典型性能曲線。
    發表于 05-30 11:18 ?1014次閱讀
    電源設計小貼士:<b class='flag-5'>理解</b><b class='flag-5'>FFT</b>圖

    FFT頻譜分析

    理解FFT算法,學習信號處理的必備知識。
    發表于 10-28 17:00 ?0次下載

    觸摸屏的應用與工作原理解析

    觸摸屏的應用與工作原理解析
    發表于 02-08 02:13 ?38次下載

    FFT的分析和Xilinx FFT核的介紹

    fft輸入輸出解析。 輸入:fft要求輸入一個復數,但一般可以只輸入實數。 輸出:輸出一個復數,其模為信號強度。相位為波形相位。 設: 采樣頻率FS 轉換長度N 則: 分辨率為FS/N。 ‘量程
    發表于 02-08 15:15 ?1231次閱讀

    理解FFT和信號加窗原理及意義

    學習信號時域和頻域、快速傅立葉變換(FFT)、加窗,以及如何通過這些操作來加深對信號的認識。 1. 理解時域、頻域、FFT 傅立葉變換有助于理解常見的信號,以及如何辨別信號中的錯誤。
    發表于 11-16 18:07 ?19w次閱讀
    <b class='flag-5'>理解</b><b class='flag-5'>FFT</b>和信號加窗原理及意義

    史密斯圓圖和阻抗匹配原理解析

    史密斯圓圖和阻抗匹配原理解析
    的頭像 發表于 11-02 20:16 ?1672次閱讀

    什么是晶振 晶振工作原理解析

    什么是晶振 晶振工作原理解析
    的頭像 發表于 12-30 17:13 ?3842次閱讀
    什么是晶振 晶振工作原<b class='flag-5'>理解析</b>

    為什么會造成頻譜泄露?如何理解FFT中的頻譜泄露效應?

    為什么會造成頻譜泄露?如何理解FFT中的頻譜泄露效應?如何采用時間窗抑制頻譜泄露效應? 頻譜泄露是指在進行傅里葉變換時,信號的譜被非目標頻率“污染”的一種現象。它是由于傅里葉變換假設信號為周期信號
    的頭像 發表于 10-20 15:08 ?1428次閱讀

    如何理解FFT中的頻譜泄露效應?

    快速傅里葉變換(FFT)實現了時域到頻域的轉換,是信號分析中最常用的基本功能之一。FFT變換時,總是從離散數據中選取一部分處理,將其稱為一幀數據。而且FFT是在一定假設下完成的,即認為被處理的信號是周期信號。因此,
    的頭像 發表于 10-23 09:47 ?448次閱讀
    如何<b class='flag-5'>理解</b><b class='flag-5'>FFT</b>中的頻譜泄露效應?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>