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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

11、3 設(shè)計數(shù)字濾波器和畫出其頻率響應(yīng)2</p><p>  3.4 用濾波器對信號進(jìn)行濾波2</p><p>  3.5 比較濾波前后語音信號的波形及頻譜2</p><p>  3.6 回放語音信號2</p><p>  3.7 設(shè)計系統(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ù)字信號處理(digital signal processing,DSP)是從20世紀(jì)60年代以來,隨著信息學(xué)科和計算機(jī)學(xué)科的高速發(fā)展而迅速發(fā)展

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

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

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

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

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

18、對語音號進(jìn)行快速傅里葉變換,得到信號的頻譜特性,從而加深學(xué)生對頻譜特性的理解。</p><p>  3.3 設(shè)計數(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è)計上面要求的3種濾波器。在Matlab中,可以利用函數(shù)f

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

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

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

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

24、要在why.m文件中對它進(jìn)行定義說明。該程序只需要對十個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、原始信號</p><p>  figure(1); %繪制原始信號的波形</p><p>  plot(x1); </p><p>  title('原始信號的時域波形');</p><p>  xlabel('時間軸 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); %繪制原始信號的頻譜</p><p>  plot(f,abs(y(1:512)));</p><p>  title('原始信號的頻譜')</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); %播放原始語音信號</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低通濾波器濾波前的時域波形');</p><p>  subplot(2,1,2)</p><p>  plot(f1); </p><p>  titl

35、e('IIR低通濾波器濾波后的時域波形');</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高通濾波器濾波前的時域波形');</p>&

45、lt;p>  subplot(2,1,2)</p><p>  plot(f1); </p><p>  title(' IIR高通濾波器濾波后的時域波形');</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帶通濾波器濾波前的時域波形');</p><p>  subplot(2,1,2)</p><p>  plot(f1);

56、 </p><p>  title(' IIR帶通濾波器濾波前的時域波形');</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低通濾波器濾波前的時域波形');</p><p> 

64、 subplot(2,1,2)</p><p><b>  plot(f2);</b></p><p>  title('FIR低通濾波器濾波后的時域波形');</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高通濾波器濾波前的時域波形'

72、);</p><p>  subplot(2,1,2)</p><p><b>  plot(f2);</b></p><p>  title(' FIR高通濾波器濾波后的時域波形');</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帶通濾波器濾波前的時域波形');</p><p>  subplot(2,1,2)</p><p><b>  plot(f2);</b></

81、p><p>  title(' FIR帶通濾波器濾波后的時域波形');</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界面中按下“原始信號”按鍵就可以看到原始信號的波形和頻譜,并播放原始信號;選擇濾波器種類,就可以看到原信號經(jīng)過濾波器后的信號的波形與頻譜,并播放該信號。</p><p&

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

87、/p><p>  3.8.2 FIR濾波器及信號通過FIR濾波器后的時域、頻譜分析:</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濾波器及信號通過IIR濾波器后的時域、頻譜分析:</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>  (3)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)過濾波器處理后,不僅濾除掉了原信號的部分

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論