快速傅里叶c51语言程序,快速傅里叶变换及其C程序
變換常常可以簡化問題的分析和求解過程。人們常會在這樣那樣的場合使用這一技巧。在科學研究的許多領域,人們發(fā)現(xiàn)傅里葉變換(FT)對于問題的求解和簡化特別有用。
傅里葉變換方法又稱為譜分析方法,具有普適性。例如線性系統(tǒng)輸出的傅里葉變換是輸入信號和系統(tǒng)響應函數(shù)傅里葉變換的乘積。天線的方向圖是其發(fā)射電流的傅里葉變換。在光學系統(tǒng)中,會聚透鏡的前焦和后焦面上的振幅分布存在傅里葉變換關系。一個隨機過程的功率譜密度由該過程的自相關函數(shù)的傅里葉變換確定。許多常微分方程和偏微分方程的解可利用傅里葉變換求得。這些截然不同領域的有關問題可以通過傅里葉變換聯(lián)系在一起。
傅里葉變換可以看作是時間域上的函數(shù)在頻率域上的表示。而且其傅里葉變換譜函數(shù)在頻率域中包含的信息和原時間域函數(shù)所包含的信息是等價的,不同的僅是信息的表述方式。譜分析方法的基本思想來源于經(jīng)典的Ritz-Galerkin方法。由于許許多多問題都可應用傅里葉變換,因此計算數(shù)學很自然地將傅里葉變換離散化產(chǎn)生所謂離散傅里葉變換(DFT),然后使用計算機求解。當然這時需要研究連續(xù)傅里葉變換和離散傅里葉變換的關系,需要研究離散傅里葉變換的性質(zhì)并尋求離散傅里葉變換好的快速計算方法。
在譜分析方法中,大多數(shù)情況下原函數(shù)不是局部支集的,所以譜函數(shù)在每一點上的值都與原函數(shù)在所有點上的值有聯(lián)系,因此由逼近方法導出的代數(shù)方程組中系數(shù)矩陣基本上是滿的,求解計算量太大。進一步分析發(fā)現(xiàn)求解一個N點數(shù)據(jù)離散傅里葉變換的復數(shù)乘法計算量正比于N2。為了減少離散誤差,必須取很大的N。但當N很大,即便使用高速計算機,其運算時間還是太長,是不可實現(xiàn)的。因此在相當長的時間內(nèi),傅里葉變換方法沒有得到應有的重視、發(fā)展和應用。
人們不懈地尋找減少離散傅里葉變換計算量的方法和技術。直至1965年,Cooley-Tukey發(fā)表的算法,才得到人們認同。人們稱之為“快速傅里葉變換(FFT)”方法。對于長度為N的復序列,它的復數(shù)乘法計算量為O(Nlog2N),因此計算量的節(jié)省是巨大的。更值得重視的是對于多維問題,其快速傅里葉變換復數(shù)乘法計算量并不按數(shù)據(jù)點數(shù)指數(shù)形式增加。例如對于N×N×N個點的三維離散傅里葉變換,數(shù)據(jù)點數(shù)為N3,其快速傅里葉變換復數(shù)乘法計算量為O(3N3log2N)=O(N3log2N3)。總之FFT算法有效地解決了傅里葉變換計算量太大的問題。FFT算法的出現(xiàn)使得傅里葉變換的研究和應用的面貌出現(xiàn)根本轉(zhuǎn)變。人們開始重新考慮它的優(yōu)點,越來越多地將它用于解決各種各樣的實際問題。例如在雷達、聲納、地震勘探、通信、醫(yī)療、氣象、射電天文學等領域FFT算法都得到了廣泛的應用。目前FFT算法仍處于蓬勃發(fā)展的狀態(tài),與之相應的計算數(shù)學的這個重要分支也處于迅速發(fā)展之中。
本書共分5章。第1章首先討論周期函數(shù)傅里葉級數(shù),傅里葉積分及其收斂性。以此為基礎討論傅里葉變換的定義和存在條件、傅里葉變換的實例、廣義函數(shù)的傅里葉變換。傅里葉變換的性質(zhì)、對稱關系和傅里葉變換的常用形式。
第2章首先介紹離散時間序列的傅里葉變換,進而討論離散傅里葉變換的定義和性質(zhì)。具體討論實序列的離散傅里葉變換的性質(zhì)、離散正弦變換和離散余弦變換,離散傅里葉級數(shù)及其最佳平方逼近。最后討論頻譜混疊和頻譜滲漏問題,給出連續(xù)和離散傅里葉變換之間的關系。
第3章討論離散傅里葉變換快速算法的基本原理,給出復序列基2算法及其相關程序。該算法和程序構(gòu)成本書FFT算法的核心和基礎。進而利用FFT程序給出了實序列的傅里葉變換、離散正弦變換、離散余弦變換,傅里葉級數(shù)、譜函數(shù)近似計算、功率譜估計等問題的快速算法和相關程序。
第4章討論一維卷積及其性質(zhì)和物理意義。離散卷積的定義,離散卷積定理,離散卷積和連續(xù)卷積的關系。給出利用FFT算法和程序求卷積和解卷積的快速算法和實用程序。本章還討論相關、離散相關和離散相關定理,并利用FFT算法和程序給出離散相關的快速算法和實用程序。
第5章主要討論多維傅里葉變換問題,給出二維、三維和n維傅里葉變換定義及其性質(zhì)。具體討論二維復序列2D-DFT的行列算法和二維實序列2D-DFT的行列算法、存儲技術及其相關程序。對于三維復序列的3D-DFT給出2D-DFT行列算法的一個推廣及其相關程序。對三維實序列3D-DFT給出了降維算法及其相關程序。這兩種3D-DFT的快速算法皆可方便地推廣應用于更高維的傅里葉變換的快速計算問題。
總之,本書給出了傅里葉變換的數(shù)學基礎,離散傅里葉變換和連續(xù)傅里葉變換的關系。各種和傅里葉變換相關問題的快速算法及其具體實現(xiàn)C語言程序。在編程中,一般將C語言程序分為兩部分,即一個包含主函數(shù)的文件和一個或幾個包含功能子函數(shù)的文件。主函數(shù)文件主要是設置參數(shù),提供初始數(shù)據(jù),調(diào)用功能子函數(shù)和輸出計算結(jié)果。讀者根據(jù)實際問題和需要,可參照書中的實例對主函數(shù)作必要的修改。功能子函數(shù)主要具體實現(xiàn)算法,可直接調(diào)用。本書程序皆用Visual C++6.0調(diào)試通過。由于例題計算結(jié)果的數(shù)據(jù)量太大,數(shù)據(jù)文件皆不收入本書。
本書由蔣長錦和電子科學與技術系2002級碩士生蔣勇合作完成。前者負責組稿和撰寫,后者完成程序的編制和調(diào)試。
作者感謝中國科學技術大學教務處、出版社、理學院和數(shù)學系等部門對本書編寫的關心和支持。感謝李洪梅、蔣智同志為排版付出的辛勤勞動。感謝夫人吳康平為保證作者全身心投入寫作作出的無私奉獻。
限于作者水平,本書難免仍存在不妥和錯誤,懇切希望讀者批評、指正和諒解。
作者
2004年6月于中國科學技術大學
總結(jié)
以上是生活随笔為你收集整理的快速傅里叶c51语言程序,快速傅里叶变换及其C程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CLC龍链:致力于打造基于区快链技术的全
- 下一篇: 前后端分离电商B2C模式之_后台_购物车