【課程設(shè)計(jì)】簡單語音處理系統(tǒng)設(shè)計(jì)_第1頁
已閱讀1頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  山 東 輕 工 業(yè) 學(xué) 院</p><p>  課 程 設(shè) 計(jì) 任 務(wù) 書</p><p>  學(xué)院 電子信息與控制工程學(xué)院 專業(yè) 通信工程 </p><p>  姓名 王光龍 班級(jí) 通信09-1 學(xué)號(hào)200902041017</p&g

2、t;<p>  題目 簡單語音處理系統(tǒng)設(shè)計(jì)</p><p><b>  主要內(nèi)容:</b></p><p>  在一個(gè)正常的聽覺過程中,聲波從外耳經(jīng)由中耳到達(dá)耳蝸,在那里聲信號(hào)被轉(zhuǎn)換成電脈沖并傳向大腦。大多數(shù)的嚴(yán)重聽力損傷病例都有耳蝸聲電轉(zhuǎn)換功能損壞這一問題存在。人工耳蝸起到了模擬和替代從外耳到內(nèi)耳的整體聽覺功能的作用。語音信

3、號(hào)處理器就是人工耳蝸的大腦。</p><p>  了解人工耳蝸中語音信號(hào)處理的原理,綜合運(yùn)用數(shù)字信號(hào)處理的理論知識(shí)進(jìn)行頻譜分析和濾波器設(shè)計(jì),模擬人工耳蝸中語音信號(hào)處理的過程對(duì)語音信號(hào)進(jìn)行處理,從而加深對(duì)所學(xué)知識(shí)的理解,建立概念。錄制一段語音信號(hào),確定采樣頻率;畫出采樣得到信號(hào)的時(shí)域波形和頻譜圖;給定濾波器的性能指標(biāo),采用窗函數(shù)法(或等波紋最佳逼近法)、雙線性變換法或其他設(shè)計(jì)方法設(shè)計(jì)一組濾波器,畫出濾波器的頻率響應(yīng)

4、;然后用設(shè)計(jì)的一組濾波器對(duì)采集的信號(hào)進(jìn)行濾波,放大(放大倍數(shù)由增益確定),檢測(cè)各路信號(hào)時(shí)域包絡(luò);然后將各路信號(hào)通過一定的方式疊加在一起,合成原信號(hào),繪制時(shí)域波形,頻譜,并進(jìn)行回放。</p><p><b>  基本要求</b></p><p> ?。?)掌握數(shù)字信號(hào)處理的基本概念、基本原理和基本方法;掌握DFT對(duì)模擬信號(hào)進(jìn)行頻譜分析的方法;確定系統(tǒng)的采樣頻率;掌握wi

5、ndows環(huán)境下進(jìn)行語音信號(hào)采集數(shù)據(jù)的方法;(2)掌握設(shè)計(jì)FIR和IIR數(shù)字濾波器的方法;FDATool工具的應(yīng)用;(3)設(shè)計(jì)出系統(tǒng)模塊圖,記錄仿真結(jié)果;(4)對(duì)結(jié)果進(jìn)行分析,寫出設(shè)計(jì)報(bào)告。</p><p><b>  主要參考資料</b></p><p>  [1]高西全,丁玉美. 數(shù)字信號(hào)處理(第三版). 西安電子科技大學(xué)出版社. 2009.01</p>

6、;<p>  [2]A.V.奧本海姆,R.W.謝弗. 離散時(shí)間數(shù)字信號(hào)處理.(第二版) . [3]胡廣書. 數(shù)字信號(hào)處理. 清華大學(xué)出版社.</p><p>  [4]語音信號(hào)處理方面、人工耳蝸方面的參考資料</p><p>  完成期限:自 2012 年 6 月 28 日至 2010 年 7 月 13 日</p><p

7、>  指導(dǎo)教師: 張凱麗 教研室主任: 孫寶江</p><p><b>  摘 要</b></p><p>  數(shù)字信號(hào)處理是一門以算法為核心、理論和實(shí)踐性較強(qiáng)的學(xué)科。是通信工程專業(yè)的一門重要的專業(yè)基礎(chǔ)課。為了鞏固所學(xué)的數(shù)字信號(hào)處理理論知識(shí), 理解信號(hào)的采集、處理、傳輸、顯示和存儲(chǔ)過程以及培養(yǎng)運(yùn)用專業(yè)基礎(chǔ)知識(shí),

8、解決實(shí)際工程技術(shù)問題的能力,本次課程設(shè)計(jì)要求設(shè)計(jì)一個(gè)基于MATLAB 的語音處理系統(tǒng)以實(shí)現(xiàn)對(duì)語音信號(hào)的濾波。濾波器按頻率劃分有低通、高通、帶通、帶阻、全通等類型。經(jīng)過濾波器處理后,不僅濾除掉了原信號(hào)的部分頻率分量,原信號(hào)的幅度也會(huì)有所衰減,通過對(duì)濾波前后各波形的比較,能更清楚的發(fā)現(xiàn)濾波器能濾除掉阻帶內(nèi)的頻率分量而保留通帶內(nèi)的頻率分量的作用。在這次設(shè)計(jì)中采用了雙線性變換法和窗函數(shù)法兩種方法設(shè)計(jì)濾波器,用這兩種方法設(shè)計(jì)的濾波器又分別采用了高

9、通、低通、帶通三種頻率特性實(shí)現(xiàn),從橫向上和縱向上都可以進(jìn)行對(duì)比,表現(xiàn)出各種濾波器的不同特性。</p><p>  關(guān)鍵詞 數(shù)字信號(hào)處理 濾波器 雙線性變換法 窗函數(shù)法</p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><p>  2

10、 設(shè)計(jì)目的及要求1</p><p>  2.1 課程設(shè)計(jì)目的1</p><p>  2.2 課程設(shè)計(jì)基本要求1</p><p>  3 課程設(shè)計(jì)的內(nèi)容2</p><p>  3.1 語音信號(hào)的采集2</p><p>  3.2 語音信號(hào)的頻譜分析2</p><p>  3.

11、3 設(shè)計(jì)數(shù)字濾波器和畫出其頻率響應(yīng)2</p><p>  3.4 用濾波器對(duì)信號(hào)進(jìn)行濾波2</p><p>  3.5 比較濾波前后語音信號(hào)的波形及頻譜2</p><p>  3.6 回放語音信號(hào)2</p><p>  3.7 設(shè)計(jì)系統(tǒng)界面2</p><p>  3.8 運(yùn)行結(jié)果和分析9<

12、/p><p><b>  總 結(jié)21</b></p><p>  參 考 文 獻(xiàn)23</p><p><b>  1 緒論</b></p><p>  數(shù)字信號(hào)處理(digital signal processing,DSP)是從20世紀(jì)60年代以來,隨著信息學(xué)科和計(jì)算機(jī)學(xué)科的高速發(fā)展而迅速發(fā)展

13、起來的一門新興學(xué)科。它的重要性日益在各個(gè)領(lǐng)域的應(yīng)用中表現(xiàn)出來。簡言之,數(shù)字信號(hào)處理是把信號(hào)用數(shù)字或符號(hào)表示的序列,通過計(jì)算機(jī)或通用(專用)信號(hào)處理設(shè)備,用數(shù)字的數(shù)值計(jì)算方法處理(例如濾波、變換、壓縮、增強(qiáng)、估計(jì)、識(shí)別等),以達(dá)到提取有用信息便于應(yīng)用的目的。數(shù)字信號(hào)處理的應(yīng)用包括濾波與變換、通信、語音、語言、圖像、圖形、消費(fèi)電子、儀器、工業(yè)控制與自動(dòng)化、醫(yī)療、軍事等。其發(fā)展方向也是多方面的,包括數(shù)字匯聚、遠(yuǎn)程會(huì)議系統(tǒng)、融合網(wǎng)絡(luò)、數(shù)字圖書館

14、、圖像與文本合一的信息檢索業(yè)務(wù)、多媒體通信、個(gè)人信息終端等。在本次設(shè)計(jì)中,就以設(shè)計(jì)一個(gè)數(shù)字濾波器系統(tǒng)為目的。</p><p>  2 設(shè)計(jì)目的及要求</p><p>  2.1 課程設(shè)計(jì)目的</p><p> ?。?) 鞏固所學(xué)的數(shù)字信號(hào)處理理論知識(shí), 理解信號(hào)的采集、處理、傳輸、顯示和存儲(chǔ)過程;</p><p>  (2) 綜合運(yùn)用專

15、業(yè)及基礎(chǔ)知識(shí),解決實(shí)際工程技術(shù)問題的能力;</p><p> ?。?) 學(xué)習(xí)資料的收集與整理,學(xué)會(huì)撰寫課程設(shè)計(jì)報(bào)告。</p><p>  2.2 課程設(shè)計(jì)基本要求</p><p> ?。?)錄制一段個(gè)人自己的語音信號(hào),并對(duì)錄制的信號(hào)進(jìn)行采樣;畫出采樣后語音信號(hào)的時(shí)域波形和頻譜圖;給定濾波器的性能指標(biāo), 采用窗函數(shù)法和雙線性變換設(shè)計(jì)濾波器, 并畫出濾波器的頻率響應(yīng)

16、;然后用自己設(shè)計(jì)的濾波器對(duì)采集的信號(hào)進(jìn)行濾波,畫出濾波后信號(hào)的時(shí)域波形和頻譜, 并對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)的變化;回放語音信號(hào);最后設(shè)計(jì)一個(gè)信號(hào)處理系統(tǒng)界面。</p><p> ?。?) 利用課余時(shí)間去圖書館或上網(wǎng)查閱課題相關(guān)資料,深入理解課題含義及設(shè)計(jì)要求,注意材料收集與整理;</p><p>  3 課程設(shè)計(jì)的內(nèi)容</p><p>  3.1 語音

17、信號(hào)的采集</p><p>  利用Windows下的錄音機(jī),錄制一段自己的話音,時(shí)間在1 s內(nèi)。然后在Matlab軟件平臺(tái)下,利用函數(shù)wavread對(duì)語音信號(hào)進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。通過wavread函數(shù)的使用,學(xué)生很快理解了采樣頻率、采樣位數(shù)等概念。</p><p>  3.2 語音信號(hào)的頻譜分析</p><p>  首先畫出語音信號(hào)的時(shí)域波形;然后

18、對(duì)語音號(hào)進(jìn)行快速傅里葉變換,得到信號(hào)的頻譜特性,從而加深學(xué)生對(duì)頻譜特性的理解。</p><p>  3.3 設(shè)計(jì)數(shù)字濾波器和畫出其頻率響應(yīng)</p><p>  給出各濾波器的性能指標(biāo):</p><p>  (1)低通濾波器性能指標(biāo)fb=1 000 Hz,fc=1 200 Hz,As=100 dB,Ap=1 dB。</p><p>  (2)

19、高通濾波器性能指標(biāo)fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB。</p><p>  (3)帶通濾波器性能指標(biāo)fb1=1 200 Hz,fb2=3 000 Hz,fc1=1 000 Hz,fc2=3 200 Hz,As=100 dB,Ap=1 dB。</p><p>  用窗函數(shù)法和雙線性變換法設(shè)計(jì)上面要求的3種濾波器。在Matlab中,可以利用函數(shù)f

20、ir1設(shè)計(jì)FIR濾波器,可以利用函數(shù)butte,cheby1和ellip設(shè)計(jì)IIR濾波器;利用Matlab中的函數(shù)freqz畫出各濾波器的頻率響應(yīng)。</p><p>  3.4 用濾波器對(duì)信號(hào)進(jìn)行濾波</p><p>  用自己設(shè)計(jì)的各濾波器分別對(duì)采集的信號(hào)進(jìn)行濾波,在Matlab中,F(xiàn)IR濾波器利用函數(shù)fftfilt對(duì)信號(hào)進(jìn)行濾波,IIR濾波器利用函數(shù)filter對(duì)信號(hào)進(jìn)行濾波。<

21、;/p><p>  3.5 比較濾波前后語音信號(hào)的波形及頻譜</p><p>  在一個(gè)窗口同時(shí)畫出濾波前后的波形及頻譜。</p><p>  3.6 回放語音信號(hào)</p><p>  在Matlab中,函數(shù)sound可以對(duì)聲音進(jìn)行回放。其調(diào)用格式:sound(x,fs,bits);可以感覺濾波前后的聲音有變化。</p><

22、;p>  3.7 設(shè)計(jì)系統(tǒng)界面</p><p>  為了簡化界面的設(shè)計(jì)過程,在這次課程設(shè)計(jì)中采用了MATLAB中的工具GUI。其設(shè)計(jì)過程為:</p><p> ?。?)打開GUI窗口:File → New → GUI → Create New GUI → Blank GUI(Default) →OK</p><p> ?。?)控件設(shè)計(jì):在控件布局設(shè)計(jì)區(qū)放置十

23、個(gè)Push Button控件</p><p>  (3)修改控件屬性:選中需要修改屬性的控件,雙擊打開屬性查看器</p><p> ?。?)保存:設(shè)置好各個(gè)控件的屬性,回到GUI主窗口保存,給文件命名為why,同時(shí)why.m文件打開。</p><p> ?。?)設(shè)置回調(diào)函數(shù):在why.m文件窗口中設(shè)置回函數(shù)。這里,雖然GUI自動(dòng)生成了回調(diào)函數(shù),但是回調(diào)函數(shù)是空的,需

24、要在why.m文件中對(duì)它進(jìn)行定義說明。該程序只需要對(duì)十個(gè)Push Button控件的回調(diào)函數(shù)進(jìn)行定義說明:</p><p>  function pushbutton1_Callback(hObject, eventdata, handles)</p><p>  x1=wavread('C:\Program Files\MatLab71\work\1.wav'); %讀取

25、原始信號(hào)</p><p>  figure(1); %繪制原始信號(hào)的波形</p><p>  plot(x1); </p><p>  title('原始信號(hào)的時(shí)域波形');</p><p>  xlabel('時(shí)間軸 n');</p><p>  ylabel('幅值 A

26、9;);</p><p>  function pushbutton2_Callback(hObject, eventdata, handles)</p><p>  x1=wavread('C:\Program Files\MatLab71\work\1.wav');</p><p><b>  fs=22052;</b>&l

27、t;/p><p>  f=fs*(0:511)/1024;</p><p>  y=fft(x1,1024);</p><p>  figure(2); %繪制原始信號(hào)的頻譜</p><p>  plot(f,abs(y(1:512)));</p><p>  title('原始信號(hào)的頻譜')</p&

28、gt;<p>  function pushbutton3_Callback(hObject, eventdata, handles)</p><p>  [x1,fs,bits]=wavread('C:\Program Files\MatLab71\work\1.wav');</p><p>  sound(x1,fs); %播放原始語音信號(hào)</p&g

29、t;<p>  function pushbutton4_Callback(hObject, eventdata, handles)</p><p>  fb=1000;fc=1200;As=100;Ap=1;fs=22050; % IIR低通濾波器</p><p>  x2=wavread('C:\Program Files\MatLab71\work\1.wav&

30、#39;);</p><p>  Ts=1/fs;R1=10;</p><p>  wp=2*pi*fb/fs;</p><p>  ws=2*pi*fc/fs;</p><p>  wp1=2/Ts*tan(wp/2);</p><p>  ws1=2/Ts*tan(ws/2); </p><p&

31、gt;  [N,Wn]=buttord(wp1,ws1,Ap,R1,'s'); </p><p>  [Z,P,K]=buttap(N); </p><p>  [Bap,Aap]=zp2tf(Z,P,K);</p><p>  [b,a]=lp2lp(Bap,Aap,Wn); </p><p>  [bz,az

32、]=bilinear(b,a,fs); </p><p>  [H,W]=freqz(bz,az); </p><p><b>  figure(1)</b></p><p>  plot(W*fs/(2*pi),abs(H))</p><p>  xlabel('頻率/Hz')</p>&

33、lt;p>  ylabel('頻率響應(yīng)幅度')</p><p>  title('IIR低通濾波器')</p><p>  f1=filter(bz,az,x2);</p><p><b>  figure(2)</b></p><p>  subplot(2,1,1)</p&

34、gt;<p>  plot(x2) </p><p>  title('IIR低通濾波器濾波前的時(shí)域波形');</p><p>  subplot(2,1,2)</p><p>  plot(f1); </p><p>  titl

35、e('IIR低通濾波器濾波后的時(shí)域波形');</p><p>  sound(f1,44100); </p><p>  F0=fft(f1,1024);</p><p>  f=fs*(0:511)/1024;</p><p><b>  figure(3)</b>

36、</p><p>  y2=fft(x2,1024);</p><p>  subplot(2,1,1);</p><p>  plot(f,abs(y2(1:512))); </p><p>  title('IIR低通濾波器濾波前的頻譜')</p><p>  xlabel(&

37、#39;頻率/Hz ');</p><p>  ylabel('幅值');</p><p>  subplot(2,1,2)</p><p>  F1=plot(f,abs(F0(1:512))); </p><p>  title(' IIR低通濾波器濾波前的頻譜')</p>

38、;<p>  xlabel('頻率/Hz ');</p><p>  ylabel('幅值');</p><p>  function pushbutton5_Callback(hObject, eventdata, handles) </p><p>  fs=22050; % IIR高通濾波器</p>

39、<p>  x1=wavread('C:\Program Files\MatLab71\work\1.wav');</p><p><b>  Fs=22050;</b></p><p>  Ts=1/Fs;R1=50;</p><p>  Wp=2*pi*5000/fs;</p><p>  

40、Ws=2*pi*4800/fs;</p><p><b>  Rp=1;</b></p><p><b>  Rl=100;</b></p><p>  Wp1=2/Ts*tan(Wp/2); </p><p>  Ws1=2/Ts*tan(Ws/2); </p&

41、gt;<p>  [N,Wn]=cheb2ord(Wp1,Ws1,Rp,Rl,'s'); </p><p>  [Z,P,K]=cheb2ap(N,Rl); </p><p>  [Bap,Aap]=zp2tf(Z,P,K);</p><p>  [b,a]=lp2hp(Bap,Aap,Wn); &

42、lt;/p><p>  [bz,az]=bilinear(b,a,Fs); </p><p>  [H,W]=freqz(bz,az); </p><p><b>  figure(1)</b></p><p>  plot(W*fs/(2*pi),abs(H))</

43、p><p><b>  grid</b></p><p>  xlabel('頻率/Hz ')</p><p>  ylabel('頻率響應(yīng)幅度')</p><p>  title('IIR高通濾波器')</p><p>  f1=filter(bz,a

44、z,x1);</p><p><b>  figure(2)</b></p><p>  subplot(2,1,1)</p><p>  plot(x1) </p><p>  title('IIR高通濾波器濾波前的時(shí)域波形');</p>&

45、lt;p>  subplot(2,1,2)</p><p>  plot(f1); </p><p>  title(' IIR高通濾波器濾波后的時(shí)域波形');</p><p>  sound(f1,44100); </p><p>  F0=f

46、ft(f1,1024);</p><p>  f=fs*(0:511)/1024;</p><p><b>  figure(3)</b></p><p>  y2=fft(x1,1024);</p><p>  subplot(2,1,1);</p><p>  plot(f,abs(y2(1:

47、512))); </p><p>  title('IIR高通濾波器濾波前的頻譜')</p><p>  xlabel('頻率/Hz');</p><p>  ylabel('幅值');</p><p>  subplot(2,1,2)</p><p>

48、;  plot(f,abs(F0(1:512))); </p><p>  title(' IIR高通濾波器濾波后的頻譜')</p><p>  xlabel('頻率/Hz ');</p><p>  ylabel('幅值');</p><p>  function pushbu

49、tton6_Callback(hObject, eventdata, handles) % IIR帶通濾波器</p><p>  fb1=1200,fb2=3000,fc1=1000,fc2=3200,As=100;Ap=1;fs=22050;</p><p><b>  Fs=22050;</b></p><p>  x1=wavread(&

50、#39;C:\Program Files\MatLab71\work\1.wav');</p><p>  Ts=1/fs;R1=30;</p><p>  W1=2*fb1*pi/fs;W2=2*fc1*pi/fs;</p><p>  W3=2*fb2*pi/fs;W4=2*fc2*pi/fs;</p><p>  Wb=[W1,

51、W3];</p><p>  Wc=[W2,W4];</p><p>  Wb1=2/Ts*tan(Wb/2); </p><p>  Wc1=2/Ts*tan(Wc/2); </p><p>  [N,Wn]=cheb2ord(Wb1,Wc1,Ap,R1,'s'); </p>

52、<p>  [Z,P,K]=cheb2ap(N,R1); </p><p>  [Bap,Aap]=zp2tf(Z,P,K);</p><p>  [b,a]=lp2bp(Bap,Aap,2100*2*pi,1800*2*pi); </p><p>  [bz,az]=bilinear(b,a,Fs);

53、 </p><p>  [H,W]=freqz(bz,az); </p><p><b>  figure(1)</b></p><p>  plot(W*fs/(2*pi),abs(H))</p><p><b>  grid</b></p><

54、p>  xlabel('頻率/Hz')</p><p>  ylabel('頻率響應(yīng)幅度')</p><p>  title(' IIR帶通濾波器')</p><p>  f1=filter(bz,az,x1);</p><p><b>  figure(2)</b>

55、</p><p>  subplot(2,1,1)</p><p>  plot(x1) </p><p>  title('IIR帶通濾波器濾波前的時(shí)域波形');</p><p>  subplot(2,1,2)</p><p>  plot(f1);

56、 </p><p>  title(' IIR帶通濾波器濾波前的時(shí)域波形');</p><p>  sound(f1,44100); </p><p>  F0=fft(f1,1024);</p><p>  f=fs*(0:511)/1024;</p&

57、gt;<p><b>  figure(3)</b></p><p>  y2=fft(x1,1024);</p><p>  subplot(2,1,1);</p><p>  plot(f,abs(y2(1:512))); </p><p>  title('IIR帶通濾波

58、器濾波前的頻譜')</p><p>  xlabel('頻率/Hz ');</p><p>  ylabel('幅值');</p><p>  subplot(2,1,2)</p><p>  plot(f,abs(F0(1:512))); </p><p>  

59、title('IIR帶通濾波器濾波前的頻譜')</p><p>  xlabel('頻率/Hz ');</p><p>  ylabel('幅值');</p><p>  function pushbutton7_Callback(hObject, eventdata, handles) %FIR低通濾波器</p

60、><p>  fb=1000;fc=1200;As=100;Ap=1;fs=22050;</p><p>  x1=wavread('C:\Program Files\MatLab71\work\1.wav');</p><p>  wc=2*pi*fc/fs; </p><p>  

61、wn=2*pi*(fc-fb)/fs; </p><p>  N=ceil((As-7.95)/(2.286*wn)); </p><p>  beta=0.1102*(As-8.7); </p><p>  Win=Kaiser(N+1,beta);

62、 </p><p>  b=fir1(N,wc/pi,'low',Win);</p><p>  figure(1);</p><p>  freqz(b,1,512);</p><p>  title(' FIR低通濾波器');</p><p>  f2=filter(b,1,x

63、1);</p><p><b>  figure(2)</b></p><p>  subplot(2,1,1)</p><p><b>  plot(x1)</b></p><p>  title('FIR低通濾波器濾波前的時(shí)域波形');</p><p> 

64、 subplot(2,1,2)</p><p><b>  plot(f2);</b></p><p>  title('FIR低通濾波器濾波后的時(shí)域波形');</p><p>  sound(f2,44100); </p><p>  F0=fft(f2,1024);

65、</p><p>  f=fs*(0:511)/1024;</p><p><b>  figure(3)</b></p><p>  y2=fft(x1,1024);</p><p>  subplot(2,1,1);</p><p>  plot(f,abs(y2(1:512)));</

66、p><p>  title('FIR低通濾波器濾波前的頻譜')</p><p>  xlabel('頻率/Hz ');</p><p>  ylabel('幅值');</p><p>  subplot(2,1,2)</p><p>  F2=plot(f,abs(F0(1:

67、512)));</p><p>  title(' FIR低通濾波器濾波后的頻譜')</p><p>  xlabel('頻率/Hz ');</p><p>  ylabel('幅值'); </p><p>  function pushbutton8_Callback(hObject, e

68、ventdata, handles) %FIR高通濾波器</p><p>  fc=4800;fb=5000;As=100;Ap=1;fs=22050;</p><p>  x1=wavread('C:\Program Files\MatLab71\work\1.wav');</p><p>  wc=2*pi*fc/fs; wb=2*pi*fb/

69、fs; </p><p><b>  wn=wb-wc;</b></p><p>  N=ceil((As-7.95)/(2.286*wn))+1; </p><p>  beta=0.1102*(As-8.7); </p><p>  Win=

70、Kaiser(N+1,beta); </p><p>  b=fir1(N,(fb+fc)/(2*fs),'high',Win);</p><p>  figure(1);</p><p>  freqz(b,1,512);</p><p>  title(' FIR高通濾波器'

71、;);</p><p>  f2=filter(b,1,x1);</p><p>  figure(2);</p><p>  subplot(2,1,1)</p><p><b>  plot(x1)</b></p><p>  title(' FIR高通濾波器濾波前的時(shí)域波形'

72、);</p><p>  subplot(2,1,2)</p><p><b>  plot(f2);</b></p><p>  title(' FIR高通濾波器濾波后的時(shí)域波形');</p><p>  sound(f2,44100); </p>&l

73、t;p>  F0=fft(f2,1024);</p><p>  f=fs*(0:511)/1024;</p><p><b>  figure(3)</b></p><p>  y2=fft(x1,1024);</p><p>  subplot(2,1,1);</p><p>  plo

74、t(f,abs(y2(1:512)));</p><p>  title(' FIR高通濾波器濾波前的頻譜')</p><p>  xlabel('頻率/Hz ');</p><p>  ylabel('幅值');</p><p>  subplot(2,1,2)</p><

75、p>  F2=plot(f,abs(F0(1:512)));</p><p>  title(' FIR高通濾波器濾波后的頻譜')</p><p>  xlabel('頻率/Hz ');</p><p>  ylabel('幅值');</p><p>  function pushbutt

76、on9_Callback(hObject, eventdata, handles) %FIR帶通濾波器</p><p>  fb1=1200,fb2=3000,fc1=1000,fc2=3200,As=100;Ap=1;fs=22050;</p><p>  x1=wavread('C:\Program Files\MatLab71\work\1.wav');</p&

77、gt;<p>  wb1=2*pi*fb1/fs;wb2=2*pi*fb2/fs;</p><p>  wc1=2*pi*fc1/fs;wc2=2*pi*fc2/fs;</p><p>  wc=pi*(fb1+fc1)/fs;wb=pi*(fb2+fc2)/fs;</p><p><b>  wn=wb-wc;</b></

78、p><p>  N=ceil((As-7.95)/(2.286*wn))+1;</p><p>  beta=0.1102*(As-8.7); </p><p>  Win=Kaiser(N,beta); </p><p>  b=fir1(N,[wc,wb]);</p>

79、<p>  figure(1);</p><p>  freqz(b,1,512);</p><p>  title(' FIR帶通濾波器');</p><p>  f2=filter(b,1,x1);</p><p><b>  figure(2)</b></p><p&

80、gt;  subplot(2,1,1)</p><p><b>  plot(x1)</b></p><p>  title(' FIR帶通濾波器濾波前的時(shí)域波形');</p><p>  subplot(2,1,2)</p><p><b>  plot(f2);</b></

81、p><p>  title(' FIR帶通濾波器濾波后的時(shí)域波形');</p><p>  sound(f2,44100); </p><p>  F0=fft(f2,1024); </p><p>  f=fs*(1:512)/1024;

82、 </p><p><b>  figure(3)</b></p><p>  y2=fft(x1,1024);</p><p>  subplot(2,1,1);</p><p>  plot(f,abs(y2(1:512))); </p><p>  ti

83、tle(' FIR帶通濾波器濾波前的頻譜')</p><p>  xlabel('頻率/Hz ');</p><p>  ylabel('幅值');</p><p>  subplot(2,1,2)</p><p>  plot(f,abs(F0(1:512))); <

84、;/p><p>  title(' FIR帶通濾波器濾波前的頻譜')</p><p>  xlabel('頻率/Hz ');</p><p>  ylabel('幅值');</p><p>  function pushbutton10_Callback(hObject, eventdata, ha

85、ndles) %結(jié)束</p><p><b>  close;</b></p><p>  (6) 保存修改后的why.m文件,單擊GUI主窗口工具欄中的“激活運(yùn)行”按鈕,在GUI界面中按下“原始信號(hào)”按鍵就可以看到原始信號(hào)的波形和頻譜,并播放原始信號(hào);選擇濾波器種類,就可以看到原信號(hào)經(jīng)過濾波器后的信號(hào)的波形與頻譜,并播放該信號(hào)。</p><p&

86、gt;  3.8 運(yùn)行結(jié)果和分析</p><p>  3.8.1 原始信號(hào)采樣后時(shí)域圖和頻譜圖:</p><p>  原始語音信號(hào)時(shí)域圖:</p><p><b>  圖1</b></p><p>  原始語音信號(hào)頻譜圖:</p><p><b>  圖2</b><

87、/p><p>  3.8.2 FIR濾波器及信號(hào)通過FIR濾波器后的時(shí)域、頻譜分析:</p><p> ?。?)FIR低通濾波器:</p><p><b>  圖3</b></p><p><b>  圖4</b></p><p><b>  圖5</b>

88、</p><p> ?。?)FIR高通濾波器:</p><p><b>  圖6</b></p><p><b>  圖7</b></p><p><b>  圖8</b></p><p><b>  FIR帶通濾波器:</b>&l

89、t;/p><p><b>  圖9</b></p><p><b>  圖10</b></p><p><b>  圖11</b></p><p>  3.8.3 IIR濾波器及信號(hào)通過IIR濾波器后的時(shí)域、頻譜分析:</p><p> ?。?)IIR低

90、通濾波器:</p><p><b>  圖12</b></p><p><b>  圖13</b></p><p><b>  圖14</b></p><p> ?。?)IIR高通濾波器:</p><p><b>  圖15</b>

91、</p><p><b>  圖16</b></p><p><b>  圖17</b></p><p> ?。?)IIR帶通濾波器:</p><p><b>  圖18</b></p><p><b>  圖19</b></

92、p><p><b>  圖20</b></p><p>  3.8.4 主程序圖:</p><p><b>  圖21</b></p><p>  3.8.5 結(jié)果分析:</p><p>  在圖1—圖21的波形圖和頻譜圖中可以看出,經(jīng)過濾波器處理后,不僅濾除掉了原信號(hào)的部分

93、頻率分量,原信號(hào)的幅度也會(huì)有所衰減,低通濾波器產(chǎn)生的信號(hào)相對(duì)于原信號(hào)變化不大,是因?yàn)樵O(shè)定的選頻范圍是原信號(hào)的頻率段中較集中的部分,與此同時(shí),高通和帶通濾波器產(chǎn)生的信號(hào)相對(duì)于原信號(hào)的幅度就會(huì)大大衰減,其原因也是在于高通和帶通濾波器的選頻范圍是原信號(hào)頻率范圍中較少的一部分。在信號(hào)回放時(shí),低通和帶阻濾波器回放的音頻信號(hào)與原信號(hào)相比,音色有一點(diǎn)低沉;而高通和帶通濾波器回放的音頻信號(hào),幾乎已經(jīng)聽不到什么聲音,這也說明了這兩種濾波器產(chǎn)生的信號(hào)頻率只

94、占原信號(hào)頻率范圍中較少的部分。所以根據(jù)各個(gè)濾波器的選頻范圍及濾波后信號(hào)的音效,可大致判斷原信號(hào)的頻率多集中在1000Hz以下。</p><p><b>  總 結(jié)</b></p><p>  這是我第一次用MATLAB來完成課程設(shè)計(jì),雖然之前我也學(xué)過MATLAB的操作,不過由于很久沒用過了,而且之前學(xué)得也不是很扎實(shí),因而現(xiàn)在運(yùn)用得不是很流暢,在設(shè)計(jì)過程中也遇到不少麻

95、煩。通過用MATLAB設(shè)計(jì)濾波器,加深了我對(duì)數(shù)字信號(hào)處理理論知識(shí),尤其是采樣頻率,頻譜特性和數(shù)字濾波器的設(shè)計(jì),更加認(rèn)識(shí)到了matlab在數(shù)字信號(hào)應(yīng)用中的重要作用。與此同時(shí),我深刻體會(huì)到了理論與實(shí)際相結(jié)合的重要性,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。</p><p>  總的來說,這次課程設(shè)計(jì)還是比較成功的,在設(shè)計(jì)中遇到了

96、很多問題,但在同學(xué)和書本的幫助下,都成功解決了,有點(diǎn)小小的成就感,終于覺得平時(shí)所學(xué)的知識(shí)有了實(shí)用的價(jià)值,達(dá)到了理論與實(shí)際相結(jié)合的目的,不僅學(xué)到了不少知識(shí),而且鍛煉了自己的能力,使自己對(duì)以后的路有了更加清楚的認(rèn)識(shí),同時(shí),對(duì)未來有了更多的信心。</p><p><b>  參 考 文 獻(xiàn)</b></p><p>  1、高西全,丁玉美.數(shù)字信號(hào)處理教程.西安電子科技大學(xué)出

97、版社,2008</p><p>  2、羅軍輝,羅勇江,白義臣.MATLAB在數(shù)字信號(hào)處理中的應(yīng)用.北京:機(jī)械工業(yè)出版社,2003</p><p>  3、劉波,文忠,曾涯.MATLAB信號(hào)處理.成都:電子工業(yè)出版社,2005</p><p>  4、劉泉,闕大順.數(shù)字信號(hào)處理原理與實(shí)現(xiàn).西安:電子工業(yè)出版社,2005</p><p>  5

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論