<samp id="oa2xz"><ins id="oa2xz"><ruby id="oa2xz"></ruby></ins></samp>

<progress id="oa2xz"><nobr id="oa2xz"><dfn id="oa2xz"></dfn></nobr></progress>
    1. <samp id="oa2xz"></samp>
        1. <menuitem id="oa2xz"></menuitem>

          1. <progress id="oa2xz"></progress>

            1. <menuitem id="oa2xz"><strong id="oa2xz"></strong></menuitem>
              <samp id="oa2xz"></samp>

              <tbody id="oa2xz"><bdo id="oa2xz"></bdo></tbody>
            2. <progress id="oa2xz"><bdo id="oa2xz"><strong id="oa2xz"></strong></bdo></progress>
            3. 當前位置:首頁產品問答 │ DFT算法與FFT算法的優劣分析

              DFT算法與FFT算法的優劣分析

              • 瀏覽次數:34427次
              • 發布時間:2013/12/12 8:52:46
              • 作者:量值溯源

              概述

                在諧波分析儀中,我們常常提到的兩個詞語,就是DFT算法與FFT算法,那么一款功率分析儀/諧波分析儀采用DFT算法或者FFT算法,用戶往往關注的是能否達到所要分析諧波次數的目的,而并未考慮兩種算法之間有什么不同,采用相關算法的依據。下面就來介紹一下兩種算法的不同以及適用的一些場合。

                DFT算法,是連續傅里葉變換在時域和頻域上都離散的形式,將時域信號的采樣變換為在離散時間傅里葉變換頻域的采樣。

                FFT算法,是離散傅里葉變換的快速算法,它是根據離散傅里葉變換的奇、偶、虛、實等特性,對離散傅里葉變換的算法進行改進獲得的。它對傅氏變換的理論沒有新的算法發現,但是對于在計算機系統或者說數字系統中應用離散傅里葉變換,可以說進了一大步。

              DFT與FFT的比較

              01運算量

                一般來說,FFT比DFT運算量小得多,N點的FFT需要做(N/2)log2N次乘法運算,而N點DFT需要做N2次乘法運算,由此看來N點 DFT運算量大約是FFT的2N/log2N倍,例如對1 024點的變換,DFT大約是FFT的200倍。然而實際應用時存在下列情況:

                ① 實際應用時DFT中的乘法可以是實數和復數相乘,原因是輸入信號可以是實數,而FFT只能是復數和復數的乘法,原因是FFT是分級運算的,中間運算過程都是復數運算,由此來看DFT的運算量大約是FFT的Nlog2N倍,而不是2N/log2N倍;

                ② 實際應用時往往只關心整個頻譜中的某一部分,甚至是只關心某些個別頻點的譜線。DFT的特點是可按式(1)單獨計算某一部分的譜線,而直接進行 FFT的算法必須計算整個頻譜后才能得到需要的那一部分頻譜,實際上已造成了浪費。如果N點的變換中只關心其中的M個頻點或稱M條譜線,那么實際DFT的運算量大約是FFT的M/N?N/log2N倍,即Mlog2N倍.例如對1 024點的變換,只需關心10條譜線,那么直接用DFT和用FFT的運算量是相同的。因此,實際應用時DFT與FFT相比可能并沒有那么慢,甚至有可能比FFT快。

              02點數或采樣率的可選性

                對DFT來講,其變換點數可任意選定,如實際應用時采樣率已確定為1 000 Hz,如選變換點數為1 000點,那么每條譜線正好可落在整數頻點上。FFT的變換點數必須是有規律的,如基數為2算法的FFT其點數必須是2M,如1 024點、4 096點等。在實際應用時為分析方便,采樣率往往要定為變換點數的倍數,如2 048 Hz、8 192 Hz,以避免變換后的頻譜落在復雜的帶小數點的頻點上。因此實際應用時FFT在變換點數選擇或采樣率選擇上可能會帶來局限性。

              03實時性

                DFT運算可以用采一點后立即進行相乘、累加運算的方法,即可以采一點算一點,從采樣結束到DFT變換結束只需要一個點的運算時間。而FFT運算必須在全部點采集結束后才能開始進行計算,因此從某種角度講DFT的實時性優于FFT。

              04數據內存開銷

                對N點DFT來講,如只需其中的M個頻點,那么在計算時至少需2M個單元的數據內存,對N點FFT來講則至少需2N個單元的數據內存,另外現有的FFT程序一般需要將系數放在數據內存區,因此需另選N個單元的數據內存,故DFT有可能比FFT更節省數據內存。

              05程序的復雜性

                DFT計算程序非常簡單而且可以非常方便地在非DFT專用芯片上實現,而FFT程序較為復雜。

              06動態范圍或抗溢出性

                在定點運算的場合,DFT較FFT更容易實現多精度的運算, 例如在TI公司的16位定點DSP處理器中,采用的數據和系數為16位,而相乘并累加的結果可設為雙字節即32位,一般來講設計合理的話不會產生計算溢出的現象,免去了復雜的溢出控制,同時輸入輸出信號可保持較好的動態范圍,FFT在程序中有防溢出的措施,然而在定點運算的場合點數越多輸入信號的動態范圍越小。

              結論

                在某些具體的應用場合,DFT與它的快速算法FFT相比可能更有優勢,而FFT卻存在某些局限性。在只需要求出部分頻點的頻率譜線時DFT的運算時間大為減少,所需的數據內存量也大為減小。DFT與FFT相比還具有變換點數或采樣率選擇更靈活、實時性更好、更容易控制溢出和動態范圍、運算編程簡單、可方便地在非DSP芯片中編程實現等優點。因此在實際應用中可以從具體條件出發來比較、選擇DFT或FFT,而不應片面地由于FFT是所謂的DFT的快速算法而只選用FFT。

                另外FFT運算速度快,但是,對樣本序列的長度做出了要求,即要求樣本序列的數量必須是2的N次冪,正確的傅里葉變換,樣本序列應該是代表一個或整數個信號周期。對于固定頻率的交流電測量,可以使采樣頻率為信號頻率的M倍,且M=2^N。

                但是,對于變頻器輸出測量,如果測量前基波未知,那么,就無法同時滿足樣本數為2^N和整周期的要求。DFT運算速度遠遠低于FFT,但是,對樣本數沒有要求。基于變頻電量測量特殊性以及兩種算法的特點,湖南銀河電氣有限公司的WP4000變頻功率分析儀采用高性能的嵌入式微處理器,采用DFT算法進行諧波分析儀,由于強大的硬件支撐,在保證DFT算法運算量的同時,也兼顧了運算速度。這樣,對于被測對象的樣本序列長度要求低,處理起來更加靈活方便。

               


              Copyright 2010-2017 www.999kaikai.com, All Rights Reserved 湖南銀河電氣有限公司 版權所有 湘ICP備09002592號-5
              女人和拘做受a级毛片视频