![練習(xí)設(shè)計(jì)要求和目的_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/5/187764bc-a90a-41c2-8691-20eb4d39a5a1/187764bc-a90a-41c2-8691-20eb4d39a5a11.gif)
![練習(xí)設(shè)計(jì)要求和目的_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/5/187764bc-a90a-41c2-8691-20eb4d39a5a1/187764bc-a90a-41c2-8691-20eb4d39a5a12.gif)
![練習(xí)設(shè)計(jì)要求和目的_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/5/187764bc-a90a-41c2-8691-20eb4d39a5a1/187764bc-a90a-41c2-8691-20eb4d39a5a13.gif)
![練習(xí)設(shè)計(jì)要求和目的_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/5/187764bc-a90a-41c2-8691-20eb4d39a5a1/187764bc-a90a-41c2-8691-20eb4d39a5a14.gif)
![練習(xí)設(shè)計(jì)要求和目的_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/5/187764bc-a90a-41c2-8691-20eb4d39a5a1/187764bc-a90a-41c2-8691-20eb4d39a5a15.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章 練習(xí)設(shè)計(jì)要求和目的1.1 練習(xí)設(shè)計(jì)要求1、編寫 FFT 程序, N 可以自己設(shè)置。輸入數(shù)據(jù)從 WAV 格式的音頻文件中 讀取。2、實(shí)現(xiàn)數(shù)字頻譜,以圖形的形式顯示。設(shè)計(jì)人機(jī)交互界面。3、與 Matlab 中的 fft 算法進(jìn)行比對(duì)研究,并對(duì)設(shè)計(jì)結(jié)果進(jìn)行思考和分析。4、分析編寫的 fft 算法的運(yùn)算時(shí)間,進(jìn)行實(shí)際值與估計(jì)值的比較。1.2 練習(xí)目的溫習(xí) DFT 算法原理和對(duì)基本性質(zhì)的理解, FFT 是 DFT 的一種快速算法,學(xué) 習(xí) FFT 程序結(jié)構(gòu)和編程方法。學(xué)習(xí) FFT 對(duì)語(yǔ)音信號(hào)的譜分析,了解可能出現(xiàn)的 分析誤差及其原因, 一遍在以后的應(yīng)用中正確應(yīng)用 FFT。將理論聯(lián)系應(yīng)用到實(shí)際, 為
2、接下來(lái)進(jìn)一步的學(xué)習(xí)打下基礎(chǔ)。第二章 FFT 算法實(shí)現(xiàn)原理2對(duì)于有限長(zhǎng)序列 x(n),求其 N 點(diǎn)的傅里葉變換( DFT )需要經(jīng)過(guò) N2 次復(fù)數(shù) 乘法運(yùn)算和 N*(N-1) 次復(fù)數(shù)加法運(yùn)算。隨著 N 的增加,運(yùn)算量將急劇增加,而在 實(shí)際問(wèn)題中, N 往往是較大的,如當(dāng) N=1024 時(shí),完成復(fù)數(shù)乘法和復(fù)數(shù)加法的次 數(shù)分別為百萬(wàn)以上,無(wú)論是用通用計(jì)算機(jī)還是用 DSP 芯片,都需要消耗大量的 時(shí)間和機(jī)器內(nèi)存,不能滿足實(shí)時(shí)的要求。因此, DFT 的這種運(yùn)算只能進(jìn)行理論 上的計(jì)算,不適合對(duì)實(shí)時(shí)處理要求高的場(chǎng)合。因此,研究作為 DSP 的快速算法 的 FFT 是相當(dāng)必要的,快速傅里葉變換( FFT )是
3、為提高 DFT 運(yùn)算速度而采用 的一種算法, 快速算法的種類很多, 而且目前仍在改進(jìn)和提高, 它是根據(jù)離散傅 里葉變換的奇、偶、虛、實(shí)等特性,對(duì)離散傅立葉變換的算法進(jìn)行改進(jìn)獲得的。 基于所學(xué)的 DIT-FFT 的運(yùn)算規(guī)律和編程思想以及在本科學(xué)習(xí)中對(duì) MATLAB 的學(xué) 習(xí)和使用,該練習(xí)在 MATLAB 環(huán)境下編寫基 2 DIT-FFT 算法實(shí)現(xiàn)對(duì)語(yǔ)音信號(hào)的 快速傅里葉變換, 再與 MATLAB 軟件自帶的 FFT 函數(shù)實(shí)現(xiàn)對(duì)語(yǔ)音信號(hào)的傅里葉 變換進(jìn)行比較, 如果得到的頻譜相同, 那么編寫的程序就是正確的。 其中輸入數(shù) 據(jù)從wav語(yǔ)音文件中獲取, 用MATLAB 采樣得到離散序列 x1。如果有能
4、力可以 選做系統(tǒng)人機(jī)對(duì)話界面。用 GUI 界面完成人機(jī)交互方便使用的。本課程設(shè)計(jì)主要是對(duì)數(shù)字信號(hào)的分析??焖俑道锶~變換( FFT)是為提高 DFT 運(yùn)算速度而采用的一種算法。對(duì)一個(gè)有限長(zhǎng)度序列 x(n)的 N 點(diǎn)的 DFT 為: X(k)=x(n)WknN (k=0,1,,N-1;n=0,1,,N-1;W=e-j2/N)。求出 N點(diǎn)的 DFT,需要 N2 次復(fù)數(shù)乘法運(yùn)算, N*(N-1) 次復(fù)數(shù)加法運(yùn)算。當(dāng) N 值較大時(shí),要完成的復(fù)數(shù)乘法 運(yùn)算和復(fù)數(shù)加法運(yùn)算得次數(shù)都非常多,無(wú)論是用通用計(jì)算機(jī)還是用 DSP 芯片, 都需要消耗大量的時(shí)間,不適合于對(duì)實(shí)時(shí)處理要求高的場(chǎng)合。為了能實(shí)時(shí)處理 DFT,要
5、想減少 DFT 的運(yùn)算量可以有兩個(gè)途徑:第一是降 N,N 的值減小了,運(yùn)算量就減少了;第二是利用旋轉(zhuǎn)因子的周期 性和對(duì)稱性,可約性。利用這兩個(gè)途徑實(shí)現(xiàn) DFT的快速傅里葉變換 (FFT),F(xiàn)FT 算法基本上可分為時(shí)域抽取法和頻域抽取法。W=e-j2 /N 的性質(zhì):(1)周期性WNkn WN(k N)n WNk(n N)(2)共軛對(duì)稱性WNkn WN( k)n* WNk( n) *(3)可約性WNkn WmmNkn ,WNkn WNkn/ /mm本程序是用基 2 的按時(shí)間抽取的 FFT 算法( DIT-FFT ),設(shè)序列 x(n)的長(zhǎng)度 為 N,且 N 滿足 N=2M,M 為正整數(shù)。若 N 不能
6、滿足上述關(guān)系, 可以將序列 x(n) 補(bǔ)零實(shí)現(xiàn)按時(shí)間抽取基 2-FFT 算法的基本思路是將 N 點(diǎn)序列按時(shí)間下標(biāo)的奇偶 分為兩個(gè) N/2 點(diǎn)序列,計(jì)算這兩個(gè) N/2 點(diǎn)序列的 N/2 點(diǎn) DFT,計(jì)算量可減小約 一半;每一個(gè) N/2 點(diǎn)序列按照同樣的劃分原則, 可以劃分為兩個(gè) N/4 點(diǎn)序列, 最 后,將原序列劃分為多個(gè) 2 點(diǎn)序列,將計(jì)算量大大降低。按時(shí)間下標(biāo)的奇偶將 N點(diǎn) x(n)分別抽取組成兩個(gè) N/2點(diǎn)序列,分別記為 x1(n) 和 x2(n),將 x(n) 的 DFT 轉(zhuǎn)化為 x1(n)和 x2(n)的 DFT 的計(jì)算。x(x2(r2r)1) x1x(r()r) , r 0,1, N
7、2 1x(2r 1) x2(r)2N1X k x n WNnkn0N 2 N 1 x n WNnkx nWNnkn 0,2,4.n 1,3,5.N1 N 1 22x 2r WN2rkx 2r 1 WN2r 1 kr 0,1r 0,1N 1N122x1 r WN2rkx2 r WN2r 1 kr 0,1 r 0,1利用系數(shù) WNnk 的可約性,即22 j N rk2 rk j N 2rk 2 rk W N e N e 2 WNN 1 N 122X kx1 r WNrk WNk x2 r WNrkX(1 k) WNk X(2 k), 0 k N 1用蝶形運(yùn)算可表式為:以此類推,還可以把 x1(n)
8、和 x2(n)按 n 值得奇偶分為兩個(gè)序列,這樣就達(dá)到 了降 N 得目的,從而減少了運(yùn)算量。FFT對(duì)DFT的數(shù)學(xué)運(yùn)算量改進(jìn):直接采用 DFT進(jìn)行計(jì)算,運(yùn)算量為 N2次 復(fù)數(shù)乘法和 N*(N-1) 次復(fù)數(shù)乘法。當(dāng)采用 M 次 FFT 時(shí),由 N=2M 求得 M=log 2N, 運(yùn)算流圖有 M 級(jí)蝶形,每一級(jí)都由 N/2 個(gè)蝶形運(yùn)算構(gòu)成,這樣每一級(jí)蝶形運(yùn)算 都需要 N/2 次復(fù)數(shù)乘法和 N 次復(fù)數(shù)加法。 M 級(jí)運(yùn)算共需要復(fù)數(shù)乘法次數(shù)為 C=N/2*M, 復(fù)數(shù)加法次數(shù)為 C=N*M 。當(dāng) N 值較大時(shí), FFT 減少運(yùn)算量的特點(diǎn)表 現(xiàn)的越明顯。第三章 設(shè)計(jì)具體內(nèi)容3.1 語(yǔ)音信號(hào)的讀取讀取 wav
9、文件的數(shù)據(jù)之后需要對(duì)語(yǔ)音信號(hào)進(jìn)行分析,如語(yǔ)音信號(hào)的時(shí)域分 析、頻譜分析、語(yǔ)譜圖分析。在 MATLAB 中,我們可以通過(guò) y,fs,bits=wavread( 語(yǔ)音信號(hào)路徑 ,N1 N2)語(yǔ)句。用于讀取語(yǔ)音, 采樣值放在向量 y中,fs表示采樣 頻率(Hz),bits表示采樣位數(shù)。 N1 N2表示讀取從 N1點(diǎn)到 N2點(diǎn)的值(若只有 一個(gè) N 的點(diǎn)則表示讀取前 N 點(diǎn)的采樣值)。向量 y 則就代表了一個(gè)信號(hào)(也即 一個(gè)復(fù)雜的 “函數(shù)表達(dá)式 ”)也就是說(shuō)可以像處理一個(gè)信號(hào)表達(dá)式一樣處理這個(gè)聲 音信號(hào)。3.2 語(yǔ)音信號(hào)的時(shí)頻分析利用 MATLAB 中的“wavread命”令來(lái)讀入(采集)語(yǔ)音信號(hào),
10、將它賦值給某 一向量。再對(duì)其進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。讀取 wav 文件并進(jìn)行采 樣:b,fs,bits=wavread( inter.wav ,1024); %讀取 wav 文件 x=reshape(b,1,2048);%從 x 中返回一個(gè) 1*2048 的矩陣 x1畫(huà)出語(yǔ)音信號(hào)的時(shí)域波形,再對(duì)語(yǔ)音信號(hào)進(jìn)行頻譜分析。 MATLAB 提供了 快速傅里葉變換算法 FFT 計(jì)算 DFT 的函數(shù) fft 。3.3 算法運(yùn)算時(shí)間分析 采用 matlab中的 tic 和 toc指令計(jì)算運(yùn)行時(shí)間。 tic,t=fft(x),toc/ 測(cè)試 FFT 子程序運(yùn)算所需時(shí)間 tic,t=myditfft(
11、x)/ 測(cè)試自編 fft 算法 myditfft 運(yùn)算時(shí)間 經(jīng)過(guò)測(cè)試, matlab自帶的 FFT 對(duì)該語(yǔ)音文件的運(yùn)算時(shí)間為3.4 設(shè)計(jì)圖形用戶界面如下圖所示:圖 3-1 設(shè)計(jì)圖形用戶界面在編程開(kāi)始前一定要按照順序?qū)⒏鱾€(gè)按鍵排序好, 不然在編程的時(shí)候會(huì)顯得 沒(méi)有條理。 想要在某個(gè)按鍵實(shí)現(xiàn)什么功能, 可在按鍵界面上鼠標(biāo)右擊按鍵, 點(diǎn)擊 view backs,在點(diǎn)擊 callback,然后會(huì)自動(dòng)跟蹤到那個(gè)按鍵的位置。第四章 調(diào)試與結(jié)果 自編算法與機(jī)帶算法仿真波形比較, 我們知道 MATLAB 軟件自帶 FFT 算法, 我們可以通過(guò)比較自編算法仿真結(jié)果與機(jī)帶算法仿真結(jié)果來(lái)檢驗(yàn)自編算法的正 確性。自編算法與 FFT算法幅值比較圖如圖 4-1 所示:圖 4-1 幅值比較圖自編算法 FFT 算法頻譜分貝計(jì)較圖如圖 7 所示:圖 4-2分貝比較圖由
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)空氣綜合治理超濃縮液數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)空調(diào)裝配生產(chǎn)線數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)三層減震墊鐵數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年度互聯(lián)網(wǎng)金融服務(wù)固定期限勞務(wù)派遣合同
- 2025年度醫(yī)療設(shè)備采購(gòu)與維修服務(wù)居間合同
- 2025年度吊車租賃合同范本(含設(shè)備更新及技術(shù)升級(jí))
- 2025年度國(guó)際貿(mào)易糾紛解決合同示范文本
- 2025年度建筑工程機(jī)械租賃及現(xiàn)場(chǎng)支持合同
- 2025年度天然氣管道運(yùn)輸合同能源審計(jì)及優(yōu)化建議合同
- 2025年度有機(jī)合成原料購(gòu)銷及技術(shù)服務(wù)合同范本
- 小學(xué)六年級(jí)數(shù)學(xué)上冊(cè)《簡(jiǎn)便計(jì)算》練習(xí)題(310題-附答案)
- 2024年河南省《輔警招聘考試必刷500題》考試題庫(kù)及答案【全優(yōu)】
- 安全隱患報(bào)告和舉報(bào)獎(jiǎng)勵(lì)制度
- 2024年中國(guó)養(yǎng)老產(chǎn)業(yè)商學(xué)研究報(bào)告-銀發(fā)經(jīng)濟(jì)專題
- 高教版2023年中職教科書(shū)《語(yǔ)文》(基礎(chǔ)模塊)下冊(cè)教案全冊(cè)
- 人教版英語(yǔ)七年級(jí)上冊(cè)閱讀理解專項(xiàng)訓(xùn)練16篇(含答案)
- 古樹(shù)名木保護(hù)建設(shè)項(xiàng)目可行性研究報(bào)告
- DB50-T 867.36-2022 安全生產(chǎn)技術(shù)規(guī)范+第36+部分:倉(cāng)儲(chǔ)企業(yè)
- 幼小銜接學(xué)拼音
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第九章運(yùn)動(dòng)技能學(xué)習(xí)概述
- 在全縣生豬生產(chǎn)統(tǒng)計(jì)監(jiān)測(cè)工作會(huì)議的講話范文(通用3篇)
評(píng)論
0/150
提交評(píng)論