資源描述:
《dsp基于matlab的fft算法實(shí)現(xiàn)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、課程設(shè)計(jì)說明書目錄1摘要12設(shè)計(jì)目的和內(nèi)容23基2DIT-FFT算法33.1DIT-FFT算法的基本原理43.2DIT-FFT算法的運(yùn)算規(guī)律及編程思想43.3原位計(jì)算53.4倒序計(jì)算53.5蝶形運(yùn)算94MATLAB運(yùn)行界面圖124.1fs=1000;n=2000時的原始的語音信號時域圖124.1fs=1000;n=2000時的原始的語音信號頻域圖124.3原始語音信號FFT頻譜圖與原始語音信號自編FFT頻譜圖比較144.4原始語音信號FFT頻譜圖與原始語音信號自編FFT頻譜圖比較155設(shè)計(jì)總結(jié)16參考文獻(xiàn)19附
2、錄2020課程設(shè)計(jì)說明書1引言傅里葉變換在信號處理中具有十分重要的作用,但是基于離散時間的傅里葉變換具有很大的時間復(fù)雜度,根據(jù)傅里葉變換理論,對一個有限長度且長度為的離散信號,做傅里葉變換的時間復(fù)雜度為,當(dāng)很大時,其實(shí)現(xiàn)的時間是相當(dāng)驚人的(比如當(dāng)為時,其完成時間為(為計(jì)算機(jī)的時鐘周期)),故其實(shí)現(xiàn)難度是相當(dāng)大的,同時也嚴(yán)重制約了DFT在信號分析中的應(yīng)用,故需要提出一種快速的且有效的算法來實(shí)現(xiàn)。tt正是鑒于DFT極其復(fù)雜的時間復(fù)雜度,1965年和巧妙地利用因子的周期性和對稱性,提出了一個DFT的快速算法,即快速傅
3、里葉變換(FFT),從而使得DFT在信號處理中才得到真正的廣泛應(yīng)用。本文基于時間抽選奇偶分解,利用Matlab軟件實(shí)現(xiàn)快速傅里葉變換。基于所編的FFT源程序應(yīng)用的一個實(shí)例,本文對有限長度離散時間和連續(xù)時間信號進(jìn)行頻譜分析。DFT是一種應(yīng)用廣泛的數(shù)學(xué)變換工具,MATLAB是一款功能強(qiáng)大的科學(xué)計(jì)算語言。MATLAB提供的fft函數(shù)解決了DFT的快速計(jì)算問題,但由于它是內(nèi)建函數(shù)而不能了解到軟件實(shí)現(xiàn)的過程。文章以按時間抽取的基2FFT算法為例,根據(jù)快速傅里葉變換的原理和規(guī)律,繪出了算法實(shí)現(xiàn)的程序框圖,列出了MATLAB
4、環(huán)境下軟件實(shí)現(xiàn)的程序,建立了從算法理論到程序?qū)崿F(xiàn)的完整概念。在信號處理中,DFT(離散傅里葉變換)的計(jì)算具有舉足輕重的地位。但是基于其復(fù)雜的計(jì)算,直接應(yīng)用起來十分麻煩,基于此,本文利用Matlab軟件對有限長度信號的DFT進(jìn)行改進(jìn),提出FFT(快速傅里葉變換),并利用FFT對所給連續(xù)時間和離散時間信號做了頻譜分析。語音信號的處理與濾波的設(shè)計(jì)主要是用MATLAB作為工具平臺,設(shè)計(jì)中涉及到聲音的錄制、播放、存儲和讀取,語音信號的抽樣、頻譜分析,濾波器的設(shè)計(jì)及語音信號的濾波,通過數(shù)字信號處理課程的理論知識的綜合運(yùn)用。
5、從實(shí)踐上初步實(shí)現(xiàn)對數(shù)字信號的處理。20課程設(shè)計(jì)說明書2設(shè)計(jì)目的和內(nèi)容MATLAB全稱是MatrixLaboratory,是一種功能強(qiáng)大、效率高、交互性好的數(shù)值和可視化計(jì)算機(jī)高級語言,它將數(shù)值分析、矩陣運(yùn)算、信號處理和圖形顯示有機(jī)地融合為一體,形成了一個極其方便、用戶界面友好的操作環(huán)境。。經(jīng)過多年的發(fā)展,已經(jīng)發(fā)展成為一種功能全面的軟件,幾乎可以解決科學(xué)計(jì)算中所有問題。MATLAB軟件還提供了非常廣泛和靈活的用于處理數(shù)據(jù)集的數(shù)組運(yùn)算功能。綜合運(yùn)用本課程的理論知識進(jìn)行頻譜分析以及濾波器設(shè)計(jì),通過理論推導(dǎo)得出相應(yīng)結(jié)論,
6、并利用MATLAB作為工具進(jìn)行實(shí)現(xiàn),從而復(fù)習(xí)鞏固課堂所學(xué)的理這次課程設(shè)計(jì)的主要目的是綜合運(yùn)用本課程的理論知識進(jìn)行頻譜分析以及濾波器設(shè)計(jì),通過理論推導(dǎo)得出相應(yīng)結(jié)論,并利用MATLAB或者DSP開發(fā)系統(tǒng)作為工具進(jìn)行實(shí)現(xiàn),從而復(fù)習(xí)鞏固課堂所學(xué)的理論知識,提高對所學(xué)知識的綜合應(yīng)用能力,并從實(shí)踐上初步實(shí)現(xiàn)對數(shù)字信號的處理。通過對聲音的采樣,將聲音采樣后的頻譜與濾波。MATLAB全稱是MatrixLaboratory,是一種功能強(qiáng)大、效率高、交互性好的數(shù)值和可視化計(jì)算機(jī)高級語言,它將數(shù)值分析、矩陣運(yùn)算、信號處理和圖形顯示有
7、機(jī)地融合為一體,形成了一個極其方便、用戶界面友好的操作環(huán)境。。經(jīng)過多年的發(fā)展,已經(jīng)發(fā)展成為一種功能全面的軟件,幾乎可以解決科學(xué)計(jì)算中所有問題。MATLAB軟件還提供了非常廣泛和靈活的用于處理數(shù)據(jù)集的數(shù)組運(yùn)算功能。在本次課程設(shè)計(jì)中,主要通過MATLAB來編程對語音信號處理與濾波,設(shè)計(jì)濾波器來處理數(shù)字信號并對其進(jìn)行分析。通過理論推導(dǎo)得出相應(yīng)結(jié)論,并利用MATLAB或者DSP開發(fā)系統(tǒng)作為工具進(jìn)行實(shí)現(xiàn),從而復(fù)習(xí)鞏固課堂所學(xué)的理論知識,提高對所學(xué)知識的綜合應(yīng)用能力,并從實(shí)踐上初步實(shí)現(xiàn)對數(shù)字信號的處理。通過對聲音的采樣,將
8、聲音采樣后的頻譜與濾波。錄制一段個人自己的語音信號,并對錄制的信號進(jìn)行采樣;畫出采樣后語音信號的時域波形和頻譜圖;在Matlab環(huán)境下編寫基2DIT-FFT算法;利用自己編寫的算法對已采集的語音信號進(jìn)行頻譜分析,并畫出語音信號的時域與頻譜圖,并與Matlab數(shù)字信號處理工具箱中的fft函數(shù)進(jìn)行對比研究,驗(yàn)證自編算法的正確性。20課程設(shè)計(jì)說明書分析和處理音頻信號,首先要對聲音信號進(jìn)行采集