課程設(shè)計(jì)(論文)基于matlab的fft算法設(shè)計(jì)_第1頁
課程設(shè)計(jì)(論文)基于matlab的fft算法設(shè)計(jì)_第2頁
課程設(shè)計(jì)(論文)基于matlab的fft算法設(shè)計(jì)_第3頁
課程設(shè)計(jì)(論文)基于matlab的fft算法設(shè)計(jì)_第4頁
課程設(shè)計(jì)(論文)基于matlab的fft算法設(shè)計(jì)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目目 錄錄 1 引言.1 2 課程設(shè)計(jì)內(nèi)容及要求.2 2.1 課程設(shè)計(jì)內(nèi)容 .2 2.2 課程設(shè)計(jì)要求 .2 2.3 課程設(shè)計(jì)目的 .2 2.3 課程設(shè)計(jì)平臺(tái).2 3 基于 matlab 的 fft 算法設(shè)計(jì)原理.3 3.1 總體設(shè)計(jì)流程圖 .3 3.2 語音信號(hào)的采集 .3 3.3 語音信號(hào)的時(shí)頻分析 .3 3.4 快速傅里葉變換 .6 3.4.1 fft的運(yùn)算規(guī)律.8 3.4.2 基于 matlab 的 fft 所編寫程序的框圖 .12 3.5 自編算法與機(jī)帶算法仿真波形比較 .13 4 設(shè)計(jì)總結(jié).16 參考文獻(xiàn).17 附錄.18 1 引言 隨著信息時(shí)代,數(shù)字時(shí)代的到來,數(shù)字信號(hào)處理已經(jīng)成

2、為一門極其重要的學(xué) 科和技術(shù)領(lǐng)域。以 dsp 為核心芯片的處理系統(tǒng)日益變成了數(shù)字信號(hào)處理系統(tǒng)的主 流。它廣泛用于電子信息、通信、圖像處理、語音處理、生物醫(yī)學(xué)、自動(dòng)控制、 地質(zhì)探測(cè)等領(lǐng)域,受到工程設(shè)計(jì)和使用人員的青睞。 matlab,它是美國 math works 公司推出的一種面向工程和科學(xué)計(jì)算的交互 式計(jì)算軟件。它以矩陣運(yùn)算為基礎(chǔ),把計(jì)算、可視化、程序設(shè)計(jì)融合在一個(gè)簡(jiǎn)單 易用的交互式工作環(huán)境中,是一款數(shù)據(jù)分析和處理功能都非常強(qiáng)大的工程適用軟 件。通過本次實(shí)習(xí)我們學(xué)會(huì)了分析和處理音頻信號(hào),首先要對(duì)聲音信號(hào)進(jìn)行采集, matlab 的數(shù)據(jù)采集工具箱提供了一整套命令和函數(shù),通過調(diào)用這些函數(shù)和命令,

3、 可直接控制聲卡進(jìn)行數(shù)據(jù)采集。window 自帶的錄音機(jī)程序也可驅(qū)動(dòng)聲卡來采集語 音信號(hào),并能保存為 wav 格式文件,供 matlab 相關(guān)函數(shù)直接讀取、寫入或播 放。 matlab 語言是一種數(shù)據(jù)分析和處理功能十分強(qiáng)大的計(jì)算機(jī)應(yīng)用軟件,它可 以將聲音文件變換位離散的數(shù)據(jù)文件,然后利用其強(qiáng)大的矩陣運(yùn)算能力處理數(shù)據(jù), 如數(shù)據(jù)濾波、傅立葉變換、時(shí)域和頻域分析、聲音回放以及各種圖的呈現(xiàn)等,它 的信號(hào)處理與分析工具箱位語音信號(hào)分析提供了十分豐富的功能函數(shù),利用這些 功能函數(shù)可以快捷而又方便的完成語音信號(hào)的處理和分析以及信號(hào)的可視化,是 人機(jī)交互更加便捷。信號(hào)處理是 matlab 重要應(yīng)用的領(lǐng)域之一。

4、 語音信號(hào)處理是研究用數(shù)字信號(hào)處理技術(shù)和語音學(xué)知識(shí)對(duì)語音信號(hào)進(jìn)行處理 的新興的學(xué)科,是目前發(fā)展最為迅速的信息科學(xué)研究領(lǐng)域的核心技術(shù)之一。通過 語音傳遞信息是人類最重要、最有效、最常用和最方便的交換信息形式。 語音信號(hào)的處理與濾波的設(shè)計(jì)主要是用 matlab 作為工具平臺(tái),設(shè)計(jì)中涉 及到聲音的錄制、播放、存儲(chǔ)和讀取,語音信號(hào)的抽樣、頻譜分析,濾波器的設(shè) 計(jì)及語音信號(hào)的濾波,通過數(shù)字信號(hào)處理課程的理論知識(shí)的綜合運(yùn)用。從實(shí)踐上 初步實(shí)現(xiàn)對(duì)數(shù)字信號(hào)的處理。 2 課程設(shè)計(jì)內(nèi)容及要求 2.1 課程設(shè)計(jì)內(nèi)容 錄制一段個(gè)人自己的語音信號(hào),并對(duì)錄制的信號(hào)進(jìn)行采樣;畫出采樣后語音 信號(hào)的時(shí)域波形和頻譜圖;在 ma

5、tlab 環(huán)境下編寫基 2 dit-fft 算法;利用自己編 寫的算法對(duì)已采集的語音信號(hào)進(jìn)行頻譜分析,并畫出語音信號(hào)的時(shí)域與頻譜圖, 并與 matlab 數(shù)字信號(hào)處理工具箱中的 fft 函數(shù)進(jìn)行對(duì)比研究,驗(yàn)證自編算法的正確 性。 2.2 課程設(shè)計(jì)要求 1.完成語音信號(hào)的采集,利用 windows 自帶的錄音機(jī)或其他軟件,錄制一段 語音,時(shí)間在 1s 以內(nèi); 2.在 matlab 中編寫程序,實(shí)現(xiàn)輸入信號(hào)的倒序; 3.編寫程序,實(shí)現(xiàn)蝶形運(yùn)算; 4.畫出語音信號(hào)的頻譜圖,與 matlab 數(shù)字信號(hào)處理工具箱中的 fft 函數(shù)進(jìn)行對(duì) 比研究,并對(duì)設(shè)計(jì)結(jié)果進(jìn)行獨(dú)立思考和分析; 2.3 課程設(shè)計(jì)目的 1

6、.學(xué)會(huì) matlab 的使用,掌握 matlab 的程序設(shè)計(jì)方法。 2.掌握在 windows 環(huán)境下語音信號(hào)采集的方法。 3.掌握數(shù)字信號(hào)處理的基本概念、基本理論和基本方法。 4.掌握 matlab 設(shè)計(jì) fir 和 iir 數(shù)字濾波器的方法。 5.學(xué)會(huì)用 matlab 對(duì)信號(hào)進(jìn)行分析和處理。 2.4 課程設(shè)計(jì)平臺(tái) matlab7.1 軟件 matlab 是由美國 mathworks 公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交 互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以 及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境 中,為科學(xué)研究、工程設(shè)計(jì)

7、以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一 種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語言(如 c、fortran)的編輯模式,代表了當(dāng)今國際科學(xué)計(jì)算軟件的先進(jìn)水平。 3 基于 matlab 的 fft 算法設(shè)計(jì)原理 3.1 總體設(shè)計(jì)流程圖 在一個(gè)相對(duì)較安靜的環(huán)境下,錄下 1s 左右的 wav 聲音信號(hào),然后對(duì)聲音進(jìn)行 采樣,畫出其時(shí)域波形和頻譜圖,其流程圖如圖 1 所示: 圖 1 設(shè)計(jì)流程圖 3.2 語音信號(hào)的采集 在實(shí)際工作中,我們可以利用 windows 自帶的錄音機(jī)錄制語音文件。采集到 語音信號(hào)之后,需要對(duì)語音信號(hào)進(jìn)行分析,如語音信號(hào)的時(shí)域分析、頻譜分析、 語譜圖分

8、析。在 matlab 中,我們可以通過y,fs,bits=wavread(語音信號(hào)路徑 ,n1 n2)語句。用于讀取語音,采樣值放在向量 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á)式”)也就是說可以像處理一個(gè)信號(hào)表達(dá)式一樣處理這個(gè)聲音信號(hào)。 3.3 語音信號(hào)的時(shí)頻分析 利用matlab中的“wavread”命令來讀入(采集)語音信號(hào),將它賦值給某一 開始 輸入聲音信號(hào) 對(duì)聲音信號(hào)采樣 蝶形運(yùn)算 原信號(hào) fft 運(yùn)算 結(jié)束

9、 向量。再對(duì)其進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。下面介紹wavread 函數(shù)幾種 調(diào)用格式。 1.y=wavread(file) 功能說明:讀取 file 所規(guī)定的 wav 文件,返回采樣值放在向量 y 中。 2.y,fs,nbits=wavread(file) 功能說明:采樣值放在向量 y 中,fs 表示采樣頻率(hz),nbits 表示采樣位 數(shù)。 3.y=wavread(file,n) 功能說明:讀取錢 n 點(diǎn)的采樣值放在向量 y 中。 4.y=wavread(file,n1,n2) 功能說明:讀取從 n1 到 n2 點(diǎn)的采樣值放在向量 y 中。 接下來,對(duì)語音信號(hào) speech off

10、.wav 進(jìn)行采樣。其程序如下: y,fs,nbits=wavered (speech off.wav); 功能說明:把語音信號(hào)加載入 matlab 仿真軟件平臺(tái)中 然后,畫出語音信號(hào)的時(shí)域波形,再對(duì)語音信號(hào)進(jìn)行頻譜分析。matlab 提供了 快速傅里葉變換算法 fft 計(jì)算 dft 的函數(shù) fft,其調(diào)用格式如下: xk=fft(xn,n) 參數(shù) xn 為被變換的時(shí)域序列向量,n 是 dft 變換區(qū)間長度,當(dāng) n 大于 xn 的長度 時(shí),fft 函數(shù)自動(dòng)在 xn 后面補(bǔ)零。,當(dāng) n 小于 xn 的長度時(shí),fft 函數(shù)計(jì)算 xn 的前 n 個(gè)元素,忽略其后面的元素。 原始信號(hào)的時(shí)域波形圖如圖

11、3 所示: 圖 3 原始信號(hào)的時(shí)域波形圖 原始信號(hào)的頻域特性圖如圖 4 所示: 圖 4 原始信號(hào)的頻域特性圖 3.4 快速傅里葉變換 快速傅里葉變換(fft)是為提高 dft 運(yùn)算速度而采用的一種算法。 對(duì)一個(gè)有限長度序列 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) 當(dāng) n=4 時(shí),x(k)可展開為: x(0)= x(0)w0*4+ x(1)w0*4 +x(2)w0*4+ x(3)w0*4 x(1)= x(0)w0*4+ x(1)w1*4 +x(2)w2*4+ x(3)w3*4 x(2)= x(0)w0*4+

12、x(1)w2*4 +x(2)w4*4+ x(3)w6*4 x(3)= x(0)w0*4+ x(1)w3*4 +x(2)w6*4+ x(3)w9*4 從上式可以看出,要求 4 點(diǎn)的 dft,需要 16 次的復(fù)數(shù)乘法運(yùn)算,12 次復(fù)數(shù)乘法運(yù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ù)都非 常多,無論是用通用計(jì)算機(jī)還是用 dsp 芯片,都需要消耗大量的時(shí)間,不適合于 對(duì)實(shí)時(shí)處理要求高的場(chǎng)合。為了能實(shí)時(shí)處理 dft,要想減少 dft 的運(yùn)算量可以有兩 個(gè)途徑:第一是降 n,n 的值減小

13、了,運(yùn)算量就減少了;第二是利用旋轉(zhuǎn)因子的 周期性和對(duì)稱性,可約性。利用這兩個(gè)途徑實(shí)現(xiàn) dft 的快速傅里葉變換(fft) , fft 算法基本上可分為時(shí)域抽取法和頻域抽取法。 w=e-j2/n 的性質(zhì): (1)周期性 (2)共軛對(duì)稱性 (3)可約性 本程序是用基 2 的按時(shí)間抽取的 fft 算法(dit-fft) ,設(shè)序列 x(n)的長度為 n,且 n 滿足 n=2m,m 為正整數(shù)。若 n 不能滿足上述關(guān)系,可以將序列 x(n)補(bǔ)零 實(shí)現(xiàn),則 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 分為奇數(shù)與偶數(shù)兩

14、部分。 按時(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ì)算量大大降低。 1. 按時(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ì)算。 )()(nnk n nnk n kn n www *)(*)( nk n nk n kn n w

15、ww mkn mn kn n mkn mn kn n wwww / / , 1 2 , 1 , 0, )() 12( )()2( 2 1 n r rxrx rxrx 1 n 0 21 nn 0,2,4.1,3,5. 11 22 212 nn 0,10,1 11 22 212 1n2n 0,10,1 221 n nk n nn nknk nn nn rkrk rr nn rkrk rr x kx n w x n wx n w xr wxrw x r wxr w 2 j 2 j2 2 2 2 ee rk n rk rkrk n nn ww 用蝶形運(yùn)算可表式為: 以此類推,還可以把 x1(n)和 x

16、2(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=logn,運(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)的越明顯。 3.4.1 fft 的運(yùn)算規(guī)律 (1)原位運(yùn)算 n=2m的f

17、ft共m級(jí)運(yùn)算,每級(jí)有n/2蝶形原位計(jì)算,當(dāng)數(shù)據(jù)輸入到存儲(chǔ)器 以后,每一組蝶形運(yùn)算后,結(jié)果仍然存放在這同一組存儲(chǔ)器的同一位置,不需要 另辟存儲(chǔ)空間,直接最后輸出。 同一級(jí)的蝶形運(yùn)算每個(gè)蝶形運(yùn)算的輸入數(shù)據(jù)對(duì)其他級(jí)輸入沒有影響。 (2)倒序運(yùn)算的規(guī)律 輸入序列先按自然順序存入存儲(chǔ)單元,然后經(jīng)變址運(yùn)算來實(shí)現(xiàn)倒位序排列,用 j 表示倒序的十進(jìn)制數(shù),對(duì) n=2m,m 位的二進(jìn)制數(shù)從左到右各位數(shù)權(quán)值位 n/2,n/4,n/82,1。因此,最高位加 1 相當(dāng)于 j+n/2。 .如果最高位為 0,則直接得到下一個(gè)倒序值,j+n/2; .如果最高位為 1,則最高位為 0(j-n/2),次高位加 1(j+n/4)

18、。 .以此類推,直到最后一位二進(jìn)制數(shù)字。 例如 ,n=8 時(shí)如下圖 5 所示: 11 22 12 22 00 12 , 01 nn rkkrk nnn rr k n x kx r wwxr w x kw xkn ()(k) 順序倒序 十進(jìn)制二進(jìn)制二進(jìn)制十進(jìn)制 00000000 10011004 20100102 30111106 41000011 51011015 61100113 71111117 圖 5 碼位倒序(n=8) 倒序的流程圖如圖 3 所示: 圖 3 倒序的流程圖 (3)蝶形運(yùn)算的運(yùn)算規(guī)律 設(shè)序列x(n)倒序后存放在數(shù)組a中,如果蝶形運(yùn)算兩個(gè)輸入相距b=2(l-1). lh=n/

19、2 n1=n-1 j=0 t=x(j+1) x(j+1)=x(i+1) x(i+1)=t i=0:n1 i=j k=lh jk j=j+k j=j-k k=k/2 y n y n 采用原位運(yùn)算:蝶形運(yùn)算可表示為: x(k)=x(k)+x(k+b)*wnp; x(k+b)=x(k)- x(k+b)*wnp.其中p=j*2(m-1),(j=0,1,2,3,2(l-1)-1) 旋轉(zhuǎn)因子的確定: 第l級(jí)共有2(l-1)個(gè)旋轉(zhuǎn)因子,以(n=23=8為例): l=1時(shí),w=w j=0; p n j l2 l=2時(shí),w=w j=0,1; p n j l2 l=3時(shí),w=w j=0,1,2,3; p n j

20、l2 w=w=w p=j*2(m-l),用來確定第l級(jí)旋轉(zhuǎn)因子 p n j l2 )(2*lmj n 從輸入端開始,共進(jìn)行 m 級(jí)運(yùn)算,在進(jìn)行第 l 級(jí)運(yùn)算時(shí),依次求出 2(l-1)個(gè) 旋轉(zhuǎn)因子,然后計(jì)算每個(gè)旋轉(zhuǎn)因子所對(duì)應(yīng)的 2(m-l)個(gè)蝶形元素。第 l 級(jí)的蝶形運(yùn) 算中,每個(gè)蝶形運(yùn)算的兩個(gè)輸入相距 b=2l-1,同一旋轉(zhuǎn)因子對(duì)應(yīng)的蝶形運(yùn)算相隔 2l 個(gè),同一旋轉(zhuǎn)因子對(duì)應(yīng)的蝶形運(yùn)算有 2m-l 個(gè)。 注:1:控制第 l 級(jí)順序運(yùn)算 2:控制不同種的旋轉(zhuǎn)因子 3:控制同種旋轉(zhuǎn)因子所對(duì)應(yīng)的蝶形運(yùn)算 蝶形運(yùn)算的流程圖如圖 4 所示: : 1 2 3 圖 4 蝶形運(yùn)算的流程圖 3.4.2 基于 ma

21、tlab 的 fft 所編寫程序的框圖 基于 matlab 的 fft 所編寫程序的框圖如圖 5 所示: 開始開始開始 j=0:b-1 n=2m b=2l/2 l=1:m 輸入 x(n) k=j+1:2l:n p=j*2(m-l) t=x(k)+x(k+b)* wnp x(k+b)=x(k)-x(k+b)* wnp x(k)=t 倒序 結(jié)束 輸出 圖 5 程序框圖 3.5 自編算法與機(jī)帶算法仿真波形比較 我們知道 matlab 軟件自帶 fft 算法,我們可以通過比較自編算法仿真結(jié)果與 機(jī)帶算法仿真結(jié)果來檢驗(yàn)自編算法的正確性。 自編算法與 fft 算法幅值比較圖如圖 6 所示: 語音信號(hào)采集

22、完 成 語 音 信 號(hào) 時(shí) 域 圖 完 成 語 音 信 號(hào) 頻 率 特 性 圖 編寫 fft 程序,畫出語音信號(hào) 頻譜圖 實(shí) 現(xiàn) 輸 入 信 號(hào) 的 倒 序 實(shí) 現(xiàn) 一 級(jí) 中 不 同 種 蝶 形 算 運(yùn) 實(shí) 現(xiàn) 一 級(jí) 中 相 同 種 蝶 形 運(yùn) 算 與 m atl ab 自 帶 的 fft 比 較 圖 6 幅值比較圖 自編算法 fft 算法頻譜分貝計(jì)較圖如圖 7 所示: 圖 7 分貝比較圖 由以上兩圖可以看出,經(jīng)過蝶形運(yùn)算得出的頻譜圖和信號(hào)直接 fft 得出的頻 譜圖一致。該程序嚴(yán)格按程序框圖編寫,思路清晰、容易理解,程序的運(yùn)行過程 在命令窗中一目了然。通過與 fft 函數(shù)運(yùn)算的結(jié)果比對(duì),

23、程序編寫正確。 4 設(shè)計(jì)總結(jié) 為期四天的課設(shè)很快接近尾聲了,基于 matlab 的 fft 算法實(shí)現(xiàn)設(shè)計(jì)已按計(jì)劃 如期全部完成,通過這次 dsp 課程設(shè)計(jì),我對(duì)課堂上所學(xué)到的理論知識(shí)的理解加 深了許多, 自己動(dòng)腦、動(dòng)手設(shè)計(jì)的能力也得到了較大提高。在這次課程設(shè)計(jì)的過 程中,我對(duì) matlab 語言有了更深的認(rèn)識(shí)?,F(xiàn)在仔細(xì)想想,這次課程設(shè)計(jì)使得我 對(duì) matlab 語言的理解與應(yīng)用能力得到了較大的提升,也讓我認(rèn)識(shí)到只要深入學(xué) 習(xí),提升的空間永遠(yuǎn)是存在的。在設(shè)計(jì)的過程中我遇到了一些問題,如:編寫源 程序中出現(xiàn)了語法錯(cuò)誤等。通過查閱書本和以前設(shè)計(jì)的程序我發(fā)現(xiàn)了產(chǎn)生錯(cuò)誤的 原因并解決了問題完成了設(shè)計(jì)。經(jīng)

24、過反思我發(fā)現(xiàn)較大一部分錯(cuò)誤是因?yàn)椴僮鞯牟?熟練造成的,這也讓我明白了要保持設(shè)計(jì)的高效率 必須經(jīng)常練習(xí)。另一方面我也 發(fā)現(xiàn)了動(dòng)手實(shí)踐的重要性。動(dòng)手實(shí)踐是理論知識(shí)得以靈活運(yùn)用的必要前提,也是 今后走上工作崗位之后能夠很好的完成設(shè)計(jì)工作的技術(shù)保證。只有遇到實(shí)際問題 并根據(jù)自己對(duì)課堂上獲得的專業(yè)知識(shí)的理解來解決才能真正的提高自己的能力。 這次程序設(shè)計(jì)讓我獲益匪淺,對(duì) matlab 也有了進(jìn)一步的認(rèn)識(shí):matlab 功能強(qiáng)、 使用靈活方便等。matlab 是在國內(nèi)外廣泛使用的一種數(shù)字信號(hào)處理系統(tǒng),相信除 了以上優(yōu)點(diǎn),還有許多我還未發(fā)現(xiàn),希望能在以后的學(xué)習(xí)中有更深入的認(rèn)識(shí)。 在此,我也要感謝一下董翠英老師

25、對(duì)我這次課設(shè)的大力支持和指導(dǎo),如果沒 有老師的幫助我很難在這么短的時(shí)間內(nèi)完成這次課設(shè)。 參考文獻(xiàn) 1范壽康 dsp 技術(shù)與 dsp 芯片.北京:電子工業(yè)出版社 2程佩青.數(shù)字信號(hào)處理教程.北京:清華大學(xué)出版社出版,2001 3高西全 丁玉美等 數(shù)字信號(hào)處理. 北京:電子工業(yè)出版社,2009 4 余成波,陶紅艷。數(shù)字信號(hào)處理及 matlab 實(shí)現(xiàn),北京:清華大學(xué)出版社, 2008 5 曹弋,趙陽。matlab 實(shí)用教程,北京:電子工業(yè)出版社,2007 附錄 源程序: clear all; x,fs,bits=wavread(gl.wav,2048); %讀取聲音 x1=reshape(x,1,4

26、096); sound(x1,fs,bits); %播放語音信號(hào) y1=fft(x1) n=length(x1); %計(jì)數(shù)讀取信號(hào)的點(diǎn)數(shù) t=(1:n)/fs; %信號(hào)的時(shí)域采樣點(diǎn) figure(1) plot(t, x1); %畫出聲音采樣后的時(shí)域波形 title(原聲音信號(hào)的時(shí)域波形); %給圖形加注標(biāo)簽說明 xlabel(時(shí)間/t); ylabel(振幅/a); grid ; %添加網(wǎng)格 m=nextpow2(x1); % 求 x 的長度對(duì)應(yīng)的 2 的最低冪次 m n=2m; if length(x1)n x1=x1,zeros(1,n-length(x1); % 若 x 的長度不是 2 的冪,補(bǔ)零到 2 的整數(shù)冪 end nv2=n/2; nm1=n-1; i=0; j=0; while inm1 if ij t=x1(j+1); x1(j+1)=x1(i+1); x1(i+1)=t; end k=nv2; while k=j j=j-k; k=k/2; end j=j+k; i=i+1; end %x1; y=x1;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論