RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FFT原理解析

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

頻域分析原理

頻域分析最被大眾所熟知的可能是卡拉OK的音頻頻譜顯示,這里貼一個(gè)來自AVR單片機(jī)的項(xiàng)目 ,其中就用到了FFT來對(duì)語音信號(hào)進(jìn)行分析:

視頻中橫坐標(biāo)為頻率,縱坐標(biāo)為功率,而且能夠?qū)崟r(shí)的反映出語音的頻譜。

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

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

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

使用公式描述即:

A信號(hào)序列為:

B信號(hào)序列為:

C信號(hào)序列為:

則兩個(gè)輸出且濾波(信號(hào)求平均)后的結(jié)果是:

通過這兩個(gè)信號(hào)就可以求出X[i]中所含fa信號(hào)的幅度和相位:

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

程序驗(yàn)證

1%--------------------------------------------------------------------------
 2% Edited by bbl
 3% Date: 2021-10-31(yyyy-mm-dd)
 4% FFT計(jì)算
 5%--------------------------------------------------------------------------
 6fa   = 200.1953125e6;     % 信號(hào)頻率,不出現(xiàn)頻譜混疊
 7% fa   = 200e6;             % 信號(hào)頻率,出現(xiàn)頻譜混疊
 8A0   = 1;                 % 信號(hào)幅度
 9fs   = 1e9;               % 采樣率
10Nfft = 1024;              % FFT點(diǎn)數(shù)
11wa   = 2*pi*fa;
12ts   = 1/fs;
13t    = 0:ts:ts*(Nfft-1);   % 構(gòu)造時(shí)間序列
14Vn   = 1e-3*randn(1,Nfft); % 構(gòu)造噪聲
15y    = A0*sin(wa*t)+Vn;    % 構(gòu)造信號(hào)序列,加入了噪聲方便觀察
16X    = fft(y, Nfft);       % 計(jì)算FFT
17Amp  = 2*abs(X)/Nfft;      % 計(jì)算幅度
18Amp_log = 20*log10(Amp);   % 幅度轉(zhuǎn)換為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));

仿真結(jié)果:

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

圖片

波形正常.

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

圖片

出現(xiàn)了頻譜混疊.

小程序?qū)崿F(xiàn)

電路設(shè)計(jì)小工具中實(shí)現(xiàn)的是計(jì)算fa值,使得在FFT計(jì)算過程中不會(huì)出現(xiàn)頻譜泄露,當(dāng)然也可以從給定輸出頻率計(jì)算出最接近的不會(huì)出現(xiàn)頻譜泄露問題的頻率點(diǎn)。本例中是輸入200MHz,查看最接近200MHz而不出現(xiàn)頻譜泄露的頻率點(diǎn):

圖片

也可以計(jì)算一個(gè)Bin內(nèi)的頻率帶寬:

圖片

當(dāng)然,此小程序能顯示當(dāng)前信號(hào)落在那個(gè)奈奎斯特區(qū)域:

圖片

表示fa信號(hào)落在第二奈奎斯特區(qū)域。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6035

    文章

    44554

    瀏覽量

    634621
  • AVR
    AVR
    +關(guān)注

    關(guān)注

    11

    文章

    1123

    瀏覽量

    78642
  • 頻域分析
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    12733
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    示波器的 FFT 功能怎么調(diào)?

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

    手機(jī)通信原理解析

    `手機(jī)通信原理解析:第 1 章    無線通信原理第2 章    移動(dòng)通信系統(tǒng)第3 章    移動(dòng)通信系統(tǒng)的多址接入技術(shù)第4 章    移動(dòng)通信系統(tǒng)的語音編碼第5 章 GSM移動(dòng)通信系統(tǒng)的數(shù)字
    發(fā)表于 12-14 14:31

    定位技術(shù)原理解析

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

    51單片機(jī)如何實(shí)現(xiàn)fft解析?

    需要對(duì)頻譜分析,對(duì)速度要求不高,用at89c51可以實(shí)現(xiàn)嗎,需要用哪種fft解析方法?
    發(fā)表于 10-24 07:10

    應(yīng)用FFT對(duì)信號(hào)進(jìn)行頻譜分析

    實(shí)驗(yàn) 應(yīng)用FFT對(duì)信號(hào)進(jìn)行頻譜分析一、 實(shí)驗(yàn)?zāi)康?、在理論學(xué)習(xí)的基礎(chǔ)上,通過本次實(shí)驗(yàn),加深對(duì)快速傅里葉變換的理解,熟悉FFT算法及其程序的編寫。2、熟悉
    發(fā)表于 05-10 10:00 ?64次下載

    虛擬存儲(chǔ)器部件原理解析

    虛擬存儲(chǔ)器部件原理解析
    發(fā)表于 04-15 14:25 ?3123次閱讀

    FFT頻譜分析

    理解FFT算法,學(xué)習(xí)信號(hào)處理的必備知識(shí)。
    發(fā)表于 10-28 17:00 ?0次下載

    觸摸屏的應(yīng)用與工作原理解析

    觸摸屏的應(yīng)用與工作原理解析
    發(fā)表于 02-08 02:13 ?38次下載

    FFT的分析和Xilinx FFT核的介紹

    fft輸入輸出解析。 輸入:fft要求輸入一個(gè)復(fù)數(shù),但一般可以只輸入實(shí)數(shù)。 輸出:輸出一個(gè)復(fù)數(shù),其模為信號(hào)強(qiáng)度。相位為波形相位。 設(shè): 采樣頻率FS 轉(zhuǎn)換長度N 則: 分辨率為FS/N。 ‘量程’為
    發(fā)表于 02-08 15:15 ?1337次閱讀

    理解FFT和信號(hào)加窗原理及意義

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

    怎么理解諧波分析(FFT)?

    隨著技術(shù)的發(fā)展,數(shù)據(jù)越來越多樣化,不再以單一的形式存在,例如一段錄音可被分解成若干種信息,而快速傅立葉變化(簡稱FFT)常常被應(yīng)用在數(shù)據(jù)的分解上,接下來我們講講FFT的原理。
    的頭像 發(fā)表于 04-01 11:01 ?1.1w次閱讀

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

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

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

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

    為什么會(huì)造成頻譜泄露?如何理解FFT中的頻譜泄露效應(yīng)?

    為什么會(huì)造成頻譜泄露?如何理解FFT中的頻譜泄露效應(yīng)?如何采用時(shí)間窗抑制頻譜泄露效應(yīng)? 頻譜泄露是指在進(jìn)行傅里葉變換時(shí),信號(hào)的譜被非目標(biāo)頻率“污染”的一種現(xiàn)象。它是由于傅里葉變換假設(shè)信號(hào)為周期信號(hào)
    的頭像 發(fā)表于 10-20 15:08 ?3705次閱讀

    如何理解FFT中的頻譜泄露效應(yīng)?

    快速傅里葉變換(FFT)實(shí)現(xiàn)了時(shí)域到頻域的轉(zhuǎn)換,是信號(hào)分析中最常用的基本功能之一。FFT變換時(shí),總是從離散數(shù)據(jù)中選取一部分處理,將其稱為一幀數(shù)據(jù)。而且FFT是在一定假設(shè)下完成的,即認(rèn)為被處理的信號(hào)是周期信號(hào)。因此,
    的頭像 發(fā)表于 10-23 09:47 ?987次閱讀
    如何<b class='flag-5'>理解</b><b class='flag-5'>FFT</b>中的頻譜泄露效應(yīng)?
    RM新时代网站-首页