第一篇:數(shù)字信號處理實習感想
數(shù)字圖像處理個人體會
這次實習讓我學會了如何用MATLAB語句來實現(xiàn)一些功能,雖然用起來還不是很熟練,但收獲不少。最重要的一點是讓我對圖像處理的原理有了更深一層的理解。
此次實習的主要任務(wù)是用MATLAB創(chuàng)建一個軟件平臺,在該平臺上設(shè)定好數(shù)字圖像處理的一些相關(guān)功能。這些功能包括數(shù)字圖像處理中所學到的各種處理圖像的方法,我們將它們劃分為四個模塊:1)圖像增強與恢復;2)彩色圖像處理;3)形態(tài)學圖像處理;4)圖像提取與分割。這些基本的圖像處理方法都可以用我們學過的MATLAB語句來實現(xiàn),只需要設(shè)計好版面,并處理好軟件的細節(jié)功能就可以了。之后我們就分配任務(wù),每個人做兩個模塊,我負責的是圖形增強與恢復和圖像提取與分割兩個部分。剛開始的時候由于我對MATLAB語言的不熟練,所以還不能很容易地就把每個函數(shù)建立起來,不過經(jīng)過了一段實際操作后,只要明白了圖像處理的方法做起來都很順手了!
我們完成了數(shù)字圖像處理軟件的功能后,并沒有滿足,還拓展了一些功能,比如說圖像的打開和保存,對于一些有影響到處理效果的參數(shù)還設(shè)置了輸入框。此外,有些軟件總是會存在很多的漏洞,像是圖像處理完后下一次打開原圖像部分還會出現(xiàn)上一次處理的圖像之類的種種問題。在老師的指導和幫助下,我們也都將之逐一地完善了。
在實習過程中,我們并沒有很嚴格的計劃工作時間,但整體效率還是很高的,相對于別的組來說,我們完成得算比較快的。當然,這主要歸功于我們組的另外一位很會查資料,所以就算再棘手的問題也總是能很快就被解決。而我比較擅長的就是版面設(shè)計,做一二界面需要的時間很短,我們在做這個軟件的過程中沒有因為分工爭吵,一切都進行得很順利!
實習初期我們遇到了很多困難,便會有種不知所措的感覺,不過在接下去的實習過程中,困難總是會被一一克服,原本頭痛的問題最后都會給我們新的收獲。做完這個數(shù)字圖像處理的實習,不僅僅讓我對本學期學過的圖像處理方法的原理了解得更透徹了,而且對MATLAB的操作也變得更加熟練。除此之外,我們還在實習的最后學會了怎樣在MATLAB中打包文件,這個方法弄明白了就很簡單了,不明白的時候就覺得很復雜。就跟我們每次做實習的時候是一個道理,每次還沒開始做的時候,總是會感到很有壓力,對于自己不了解的東西總是會存在恐懼,但是經(jīng)過一段時間的思考和認識后,就會突然頓悟到其實它并沒有想象中的困難。或許這就是學習的精神吧!
最后,我們要感謝院里給我們提供了這次實習的機會,感謝黃忠朝老師和玉罡老師指導我們完成了這次實習。希望以后每一次實習都可以學到更多更有用的知識。
第二篇:數(shù)字信號處理課程設(shè)計..
課程設(shè)計報告
課程名稱: 數(shù)字信號處理 課題名稱: 語音信號的處理與濾波
姓 名: 學 號: 院 系: 專業(yè)班級: 指導教師: 完成日期: 2013年7月2日
目錄
第1部分 課程設(shè)計報告………………………………………3 一.設(shè)計目的……………………………………………3 二.設(shè)計內(nèi)容……………………………………………3 三.設(shè)計原理……………………………………………3 四.具體實現(xiàn)……………………………………………5 1.錄制一段聲音…………………………………5 2.巴特沃斯濾波器的設(shè)計………………………8 3.將聲音信號送入濾波器濾波…………………13 4.語音信號的回放………………………………19 5.男女語音信號的頻譜分析……………………19 6.噪聲的疊加和濾除……………………………22 五. 結(jié)果分析……………………………………………27 第2部分 課程設(shè)計總結(jié)………………………………28 一. 參考文獻……………………………………………28
第1部分 課程設(shè)計報告
一.設(shè)計目的
綜合運用本課程的理論知識進行頻譜分析以及濾波器設(shè)計,通過理論推導得出相應(yīng)結(jié)論,并利用MATLAB作為工具進行實現(xiàn),從而復習鞏固課堂所學的理論知識,提高對所學知識的綜合應(yīng)用能力,并從實踐上初步實現(xiàn)對數(shù)字信號的處理。
二.設(shè)計內(nèi)容
錄制一段個人自己的語音信號,并對錄制的信號進行采樣;畫出采樣后語音信號的時域波形和頻譜圖;給定濾波器的性能指標,采用窗函數(shù)法和雙線性變換法設(shè)計濾波器,并畫出濾波器的頻率響應(yīng);然后用自己設(shè)計的濾波器對采集的信號進行濾波,畫出濾波后信號的時域波形和頻譜,并對濾波前后的信號進行對比,分析信號的變化;回放語音信號;換一個與你性別相異的人錄制同樣一段語音內(nèi)容,分析兩段內(nèi)容相同的語音信號頻譜之間有什么特點;再錄制一段同樣長時間的背景噪聲疊加到你的語音信號中,分析疊加前后信號頻譜的變化,設(shè)計一個合適的濾波器,能夠把該噪聲濾除;
三.設(shè)計原理
1.在Matlab軟件平臺下,利用函數(shù)wavrecord(),wavwrite(),wavread(),wavplay()對語音信號進行錄制,存儲,讀取,回放。
2.用y=fft(x)對采集的信號做快速傅立葉變換,并用[h1,w]=freqz(h)進行DTFT變換。
3.掌握FIR DF線性相位的概念,即線性相位對h(n)、H(?)及零點的約束,了解四種FIR DF的頻響特點。
4.在Matlab中,F(xiàn)IR濾波器利用函數(shù)fftfilt對信號進行濾波。
5.抽樣定理
連續(xù)信號經(jīng)理想抽樣后時域、頻域發(fā)生的變化(理想抽樣信號與連續(xù)信號頻譜之間的關(guān)系)
理想抽樣信號能否代表原始信號、如何不失真地還原信號即由離散信號恢復連續(xù)信號的條件(抽樣定理)
理想采樣過程描述: 時域描述:
?a(t)?xa(t)?T(t)??xa(t)?(t?nT)??xa(nT)?(t?nT)xn???n??????T(t)?頻域描述:利用傅氏變換的性質(zhì),時域相乘頻域卷積,若
n?????(t?nT)??a(t)Xa(j?)?xXa(j?)?xa(t)?T(j?)??T(t)
則有
?(j?)?1X(j?)??(j?)XaaT2?1?2?1??Xa(j?)??Xa(j??jk)??Xa(j??jk?s)Tk???TTk????(j?)與X(j?)的關(guān)系:理想抽樣信號的頻譜是連續(xù)信號頻譜的Xaa
周期延拓,重復周期為?s(采樣角頻率)。如果:
?X(j?)?Xa(j?)??a??0???s/2???s/2即連續(xù)信號是帶限的,且信號最高頻率不超過抽樣頻率的二分之一,則可不失真恢復。
奈奎斯特采樣定理:要使實信號采樣后能夠不失真還原,采樣頻率必須大于信號最高頻率的兩倍:?s?2?h 或 fs?2fh
四.具體實現(xiàn)
1.錄制一段聲音
1.1錄制并分析
在MATLAB中用wavrecord、wavread、wavplay、wavwrite對聲音進行錄制、讀取、回放、存儲。
程序如下:
Fs=8000;%抽樣頻率 time=3;%錄音時間 fprintf('按Enter鍵錄音%ds',time);%文字提示 pause;%暫停命令 fprintf('錄音中......');x=wavrecord(time*Fs,Fs,'double');%錄制語音信號 fprintf('錄音結(jié)束');%文字提示 fprintf('按Enter鍵回放錄音');pause;%暫停命令
wavplay(x,Fs);%按任意鍵播放語音信號
wavwrite(x,Fs,'C:UsersacerDesktop數(shù)字信號sound.wav');%存儲語音信號
N=length(x);%返回采樣點數(shù) df=fs/N;%采樣間隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(2);subplot(2,1,1);plot(x);%錄制信號的時域波形 title('原始信號的時域波形');%加標題 ylabel('幅值/A');%顯示縱坐標的表示意義 grid;%加網(wǎng)格
y0=fft(x);%快速傅立葉變換 figure(2);subplot(2,1,2);plot(f,abs(y0(n1)));%原始信號的頻譜圖 title('原始信號的頻譜圖');%加標題 xlabel('頻率w/pi');%顯示橫坐標表示的意義 ylabel('幅值 ');%顯示縱坐標表示的意義 title('原始信號的頻譜圖');%加標題
grid;%加網(wǎng)格
圖1.1 原始信號的時域與頻譜圖
1.2濾除無效點
針對實際發(fā)出聲音落后錄制動作半拍的現(xiàn)象,如何拔除對無效點的采樣的問題: 出現(xiàn)這種現(xiàn)象的原因主要是錄音開始時,人的反應(yīng)慢了半拍,導致出現(xiàn)了一些無效點,而后而出現(xiàn)的無效的點,主要是已經(jīng)沒有聲音的動作,先讀取聲音出來,將原始語音信號時域波形圖畫出來,根據(jù)己得到的信號,可以在第二次讀取聲音的后面設(shè)定采樣點,取好有效點,畫出濾除無效點后的語音信號時域波形圖,對比可以看出。這樣就可以解決這個問題。
x=wavread('C:UsersacerDesktop數(shù)字信號sound.wav', 7
[4000,24000]);%從4000點截取到24000結(jié)束 plot(x);%畫出截取后的時域圖形 title('截取后的聲音時域圖形');%標題 xlabel('頻率');ylabel('振幅');grid;%畫網(wǎng)格
圖1.2 去除無效點
2.巴特沃斯濾波器的設(shè)計
2.1設(shè)計巴特沃思低通濾波器
MATLAB程序如下。濾波器圖如圖3.3所示。
%低通濾波
fp=1000;fs=1200;Fs=22050;rp=1;rs=100;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);[N,wc]=buttord(wap,was,rp,rs,'s');[B,A]=butter(N,wc,'s');[Bz,Az]=bilinear(B,A,Fs1);figure(1);[h,w]=freqz(Bz,Az,512,Fs1*22050);plot(w,abs(h));title('巴特沃斯低通濾波器');xlabel('頻率(HZ)');ylabel('耗損(dB)');gridon;9
圖2.1 巴特沃思低通濾波器
2.2設(shè)計巴特沃思高通濾波器
MATLAB程序如下。濾波器圖如圖3.5所示。%高通濾波
fp=4800;fs=5000;Fs=22050;rp=1;rs=100;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;T=1;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);10
[N,wc]=buttord(wap,was,rp,rs,'s');[B,A]=butter(N,wc,'high','s');[Bz,Az]=bilinear(B,A,Fs1);figure(1);[h,w]=freqz(Bz,Az,512,Fs1*22050);plot(w,abs(h));title('巴特沃斯高通濾波器');xlabel('頻率(HZ)');ylabel('耗損(dB)');grid on;
圖2.2巴特沃思高通濾波器
2.3設(shè)計巴特沃思帶通濾波器
MATLAB程序如下。濾波器圖如圖3.7所示。%帶通濾波
fp=[1200,3000];fs=[1000,3200];Fs=8000;rp=1;rs=100;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;T=1;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);[N,wc]=buttord(wap,was,rp,rs,'s');[B,A]=butter(N,wc,'s');[Bz,Az]=bilinear(B,A,Fs1);figure(4);[h,w]=freqz(Bz,Az,512,Fs1*1000);plot(w,abs(h));title('巴特沃斯帶通濾波器');xlabel('頻率(HZ)');ylabel('耗損(dB)');grid on;12
圖2.3巴特沃思帶通濾波器
3.將聲音信號送入濾波器濾波
x=wavread('C:UsersacerDesktop數(shù)字信號sound.wav');%播放原始信號
wavplay(x,fs);%播放原始信號 N=length(x);%返回采樣點數(shù) df=fs/N;%采樣間隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(4);subplot(4,2,1);plot(x);%錄制信號的時域波形
title('原始信號的時域波形');%加標題 ylabel('幅值/A');%顯示縱坐標的表示意義 grid;%加網(wǎng)格
y0=fft(x);%快速傅立葉變換 subplot(4,2,3);plot(f,abs(y0(n1)));%原始信號的頻譜圖 title('原始信號的頻譜圖');%加標題 xlabel('頻率w/pi');%顯示橫坐標表示的意義 ylabel('幅值 ');%顯示縱坐標表示的意義 title('原始信號的頻譜圖');%加標題 grid;%加網(wǎng)格
3.1低通濾波器濾波 fs=8000;beta=10.056;wc=2*pi*1000/fs;ws=2*pi*1200/fs;width=ws-wc;wn=(ws+wc)/2;n=ceil(12.8*pi /width);h=fir1(n,wn/pi,'band',kaiser(n+1,beta));[h1,w]=freqz(h);
ys=fftfilt(h,x);%信號送入濾波器濾波,ys為輸出 fftwave=fft(ys);%將濾波后的語音信號進行快速傅立葉變換 figure(4);subplot(4,2,2);%在四行兩列的第二個窗口顯示圖形 plot(ys);%信號的時域波形
title('低通濾波后信號的時域波形');%加標題 xlabel('頻率w/pi');ylabel('幅值/A');%顯示標表示的意義 grid;%網(wǎng)格
subplot(4,2,4);%在四行兩列的第四個窗口顯示圖形 plot(f, abs(fftwave(n1)));%繪制模值 xlabel('頻率w/pi');ylabel('幅值/A');%顯示標表示的意義
title('低通濾波器濾波后信號的頻譜圖');%標題 grid;%加網(wǎng)格
wavplay(ys,8000);%播放濾波后信號
3.2高通濾波器濾波 fs=8000;beta=10.056;ws=2*5000/fs;wc=2*4800/fs;
width=ws-wc;wn=(ws+wc)/2;n=ceil(12.8*pi/width);h=fir1(n,wn/pi, 'high',kaiser(n+2,beta));[h1,w]=freqz(h);ys=fftfilt(h,x);%將信號送入高通濾波器濾波 subplot(4,2,5);%在四行兩列的第五個窗口顯示圖形 plot(ys);%信號的時域波形 xlabel('頻率w/pi');ylabel('幅值/A');%顯示標表示的意義 title('高通濾波后信號的時域波形');%標題 ylabel('幅值/A');%顯示縱坐標的表示意義 grid;%網(wǎng)格
fftwave=fft(ys);%將濾波后的語音信號進行快速傅立葉變換 subplot(4,2,7);%在四行兩列的第七個窗口顯示圖形 plot(f,abs(fftwave(n1)));%繪制模值 axis([0 1 0 50]);xlabel('頻率w/pi');ylabel('幅值/A');%顯示標表示的意義
title('高通濾波器濾波后信號的頻譜圖');%標題 grid;%加網(wǎng)格
wavplay(ys,8000);%播放濾波后信號
3.3帶通濾波器 fs=8000;beta=10.056;wc1=2*pi*1000/fs;wc2=2*pi*3200/fs;ws1=2*pi*1200/fs;ws2=2*pi*3000/fs;width=ws1-wc1;wn1=(ws1+wc1)/2;wn2=(ws2+wc2)/2;wn=[wn1 wn2];n=ceil(12.8/width*pi);h=fir1(n,wn/pi,'band',kaiser(n+1,beta));[h1,w]=freqz(h);ys1= fftfilt(h,x);%將信號送入高通濾波器濾波 figure(4);subplot(4,2,6);%在四行兩列的第六個窗口顯示圖形 plot(ys1);%繪制后信號的時域的圖形 title('帶通濾波后信號的時域波形');%加標題 xlabel('頻率w/pi');ylabel('幅值/A');%顯示縱坐標表示的意義 grid;%網(wǎng)格
fftwave=fft(ys1);%對濾波后的信號進行快速傅立葉變換 subplot(4,2,8);%在四行兩列的第八個窗口顯示圖形
plot(f, abs(fftwave(n1)));%繪制模值 axis([0 1 0 50]);xlabel('頻率w/pi');ylabel('幅值/A');%顯示標表示的意義 title('帶通濾波器濾波后信號的頻譜圖');%加標題 grid;%網(wǎng)格
wavplay(ys1,8000);%播放濾波后信號 圖形如下:
原始信號的時域波形幅值/A0-1012x 10原始信號的頻譜圖34幅值/A1低通濾波后信號的時域波形0.50-0.5012頻率w/pi3400.51頻率w/pi高通濾波后信號的時域波形幅值/A0幅值/A0幅值/Ax 10高通濾波器濾波后信號的頻譜圖5012頻率w/pi34幅值/A0.20-0.2幅值/A2001000x 10低通濾波器濾波后信號的頻譜圖200100000.51頻率w/pi帶通濾波后信號的時域波形0.50-0.501234頻率w/pix 10帶通濾波器濾波后信號的頻譜圖50幅值 00.5頻率w/pi1000.5頻率w/pi1
分析:三個濾波器濾波后的聲音與原來的聲音都發(fā)生了變化。其中低
通的濾波后與原來聲音沒有很大的變化,其它兩個都又明顯的變化
4.語音信號的回放
sound(xlow,Fs,bits);%在Matlab中,函數(shù)sound可以對聲音進行回放,其調(diào)用格式: sound(xhigh, Fs,bits);%sound(x, Fs, bits);sound(xdaitong, Fs,bits);5.男女語音信號的頻譜分析
5.1 錄制一段異性的聲音進行頻譜分析
Fs=8000;%抽樣頻率 time=3;%錄音時間 fprintf('按Enter鍵錄音%ds',time);%文字提示 pause;%暫停命令 fprintf('錄音中......');x=wavrecord(time*Fs,Fs,'double');%錄制語音信號 fprintf('錄音結(jié)束');%文字提示 fprintf('按Enter鍵回放錄音');pause;%暫停命令 wavplay(x,Fs);%按任意鍵播放語音信號
wavwrite(x,Fs,'C:UsersacerDesktop數(shù)字信號sound2.wav');%存儲語音信號
5.2 分析男女聲音的頻譜
x=wavread(' C:UsersacerDesktop數(shù)字信號sound2.wav ');%播放原始信號,解決落后半拍
wavplay(x,fs);%播放原始信號 N=length(x);%返回采樣點數(shù) df=fs/N;%采樣間隔 n1=1:N/2;
f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(1);subplot(2,2,1);plot(x);%錄制信號的時域波形
title('原始女生信號的時域波形');%加標題 ylabel('幅值/A');%顯示縱坐標的表示意義 grid;%加網(wǎng)格
y0=fft(x);%快速傅立葉變換 subplot(2,2,2);plot(f,abs(y0(n1)));%原始信號的頻譜圖 title('原始女生信號的頻譜圖');%加標題 xlabel('頻率w/pi');%顯示橫坐標表示的意義 ylabel('幅值 ');%顯示縱坐標表示的意義 grid;%加網(wǎng)格
[y,fs,bits]=wavread(' C:UsersacerDesktop數(shù)字信號sound.wav ');% 對語音信號進行采樣
wavplay(y,fs);%播放原始信號 N=length(y);%返回采樣點數(shù) df=fs/N;%采樣間隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 subplot(2,2,3);plot(y);%錄制信號的時域波形
title('原始男生信號的時域波形');%加標題 ylabel('幅值/A');%顯示縱坐標的表示意義 grid;%加網(wǎng)格
y0=fft(y);%快速傅立葉變換
subplot(2,2,4);%在四行兩列的第三個窗口顯示圖形 plot(f,abs(y0(n1)));%原始信號的頻譜圖 title('原始男生信號的頻譜圖');%加標題 xlabel('頻率w/pi');%顯示橫坐標表示的意義 ylabel('幅值 ');%顯示縱坐標表示的意義 grid;%加網(wǎng)格
5.3男女聲音的頻譜圖
原始女生信號的時域波形0.50-0.5-1150100原始女生信號的頻譜圖幅值/A幅值 012345000x 10原始男生信號的時域波形0.50.5頻率w/pi原始男生信號的頻譜圖1300200幅值/A0幅值 012x 1034100-0.5000.5頻率w/pi1
圖5.3男女聲音信號波形與頻譜對比
分析:就時域圖看,男生的時域圖中振幅比女生的高,對于頻譜圖女生的高頻成分比較多
6.噪聲的疊加和濾除
6.1錄制一段背景噪聲
Fs=8000;%抽樣頻率 time=3;%錄音時間 fprintf('按Enter鍵錄音%ds',time);%文字提示 pause;%暫停命令 fprintf('錄音中......');x=wavrecord(time*Fs,Fs,'double');%錄制語音信號
fprintf('錄音結(jié)束');%文字提示 fprintf('按Enter鍵回放錄音');pause;%暫停命令 wavplay(x,Fs);%按任意鍵播放語音信號 wavwrite(x,Fs,'C:UsersacerDesktop數(shù)字信號噪音.wav');%存儲語音信號
6.2 對噪聲進行頻譜的分析
[x1,fs,bits]=wavread(' C:UsersacerDesktop數(shù)字信號噪音.wav ');%對語音信號進行采樣
wavplay(x1,fs);%播放噪聲信號 N=length(x1);%返回采樣點數(shù) df=fs/N;%采樣間隔
n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(5);subplot(3,2,1);plot(x1);%信號的時域波形 title('噪聲信號的時域波形');grid;ylabel('幅值/A');y0=fft(x1);%快速傅立葉變換
subplot(3,2,2);plot(f,abs(y0(n1)));%噪聲信號的頻譜圖 ylabel('幅值');title('噪聲信號的頻譜圖');
6.3原始信號與噪音的疊加
fs=8000;[x,fs,bits]=wavread(' C:UsersacerDesktop數(shù)字信號sound.wav ');%對錄入信號進行采樣
[x1,fs,bits]=wavread(' C:UsersacerDesktop數(shù)字信號噪音.wav ');%對噪聲信號進行采樣
yy=x+x1;%將兩個聲音疊加
6.4疊加信號的頻譜分析:
wavplay(yy,fs);%播放疊加后信號 N=length(yy);%返回采樣點數(shù) df=fs/N;%采樣間隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(5);subplot(3,2,3);plot(yy,'LineWidth',2);%信號的時域波形
title('疊加信號的時域波形');xlabel('時間/t');ylabel('幅值/A');grid;y0=fft(yy);%快速傅立葉變換 subplot(3,2,4);plot(f,abs(y0(n1)));%疊加信號的頻譜圖 title('疊加信號的頻譜圖');xlabel('頻率w/pi');ylabel('幅值/db');grid;
6.5 設(shè)計一個合適的濾波器將噪聲濾除 fs=18000;%采樣頻率 Wp=2*1000/fs;%通帶截至頻率 Ws=2*2000/fs;%阻帶截至頻率 Rp=1;%最大衰減 Rs=100;%最小衰減
[N,Wn]=buttord(Wp,Ws,Rp,Rs);%buttord函數(shù)(n為階數(shù),Wn為截至頻率)
[num,den]=butter(N,Wn);%butter函數(shù)(num為分子系數(shù)den為分母系數(shù))
[h,w]=freqz(num,den);%DTFT變換
ys=filter(num,den,yy);%信號送入濾波器濾波,ys為輸出 fftwave=fft(ys);%將濾波后的語音信號進行快速傅立葉變換 figure(5);subplot(3,2,5);plot(ys);%信號的時域波形
title('低通濾波后信號的時域波形');%加標題 ylabel('幅值/A');%顯示標表示的意義 grid;%網(wǎng)格 subplot(3,2,6);plot(f, abs(fftwave(n1)));%繪制模值 title('低通濾波器濾波后信號的頻譜圖');%標題 xlabel('頻率w/pi');ylabel('幅值/A');%顯示標表示的意義 grid;%加網(wǎng)格
wavplay(ys,8000);%播放濾波后信號 grid;圖形如下:
噪聲信號的時域波形1100噪聲信號的頻譜圖幅值/A0-1幅值0123450000.5疊加信號的頻譜圖1x 10疊加信號的時域波形10-101時間/t2200幅值/db34幅值/A100000.5頻率w/pi1x 10低通濾波后信號的時域波形0.5低通濾波器濾波后信號的頻譜圖200幅值/A0-0.5幅值/A012x 1034100000.5頻率w/pi1
圖6.1噪音的疊加與濾除前后頻譜對比
7.結(jié)果分析
1.錄制剛開始時,常會出現(xiàn)實際發(fā)出聲音落后錄制動作半拍,可在[x,fs,bits]=wavread('d:matlavworkwomamaaiwo.wav')加 窗[x,fs,bits]=wavread('d:matlavworkwomamaaiwo.wav',[100 10000]),窗的長度可根據(jù)需要定義。
2.語音信號通過低通濾波器后,把高頻濾除,聲音變得比較低沉。當通過高通濾波器后,把低頻濾除,聲音變得比較就尖銳。通過帶通濾波器后,聲音比較適中。
3.通過觀察男生和女生圖像知:時域圖的振幅大小與性別無關(guān),只與說話人音量大小有關(guān),音量越大,振幅越大。頻率圖中,女生高 27
頻成分較多。
4.疊加噪聲后,噪聲與原信號明顯區(qū)分,但通過低通濾波器后,噪聲沒有濾除,信號產(chǎn)生失真。原因可能為噪聲與信號頻率相近無法濾除。
第2部分 課程設(shè)計總結(jié)
通過本次課程設(shè)計,使我們對數(shù)字信號處理相關(guān)知識有了更深刻的理解,尤其是對各種濾波器的設(shè)計。在設(shè)計的過程中遇到了很多問題,剛剛開始時曾天真的認為只要把以前的程序改了參數(shù)就可以用了,可是問題沒有我想象中的那么簡單,單純的搬程序是不能解決問題的。通過查閱資料和請教同學收獲了很多以前不懂的理論知識。再利用所學的操作,發(fā)現(xiàn)所寫的程序還是沒有能夠運行,通過不斷地調(diào)試,運行,最終得出了需要的結(jié)果。整個過程中學到了很多新的知識,特別是對Matlab的使用終于有些了解。在以后的學習中還需要深入了解這方面的內(nèi)容。在這次的課程設(shè)計中讓我體會最深的是:知識來不得半點的馬虎。也認識到自己的不足,以后要進一步學習。
八.參考文獻
[1]數(shù)字信號處理教程(第三版)程佩青 清華大學出版社 [2]MATLAB信號處理 劉波 文忠 電子工業(yè)出版社 [3]MATLAB7.1及其在信號處理中的應(yīng)用 王宏 清華大學出版社
[4]MATLAB基礎(chǔ)與編程入門 張威 西安電子科技大學出版社
[5] 數(shù)字信號處理及其MATLAB實驗 趙紅怡 張常 化學工業(yè)出版社
[6]MATLAB信號處理詳解 陳亞勇等 人民郵電出版社 [7] 數(shù)字信號處理
錢同惠 機械工業(yè)出版社 29
第三篇:數(shù)字信號處理實驗報告
JIANGSU
UNIVERSITY OF TECHNOLOGY
數(shù)字信號處理實驗報告
學院名稱: 電氣信息工程學院
專 業(yè):
班 級: 姓 名: 學 號: 指導老師: 張維璽(教授)
2013年12月20日
實驗一 離散時間信號的產(chǎn)生
一、實驗?zāi)康?/p>
數(shù)字信號處理系統(tǒng)中的信號都是以離散時間形態(tài)存在的,所以對離散時間信號的研究是數(shù)字信號的基本所在。而要研究離散時間信號,首先需要產(chǎn)生出各種離散時間信號。使用MATLAB軟件可以很方便地產(chǎn)生各種常見的離散時間信號,而且它還具有強大繪圖功能,便于用戶直觀地處理輸出結(jié)果。
通過本實驗,學生將學習如何用MATLAB產(chǎn)生一些常見的離散時間信號,實現(xiàn)信號的卷積運算,并通過MATLAB中的繪圖工具對產(chǎn)生的信號進行觀察,加深對常用離散信號和信號卷積和運算的理解。
二、實驗原理
離散時間信號是指在離散時刻才有定義的信號,簡稱離散信號,或者序列。離散序列通常用x(n)來表示,自變量必須是整數(shù)。常見的離散信號如下:(1)單位沖激序列δ(n)
如果δ(n)在時間軸上延遲了k個單位,得到δ(n-k),即長度為N的單位沖激序列δ(n)可以通過下面的MATLAB命令獲得。
n=-(N-1):N-1 x=[zeros(1,N-1)1 zeros(1,N-1)]; stem(n,x)延遲K個采樣點的長度為N的單位沖激序列δ(n-k)(k n=0:N-1 y=[zeros(1,M)1 zeros(1,N-M-1)]; stem(n,y) (2)單位階躍序列u(n) 如果u(n)在時間軸上延遲了k個單位,得到u(n-k),即長度為N的單位階躍序列u(n)可以通過下面的MATLAB命令獲得。 n=-(N-1):N-1 x=[zeros(1,N-1)ones(1,N)]; stem(n,x)延遲的單位階躍序列可以使用類似于單位沖激序列的方法獲得。(3)矩形序列 矩形序列有一個重要的參數(shù),就是序列的寬度N。矩形序列與u(n)之間的關(guān)系為矩形序列等= u(n)— u(n-N)。 因此,用MATLAB表示矩形序列可利用上面的單位階躍序列組合而成。(4)正弦序列x(n) 這里,正弦序列的參數(shù)都是實數(shù)。與連續(xù)的正弦信號不同,正弦序列的自變量n必須為整數(shù)。可以證明,只有當2π/w為有理數(shù)時,正弦序列具有周期性。 長度為N的正弦序列x(n)可以通過下面的MATLAB命令獲得。n=0:N-1 x=A*cos(2*pi*f*n/Fs+phase)(5)單邊實指數(shù)序列x(n) 長度為N的實指數(shù)序列x(n)可以通過下面的MATLAB命令實現(xiàn)。n=0:N-1 x=a.^n stem(n,x)單邊指數(shù)序列n的取值范圍為n>=0。當|a|>1時,單邊指數(shù)序列發(fā)散;當|a|<1時,單邊指數(shù)序列收斂。當a>0時,該序列均取正值;當a<0時,序列在正負擺動。 (6)負指數(shù)序列x(n) 當a=0時,得到虛指數(shù)序列x(n)。 與連續(xù)負指數(shù)信號一樣,我們將負指數(shù)序列實部和虛部的波形分開討論,得到如下結(jié)論: 1)當a>0時,負指數(shù)序列x(n)的實部和虛部分別是按指數(shù)規(guī)律增長的正弦振蕩序列; 2)當a<0時,負指數(shù)序列x(n)的實部和虛部分別是按指數(shù)規(guī)律衰減的正弦振蕩序列; 3)當a=0時,負指數(shù)序列x(n)即為虛指數(shù)序列,其實部和虛部分別是等幅的正弦振蕩序列; 長度為N的實指數(shù)序列x(n)可以通過下面的MATLAB命令實現(xiàn)。n=0:N-1 x=exp((a.+j*w)*n)stem(n,real(x))或 stem(n,imag(x)) 三、實驗內(nèi)容及分析 ?1n?01、編制程序產(chǎn)生單位沖激序列??n???“?并繪出其圖及??n?”學號后兩位0n?0?形。程序:(1)N=4; n=-(N-1):N-1; x=[zeros(1,N-1)1 zeros(1,N-1)];stem(n,x); title('單位沖激序列'); grid on; (2)N=6; M=1;%學號01 n=-(N-1):N-1; y=[zeros(1,N-M+1)1 zeros(1,N-M-1)];stem(n,y); title('單位沖激序列');grid on; 分析:在上圖的基礎(chǔ)上向右平移了1個單位。 ?1n?02、編制程序產(chǎn)生單位階躍序列u?n???、u?n?“學號后兩位”?及 0n?0?u?n??u?n?“學號后兩位”?,并繪出其圖形。程序: 4 (1)N=5; n=-(N-1):N-1; x=[zeros(1,N-1)ones(1,N)];stem(n,x); title('單位階躍序列');grid on; (2)N=6; M=1;%學號01 n=-(N-1):N-1; x=[zeros(1,N-M+1)ones(1,N-M)];stem(n,x); title('單位階躍序列');grid on; 分析:在上圖的基礎(chǔ)上平移了1個單位.(3)N=6; M=1;%學號01 n=-(N-1):N-1; x=[zeros(1,N-1)ones(1,N)];y=[zeros(1,N-M+1)ones(1,N-M)];z=x-y;stem(n,z); title('單位階躍序列');grid on; 2?? 3、編制程序產(chǎn)生正弦序列x?n??cos?2?n?、x?n??cos??n?及 ?學號后兩位?x?n??sin?2n?并繪出其圖形。 程序:(1)N=5; A=1; w=2*pi;phi=0;n=0:0.05:N-1;x=A*cos(w*n+phi);stem(n,x);title('余弦信號');grid on; 分析:該序列具有周期性,且輸出為余弦信號.(2)N=5; A=1; w=2*pi/1;%學號01 phi=0;n=0:0.05:N-1;x=A*cos(w*n+phi);stem(n,x);title('余弦信號');grid on; ; 分析:該序列具有周期性,且輸出為余弦信號.(3)N=5; A=1; w=2*pi;phi=0; n=0:0.05:N-1;x=A*sin(w*n+phi);stem(n,x);title('正弦信號');grid on; 分析:該序列具有周期性,且輸出為正弦信號.4、編制程序產(chǎn)生復正弦序列x?n??e(2?j學號后兩位)n,并繪出其圖形。N=3; n=0:0.2:N-1; w=1;%學號01 x=exp((2+j*w)*n);subplot(2,1,1) stem(n,real(x)),title('實部');grid on;subplot(2,1,2) stem(n,imag(x)),title('虛部');grid on; 5、編制程序產(chǎn)生指數(shù)序列x?n??an,并繪出其圖形。其中a=學號后兩位、a=1/“學號后兩位”。 (1)N=10; n=0:N-1; a=1;%學號01 x=a.^n;stem(n,x);title('指數(shù)序列');grid on; (2)N=10; n=0:N-1; a=1;%學號01 x=a.^(-n);stem(n,x);title('指數(shù)序列');grid on; 實驗三 離散時間信號的頻域分析 一、實驗?zāi)康?/p> 信號的頻域分析是信號處理中一種有效的工具。在離散信號的頻域分析中,通常將信號表示成單位采樣序列的線性組合,而在頻域中,將信號表示成復變量或的線性組合。通過這樣的表示,可以將時域的離散序列映射到頻域以便于進一步的處理。 在本實驗中,將學習利用MATLAB計算離散時間信號的DTFT和DFT,并加深對其相互關(guān)系的理解。 二、實驗原理 (1)DTFT和DFT的定義及其相互關(guān)系。 (2)使用到的MATLAB命令有基于DTFT離散時間信號分析函數(shù)以及求解序列的DFT函數(shù)。 三、實驗內(nèi)容及分析 (1)編程計算并畫出下面DTFT的實部、虛部、幅度和相位譜。 X(e)?jw0.0518?0.1553e1?1.2828ex(n)?cos?jw?jw?0.1553e?j2w?1.0388e?j2w?0.0518e?j3w?0.3418e?j3w (2)計算32點序列 5?n16,0≦n≦31的32點和64點DFT,分別繪出幅度譜圖形,并繪出該序列的DTFT圖形。 3-1 clear; x=[0.0518,-0.1553,0.1553,0.0518];y=[1,1.2828,1.0388,0.3418];w=[0:500]*pi/500 H=freqz(x,y,w); magX=abs(H);angX=angle(H);realX=real(H);imagX=imag(H);subplot(221);plot(w/pi,magX);grid; xlabel('frequency in pi unit');ylabel('magnitude');title('幅度 part');axis([0 0.9 0 1.1]); subplot(223);plot(w/pi,angX);grid; xlabel('frequency in pi unit');ylabel('radians');title('相位 part');axis([0 1-3.2 3.2]); subplot(222);plot(w/pi,realX);grid; xlabel('frequency in pi unit');ylabel('real part');title('實部 part');axis([0 1-1 1]); subplot(224);plot(w/pi,imagX);grid; xlabel('frequency in pi unit');ylabel('imaginary');title('虛部 part');axis([0 1-1 1.1]); 3-2 N=32;n=0:N-1; xn=cos(5*pi*n/16);k=0:1:N-1;Xk=fft(xn,N);subplot(2,1,1);stem(n,xn);subplot(2,1,2);stem(k,abs(Xk));title('32點');figure N=64;n=0:N-1; xn=cos(5*pi*n/16);k=0:1:N-1;Xk=fft(xn,N);subplot(2,1,1);stem(n,xn);subplot(2,1,2);stem(k,abs(Xk));title('64點'); (1) (2) 實驗四 離散時間LTI系統(tǒng)的Z域分析 一、實驗?zāi)康?/p> 本實驗通過使用MATLAB函數(shù)對離散時間系統(tǒng)的一些特性進行仿真分析,以加深對離散時間系統(tǒng)的零極點、穩(wěn)定性,頻率響應(yīng)等概念的理解。學會運用MATLAB分析離散時間系統(tǒng)的系統(tǒng)函數(shù)的零極點;學會運用MATLAB分析系統(tǒng)函數(shù)的零極點分布與其時域特性的關(guān)系;學會運用MATLAB進行離散時間系統(tǒng)的頻率特性分析。 二、實驗原理 離散時間系統(tǒng)的系統(tǒng)函數(shù)定義為系統(tǒng)零狀態(tài)響應(yīng)的Z變化與激勵的Z變化之比。 在MATLAB中系統(tǒng)函數(shù)的零極點可通過函數(shù)roots得到,也可借助函數(shù)tf2zp得到,tf2zp的語句格式為 [Z,P,K]=tf2zp(B,A)其中,B與A分別表示H(z)的分子與分母多項式的系數(shù)向量。它的作用是將H(z)的有理分式表示式轉(zhuǎn)換為零極點增益形式。 若要獲得系統(tǒng)函數(shù)H(z)的零極點分布圖,可直接應(yīng)用zplane函數(shù),其語句格式為 Zplane(B,A) 其中,B與A分別表示H(z)的分子和分母多項式的系數(shù)向量。它的作用是在z平面上畫出單位圓、零點與極點。 離散系統(tǒng)中z變化建立了時域函數(shù)h(n)與z域函數(shù)H(z)之間的對應(yīng)關(guān)系。因此,z變化的函數(shù)H(z)從形式可以反映h(n)的部分內(nèi)在性質(zhì)??筛鶕?jù)系統(tǒng)的傳遞函數(shù)H(z)求單位沖激響應(yīng)h(n)的函數(shù)impz、filter等。 利用系統(tǒng)的頻率響應(yīng),可以分析系統(tǒng)對各種頻率成分的響應(yīng)特性,并推出系統(tǒng)的特性(高通、低通、帶通、帶阻等)。 MATLAB提供了求離散時間系統(tǒng)頻響特性的函數(shù)freqz,調(diào)用freqz的格式主要有兩種。一種形式為 [H,w]= reqz(B,A,N)其中,B與A分別表示H(z)分子和分母多項式的系數(shù)向量;N為正整數(shù),默認值為512;返回值w包含[0,π]范圍內(nèi)的N個頻率等分點;返回值H則是離散時間系統(tǒng)頻率響應(yīng)在0~π范圍內(nèi)N個頻率處的值。另一種形式為 [H,w]= freqz(B,A,N,‘whole’) 與第一種方式不同之處在于角頻率的范圍由[0,π]擴展到[0,2π]。 三、實驗內(nèi)容與結(jié)果分析 已知LTI離散時間系統(tǒng),要求由鍵盤實現(xiàn)系統(tǒng)參數(shù)輸入,并繪出幅頻和相頻響應(yīng)曲線和零極點分布圖,進而分析系統(tǒng)的濾波特性和穩(wěn)定性。 (一)程序 b=[0.0528,0.797,0.1295,0.1295,0.797,0.0528]; a=[1,-1.8107,2.4947,-1.8801,0.9537,-0.2336];w=[0:20:500]*pi/500; x1=0.0528+0.797*exp(-1*j*w)+0.1295*exp(-2*j*w)+0.1295*exp(-3*j*w)+0.797*exp(-4*j*w)+0.0528*exp(-5*j*w); x2=1-1.8107*exp(-1*j*w)+2.4947*exp(-2*j*w)+1.8801*exp(-3*j*w)+0.9537*exp(-4*j*w)+0.2336*exp(-5*j*w);x22=x2+(x2==0)*eps;x=x1./x22;magx=abs(x); angx=angle(x).*180/pi; subplot(2,2,3);zplane(b,a);title('零極點圖');subplot(2,2,2);stem(w/pi,magx);title('幅度部分');ylabel('振幅');subplot(2,2,4);stem(w/pi,angx); xlabel('以pi為單位的頻率');title('相位部分');ylabel('相位'); (二)波形圖 圖4-1 幅頻、相頻響應(yīng)曲線、零極點分布圖 實驗六 IIR數(shù)字濾波器的設(shè)計 一、實驗?zāi)康?/p> 從理論上講,任何的線性是不變(LTI)離散時間系統(tǒng)都可以看做一個數(shù)字濾波器,因此設(shè)計數(shù)字濾波器實際就是設(shè)計離散時間系統(tǒng)。數(shù)字濾波器你包括IIR(無限沖激響應(yīng))和FIR(有限沖激響應(yīng))型,在設(shè)計時通常采用不同的方法。 本實驗通過使用MATLAB函數(shù)對數(shù)字濾波器進行設(shè)計和和實現(xiàn),要求掌握IIR數(shù)字巴特沃斯濾波器、數(shù)字切比雪夫濾波器的設(shè)計原理、設(shè)計方法和設(shè)計步驟;能根據(jù)給定的濾波器指標進行濾波器設(shè)計;同時也加深學生對數(shù)字濾波器的常用指標和設(shè)計過程的理解。 二、實驗原理 在IIR濾波器的設(shè)計中,常用的方法是:先根據(jù)設(shè)計要求尋找一個合適的模擬原型濾波器,然后根據(jù)一定的準則將此模擬原型濾波器轉(zhuǎn)換為數(shù)字濾波器。 IIR濾波器的階數(shù)就等于所選的模擬原型濾波器的階數(shù),所以其階數(shù)確定主要是在模擬原型濾波器中進行的。 IIR數(shù)字濾波器的設(shè)計方法如下:(1)沖激響應(yīng)不變法。(2)雙線性變化法。 一般來說,在要求時域沖激響應(yīng)能模仿模擬濾波器的場合,一般使用沖激響應(yīng)不變法。沖激響應(yīng)不變法一個重要特點是頻率坐標的變化是線性的,因此如果模擬濾波器的頻率響應(yīng)帶限于折疊頻率的話,則通過變換后濾波器的頻率響應(yīng)可不失真地反映原響應(yīng)與頻率的關(guān)系。 與沖激響應(yīng)不變法比較,雙線性變化的主要優(yōu)點是靠頻率的非線性關(guān)系得到s平面與z平面的單值一一對應(yīng)關(guān)系,整個值對應(yīng)于單位圓一周。所以從模擬傳遞函數(shù)可直接通過代數(shù)置換得到數(shù)字濾波器的傳遞函數(shù)。 MATLAB提供了一組標準的數(shù)字濾波器設(shè)計函數(shù),大大簡化了濾波器的設(shè)計工程。 (1)butter。 (2)cheby1、cheby2。 三、實驗內(nèi)容及分析 利用MATLAB編程方法或利用MATLAB中fdatool工具設(shè)計不同功能的IIR數(shù)字濾波器。 1、基于chebyshev I型模擬濾波器原型使用沖激不變轉(zhuǎn)換方法設(shè)計數(shù)字濾波器,要求參數(shù)為通帶截止頻率?p?0.4?;通帶最大衰減Ap?1dB;阻帶截止頻率?s?0.4?;阻帶最小衰減As?35dB。 程序: wp=0.2*pi; %通帶邊界頻率 ws=0.4*pi; %阻帶截止頻率 rp=1; %通帶最大衰減 rs=35; %阻帶最小衰減 Fs=1000; %?ùéè3é?ù??3?1000hz [N,Wn]=cheb1ord(wp,ws,rp,rs,'s'); [Z,P,K]=cheby1(N,rp,Wn,'s');[H,W]=zp2tf(Z,P,K); figure(1);freqs(H,W);[P,Q]=freqs(H,W);figure(2);plot(Q*Fs/(2*pi),abs(P));grid on; xlabel('頻率/Hz');ylabel('幅度'); 2、基于Butterworth型模擬濾波器原型使用雙線性變換方法設(shè)計數(shù)字濾波器的,要求參數(shù)為截止頻率?p?0.4?;通帶最大衰減Ap?1dB;阻帶截止頻率?s?0.25?;阻帶最小衰減AS?40dB。程序: wp=0.4*pi;ws=0.25*pi;rp=1;rs=40;fs=500;ts=1/fs;wp1=wp*ts;ws1=ws*ts; wp2=2*fs*tan(wp1/2);ws2=2*fs*tan(ws1/2); [N,Wn]=buttord(wp2,ws2,rp,rs,'s');[Z,P,K]=buttap(N);[Bap,Aap]=zp2tf(Z,P,K);[b,a]=lp2lp(Bap,Aap,Wn);[bz,az]=bilinear(b,a,fs);[H,W]=freqz(bz,az);subplot(2,1,1);plot(W/pi,abs(H));grid on;xlabel('頻率')ylabel('幅度')subplot(2,1,2); plot(W/pi,20*log10(abs(H)));grid on;xlabel('頻率');ylabel('幅度(dB)'); 實驗七 FIR數(shù)字濾波器的設(shè)計 一、實驗?zāi)康?/p> 掌握用窗函數(shù)設(shè)計FIR數(shù)字濾波的原理及其設(shè)計步驟;熟悉線性相位數(shù)字濾波器的特性。學習編寫數(shù)字濾波器的設(shè)計程序的方法,并能進行正確編程;根據(jù)給定的濾波器指標,給出設(shè)計步驟。 二、實驗原理 如果系統(tǒng)的沖激響應(yīng)h(n)為已知,則系統(tǒng)的輸入輸出關(guān)系為 y(n)=x(n)*h(n) 對于低通濾波器,只要設(shè)計出低通濾波器的沖激響應(yīng)函數(shù),就可以由式得到系統(tǒng)的輸出了。 但是將h(n)作為濾波器的脈沖響應(yīng)有兩個問題:一是它是無限長的;二是它是非因果的。對此,采取兩項措施:一是將h(n)截短;二是將其右移。 設(shè)計時,要根據(jù)阻帶的最小衰減和過渡帶寬度來選擇恰當?shù)拇昂瘮?shù)類型和窗口長度N。常用的窗函數(shù)有矩形窗、海明窗和布萊克曼窗等。 窗函數(shù)設(shè)計FIR濾波器步驟如下: (1)給定理想頻率響應(yīng)的幅頻特性和相頻特性; (2)求理想單位脈沖響應(yīng),在實際計算中,可對理想頻率響應(yīng)采樣。(3)根據(jù)過渡帶寬度和阻帶最小衰減,確定窗函數(shù)類型和窗口長度N;(4)求FIR濾波器單位脈沖響應(yīng); (5)分析幅頻特性,若不滿足要求,可適當改變窗函數(shù)形式或長度N,重復上述設(shè)計過程,以得到滿意的結(jié)果。 三、實驗內(nèi)容及分析 1、分別用海明窗和布萊克曼窗設(shè)計一個48階的FIR帶通濾波器,通帶為Wn??0.450.55?。程序1:海明窗設(shè)計 N=48; Window=hamming(N+1);w1=0.45;w2=0.55;ws=[w1,w2]; b=fir1(N,ws/pi,Window);freqz(b,1,512);title('海明窗');grid on; 程序2:萊克曼窗設(shè)計 N=48; Window=blackman(N+1);w1=0.45;w2=0.55;ws=[w1,w2]; b=fir1(N,ws/pi,Window);freqz(b,1,512);title('布萊克曼窗');grid on; 2、用矩形窗設(shè)計一個線性相位高通濾波器。其中He??jw?e?j????????00.3????? 0???0.3?程序: N=9; alpha=(N-1)/2;Wc=0.7*pi;n=(0:8);i=n-alpha;i=i+(i==0)*eps; h=(-1).^n.*sin((i).*Wc)./((i).*pi);%矩形窗函數(shù)設(shè)計的系統(tǒng)脈沖響應(yīng) w=(0:1:500)*2*pi/500; H=h*exp(-j*n'*w);%矩形窗函數(shù)設(shè)計的頻響 magH=abs(H);% 矩形窗函數(shù)設(shè)計的振幅 subplot(211);stem(n,h); axis([0,8,-0.4,0.4]);title('矩形窗設(shè)計h(n)');line([0,10],[0,0]);xlabel('n');ylabel('h');subplot(212);plot(w/pi,magH); xlabel('以pi為單位的頻率');ylabel('H振幅');axis([0,2,0,1.7]);title('矩形窗設(shè)計振幅譜'); 實驗心得體會: 這次實驗使我進一步加深了對MATLAB軟件的使用。從上次的信號系統(tǒng)實驗的初步使用到這一次的深入了解,有了更深刻的認識。對這種語言環(huán)境也有了新的了解。 在實驗的過程中,我對數(shù)字濾波器的整個過程有了很好的理解和掌握。IIR數(shù)字濾波器的設(shè)計讓我知道了巴特沃思濾波器和切比雪夫濾波器的頻率特性,還有雙線性變換及脈沖響應(yīng)不變法設(shè)計的濾波器的頻率特性。做這兩個實驗的時候程序有點困難,但經(jīng)過細心的改寫圖形最終出來了。FIR數(shù)字濾波器的設(shè)計出來的是兩種窗的圖形,通過兩種窗的比較,我了解了他們各自的特點,幅頻和相頻特性。 最后,感謝張老師對我的諄諄教導! 目 錄 摘要...........................................................................................................................................1 1 緒論..............................................................................................................................................2 1.1 DSP系統(tǒng)特點和設(shè)計基本原則......................................................................................2 1.2 國內(nèi)外研究動態(tài).............................................................................................................2 2系統(tǒng)設(shè)計........................................................................................................................................3 3硬件設(shè)計........................................................................................................................................5 3.1 硬件結(jié)構(gòu)...........................................................................................................................5 3.2 硬件電路設(shè)計...................................................................................................................7 3.2.1 總輸入電路...........................................................................................................7 3.2.2 總輸出電路...........................................................................................................7 3.2.3 語音輸入電路.......................................................................................................9 3.2.4 語音輸出電路.......................................................................................................9 實驗結(jié)果及分析.........................................................................................................................10 4.1 實驗結(jié)果.........................................................................................................................10 4.2 實驗分析.........................................................................................................................12 5 總結(jié)與心得體會.........................................................................................................................13 參考文獻.........................................................................................................................................14 致謝................................................................................................................................................15 摘要 基于DSP的語音信號處理系統(tǒng),該系統(tǒng)采用TMS320VC5509作為主處理器,TLV320AIC23B作為音頻芯片,在此基礎(chǔ)上完成系統(tǒng)硬件平臺的搭建和軟件設(shè)計,從而實現(xiàn)對語音信號的采集、濾波和回放功能,它可作為語音信號處理的通用平臺。 語音是人類相互之間進行交流時使用最多、最自然、最基本也是最重要的信息載體。在高度信息化的今天,語音信號處理是信息高速公路、多媒體技術(shù)、辦公自動化、現(xiàn)代通信及智能系統(tǒng)等新興領(lǐng)域應(yīng)用的核心技術(shù)之一。通常這些信號處理的過程要滿足實時且快速高效的要求,隨著DSP技術(shù)的發(fā)展,以DSP為內(nèi)核的設(shè)備越來越多,為語音信號的處理提供了良好的平臺。本文設(shè)計了一個基于TMS320VC5509定點的語音信號處理系統(tǒng),實現(xiàn)對語音信號的采集、處理與回放等功能,為今后復雜的語音信號處理算法的研究和實時實現(xiàn)提供一個通用平臺。 關(guān)鍵詞:語音處理;DSP;TMS320VC5509;TLV320AIC23B 1 緒論 語音是人類相互間所進行的通信的最自然和最簡潔方便的形式,語音通信是一種理想的人機通信方式。語音通信的研究涉及到人工智能、數(shù)字信號處理、微型計算機技術(shù)、語言聲學、語言學等許多領(lǐng)域,所以說語音的通信是一個多學科的綜合研究領(lǐng)域,其研究成果具有重要的學術(shù)價值。另外通過語音來傳遞信息是人類最重要的、最有效、最常用的交換信息的形式。語言是人類特有的功能,聲音是人類常用的工具,是相互傳遞信息的主要手段。同時也是眾構(gòu)成思想交流和感情溝通的最主要的途徑。 1.1 DSP系統(tǒng)特點和設(shè)計基本原則 DSP(digital signal processor)是一種獨特的微處理器,是以數(shù)字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉(zhuǎn)換為0或1的數(shù)字信號。再對數(shù)字信號進行修改、刪除、強化,并在其他系統(tǒng)芯片中把數(shù)字數(shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數(shù)以千萬條復雜指令程序,遠遠超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強大數(shù)據(jù)處理能力和高運行速度,是最值得稱道的兩大特色。 1.2 國內(nèi)外研究動態(tài) 語音信號處理作為一個重要的研究領(lǐng)域,已經(jīng)有很長的研究歷史。但是它的快速發(fā)展可以說是從1940年前后Dudley的聲碼器和Potter等人的可見語音開始的;20世紀60年代中期形成的一系列數(shù)字信號處理的理念和技術(shù)基礎(chǔ);到了80年代,由于矢量量化、隱馬爾可夫模型和人工神經(jīng)網(wǎng)絡(luò)等相繼被應(yīng)用于語音信號處理,并經(jīng)過不斷改進與完善,使得語音信號處理技術(shù)產(chǎn)生了突破性的進展。一方面,對聲學語音學統(tǒng)計模型的研究逐漸深入,魯棒的語音識別、基于語音段的建模方法及隱馬爾可夫模型與人工神經(jīng)網(wǎng)絡(luò)的結(jié)合成為研究的熱點。另一方面,為了語音識別實用化的需要,講者自適應(yīng)、聽覺模型、快速搜索識別算法以及進一步的語言模型的研究等課題倍受關(guān)注。 在通信越來越發(fā)達的當今世界,尤其最近幾十年,語音壓縮編碼技術(shù)在移動 通信、IP電話通信、保密通信、衛(wèi)星通信以及語音存儲等很多方面得到了廣泛的應(yīng)用。因此,語音編碼一直是通信和信號處理的研究熱點,并其取得了驚人的進展,目前在PC機上的語音編碼已經(jīng)趨于成熟,而如何在嵌入式系統(tǒng)中實時實現(xiàn)語音壓縮編碼則是近些年來語音信號處理領(lǐng)域的研究熱點之一。 2系統(tǒng)設(shè)計 在實際生活中,當聲源遇到物體時會發(fā)生反射,反射的聲波和聲源聲波一起傳輸,聽者會發(fā)現(xiàn)反射聲波部分比聲源聲波慢一些,類似人們面對山體高聲呼喊后可以在過一會兒聽到回聲的現(xiàn)象。聲音遇到較遠物體產(chǎn)生的反射會比遇到較近的反射波晚些到達聲源位置,所以回聲和原聲的延遲隨反射物體的距離大小改變。同時,反射聲音的物體對聲波的反射能力,決定了聽到的回聲的強弱和質(zhì)量。另外,生活中的回聲的成分比較復雜,有反射、漫反射、折射,還有回聲的多次反射、折射效果。 當已知一個數(shù)字音源后,可以利用計算機的處理能力,用數(shù)字的方式通過計算模擬回聲效應(yīng)。簡單的講,可以在原聲音流中疊加延遲一段時間后的聲流,實現(xiàn)回聲效果。當然通過復雜運算,可以計算各種效應(yīng)的混響效果。如此產(chǎn)生的回聲,我們稱之為數(shù)字回聲。 本次實驗的程序流程圖如下: 圖2.1 程序流程圖 本次實驗的系統(tǒng)框圖如下: 圖2.2 系統(tǒng)框圖 3硬件設(shè)計 3.1 硬件結(jié)構(gòu) 圖3.1是系統(tǒng)的硬件結(jié)構(gòu)框圖, 系統(tǒng)主要包括VC5509和A IC23 兩個模塊。 圖3.1系統(tǒng)硬件結(jié)構(gòu)框圖 利用VC5509 的片上外設(shè)I2C(Inter-Integrated Circuit, 內(nèi)部集成電路)模塊配置AIC23 的內(nèi)部寄存器;通過VC5509 的McBSP(Multi channel Buffered Serial Ports, 多通道緩存串口)接收和發(fā)送采樣的音頻數(shù)據(jù)??刂仆ǖ乐辉谂渲肁IC23 的內(nèi)部寄存器時工作, 而當傳輸音頻數(shù)據(jù)時則處于閑置狀態(tài)。 AIC23通過麥克風輸入或者立體聲音頻輸入采集模擬信號, 并把模擬信號轉(zhuǎn)化為數(shù)字信號, 存儲到DSP的內(nèi)部RAM中,以便DSP處理。 當DSP完成對音頻數(shù)據(jù)的處理以后, AIC23再把數(shù)字信號轉(zhuǎn)化為模擬信號, 這樣就能夠在立體聲輸出端或者耳機輸出端聽到聲音。 AIC23能夠?qū)崿F(xiàn)與VC5509 DSP的McBSP端口的無縫連接, 使系統(tǒng)設(shè)計更加簡單。接口的原理框圖, 如下圖所示。 圖3.2 AIC23與VC5509接口原理圖 系統(tǒng)中A IC23的主時鐘12 MHz直接由外部的晶振提供。MODE接數(shù)字地, 表示利用I2 C控制接口對AIC23傳輸控制數(shù)據(jù)。CS接數(shù)字地, 定義了I2 C總線上AIC23的外設(shè)地址, 通過將CS接到高電平或低電平, 可以選擇A IC23作為從設(shè)備在I2 C總線上的地址。SCLK和SDIN是AIC23控制端口的移位時鐘和數(shù)據(jù)輸入端,分別與VC5509的I2C模塊端口SCL和SDA相連。 收發(fā)時鐘信號CLKX1和CLKR1由A IC23的串行數(shù)據(jù)輸入時鐘BCLK提供, 并由A IC23的幀同步信號LRCIN、LRCOUT啟動串口數(shù)據(jù)傳輸。DX1和DR1分別與A IC23 的D IN 和DOUT 相連, 從而完成VC5509與AIC23間的數(shù)字信號通信。 3.2 硬件電路設(shè)計 3.2.1 總輸入電路 圖3.3 總輸入電路 從左到右各部分電路為: 話筒,開關(guān),語音輸入電路,UA741高增益放大電路,有源二階帶 通濾波器。 3.2.2 總輸出電路 圖3.4 總輸出電路 從左到右各部分電路為: LM386高頻功率放大器及其外圍器件連接電路,語音輸出電路,開關(guān),揚聲器。 3.2.3 語音輸入電路 圖3.5語音輸入電路 3.2.4 語音輸出電路 圖3.6 語音輸出電路 語音信號通道包括模擬輸入和模擬輸出兩個部分。模擬信號的輸入輸出電路如圖所示。上圖中MICBIAS 為提供的麥克風偏壓,通常是3/4 AVDD,MICIN為麥克風輸入,可以根據(jù)需要調(diào)整輸入增益。下圖中LLINEOUT 為左聲道輸出,RLINEOUT為右聲道輸出。用戶可以根據(jù)電阻阻值調(diào)節(jié)增益的大小,使語音輸入輸出達到最佳效果。從而實現(xiàn)良好的模擬語音信號輸入與模擬信號的輸出。4 實驗結(jié)果及分析 4.1 實驗結(jié)果 按“F5”鍵運行,注意觀察窗口中的bEcho=0,表示數(shù)字回聲功能沒有激活。這時從耳機中能聽到麥克風中的輸入語音放送。將觀察窗口中bEcho的取值改成非0值。這時可從耳機中聽到帶數(shù)字回聲道語音放送。 分別調(diào)整uDelay和uEffect的取值,使他們保持在0-1023范圍內(nèi),同時聽聽耳機中的輸出有何變化。 當uDelay和uEffect的數(shù)值增大時,數(shù)字回聲的效果就會越加的明顯。 圖4.1 修改前程序圖 圖4.2 修改前程序圖 圖4.3 頻譜分析 圖4.4 左聲道及右聲道波形 4.2 實驗分析 所以,從本實驗可知當已知一個數(shù)字音源后,可以利用計算機的處理能力,用數(shù)字的方式通過計算模擬回聲效應(yīng)。簡單的講,可以在原聲音流中疊加延遲一段時間后的聲流,實現(xiàn)回聲效果。當然通過復雜運算,可以計算各種效應(yīng)的混響效果。 聲音放送可以加入數(shù)字回聲,數(shù)字回聲的強弱和與原聲的延遲均可在程序中設(shè)定和調(diào)整。5 總結(jié)與心得體會 通過本次課程設(shè)計,我明白了細節(jié)決定成敗這句話的道理,在實驗中,有很多注意的地方,都被忽視了,導致再花費更多的時間去修改,這嚴重影響了試驗的進度。同時,在本次實驗中我了解了ICETEK – VC5509 – A板上語音codec芯片TLV320AIC23的設(shè)計和程序控制原理,并進一步掌握了數(shù)字回聲產(chǎn)生原理、編程及其參數(shù)選擇、控制,以及了解了VC5509DSP擴展存儲器的編程使用方法。 這一學期的理論知識學習加上這次課程設(shè)計,使我對DSP有了更加深刻的了解,對數(shù)字信號的處理功能,軟硬件相結(jié)合,語音信號的采集與放送等等方面都有了很深的了解,相信本次課程設(shè)計,無論是對我以后的學習,還是工作等方面都有一個很大的幫助。因此,本次課程設(shè)計讓我受益匪淺。 參考文獻 [1]李利.DSP原理及應(yīng)用[M].北京:中國水利水電出版社,2004.[2]王安民,陳明欣,朱明.TMS320C54xxDSP實用技術(shù)[M].北京:清華大學出版社,2007 [3]彭啟琮,李玉柏.DSP技術(shù)[M].成都:電子科技大學出版社,1997 [4]李宏偉,等.基于幀間重疊譜減法的語音增強方法[J].解放軍理工大學學報,2001(1):41~44 [5]TexasInstrumentsIncorporated.TMS320C54x系列DSP的CPU與外設(shè)[M].梁曉雯,裴小平,李玉虎,譯.北京:清華大學出版社,2006 [6]趙力.語音信號處理[M].北京:機械工業(yè)出版社,2003比較圖4和圖5,可以看到1200Hz以上的頻譜明顯得到了抑制。 [7]江濤,朱光喜.基于TMS320VC5402的音頻信號采集與系統(tǒng)處理[J].電子技術(shù)用,2002,28(7):70~72[8]TexasInstrumentsIncorporated:TMS320VC5402Datasheet,2001 致謝 在本次課程設(shè)計的即將完成之際,筆者的心情無法平靜,本文的完成既是筆者孜孜不倦努力的結(jié)果,更是指導老師樊洪斌老師親切關(guān)懷和悉心指導的結(jié)果。在整個課程設(shè)計的選題、研究和撰寫過程中,老師都給了我精心的指導、熱忱的鼓勵和支持,他的精心點撥為我開拓了研究視野,修正了寫作思路,對課程設(shè)計的完善和質(zhì)量的提高起到了關(guān)鍵性的作用。另外,導師嚴謹求實的治學態(tài)度、一絲不茍的工作作風和高尚的人格魅力,都給了學生很大感觸,使學生終生受益。在此,學生謹向老師致以最真摯的感激和最崇高的敬佩之情。 另外,還要感謝這段時間來陪我一起努力同學,感謝我們這個小團隊,感謝每一個在學習和生活中所有給予我關(guān)心、支持和幫助的老師和同學們,幾年來我們一起學習、一起玩耍,共同度過了太多的美好時光。我們始終是一個團結(jié)、友愛、積極向上的集體。 南京郵電大學 實 驗 報 告 實驗名稱_____熟悉MATLAB環(huán)境 ___ 快速傅里葉變換及其應(yīng)用 ____IIR數(shù)字濾波器的設(shè)計_ FIR數(shù)字濾波器的設(shè)計 課程名稱 數(shù)字信號處理A 班級學號_______09002111___________ 姓 名 王都超 開課時間 2011/2012學年,第 二 學期 實驗一 熟悉MATLAB環(huán)境 一、實驗?zāi)康?/p> (1)熟悉MATLAB的主要操作命令。(2)學會簡單的矩陣輸入和數(shù)據(jù)讀寫。(3)掌握簡單的繪圖命令。 (4)用MATLAB編程并學會創(chuàng)建函數(shù)。(5)觀察離散系統(tǒng)的頻率響應(yīng)。 二、實驗內(nèi)容 (1)數(shù)組的加、減、乘、除和乘方運算。輸入A=[1 2 3 4],B=[3,4,5,6],求 C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B。并用stem語句畫出A、B、C、D、E、F、G。 D = -2 E = F = 0.3333 0.5000 0.6000 0.6667 G = 243 4096(2)用MATLAB實現(xiàn)下列序列: a)x(n)?0.8n 0?n?1 5n=0:1:15;x1=0.8.^n;a=(0.2+3*i)*n;stem(x1)b)x(n)?e(0.2?3j)n 0?n?15 n=0:1:15;x2=exp(a);a=(0.2+3*i)*n;stem(x2) c)x(n)?3cos(0.125?n?0.2?)?2sin(0.25?n?0.1?) 0?n?15 (4)繪出下列時間函數(shù)的圖形,對x軸、y軸以及圖形上方均須加上適當?shù)臉俗ⅲ?a)x(t)?sin(2?t)0?t?10s b)x(t)?cos(100?t)sin(?t)0?t?4s t=0:0.01:4;x=cos(100*pi*t).*sin(pi*t);plot(t,x, 'r-');xlabel('t'),ylabel('x(t)'),title('cos') (6)給定一因果系統(tǒng)H(z)?(1?頻響應(yīng)和相頻響應(yīng)。 2z?1?z?2)/(1?0.67z?1?0.9z?2),求出并繪制H(z)的幅 (7)計算序列{8-2-1 2 3}和序列{2 3-1-3}的離散卷積,并作圖表示卷積結(jié)果。 (8)求以下差分方程所描述系統(tǒng)的單位脈沖響應(yīng)h(n), 0?n?50 y(n)?0.1y(n?1)?0.06y(n?2)?x(n)?2x(n?1) 實驗過程與結(jié)果(含實驗程序、運行的數(shù)據(jù)結(jié)果和圖形); clear all;N=50;a=[1-2];b=[1 0.1-0.06];x1=[1 zeros(1,N-1)];n=0:1:N-1;h=filter(a,b,x1);stem(n,h)axis([-1 53-2.5 1.2]) 實驗二 快速傅里葉變換及其應(yīng)用 一、實驗?zāi)康?/p> (1)在理論學習的基礎(chǔ)上,通過本實驗,加深對FFT的理解,熟悉MATLAB中的有關(guān)函數(shù)。(2)應(yīng)用FFT對典型信號進行頻譜分析。 (3)了解應(yīng)用FFT進行信號頻譜分析過程中可能出現(xiàn)的問題,以便在實際中正確應(yīng)用FFT。(4)應(yīng)用FFT實現(xiàn)序列的線性卷積和相關(guān)。 二、實驗內(nèi)容 實驗中用到的信號序列 a)高斯序列 ??(n?p)q?xa(n)??e?0?20?n?15 其他 b)衰減正弦序列 ?e?ansin(2?fn)xb(n)??0?0?n?15其他 c)三角波序列 ?n?xc(n)??8?n?0?0?n?34?n?7 其他 d)反三角波序列 ?4?n?xd(n)??n?4?0?0?n?34?n?7 其他 (1)觀察高斯序列的時域和幅頻特性,固定信號xa(n)中參數(shù)p=8,改變q的值,使q分別等于2,4,8,觀察它們的時域和幅頻特性,了解當q取不同值時,對信號序列的時域幅頻特性的影響;固定q=8,改變p,使p分別等于8,13,14,觀察參數(shù)p變化對信號序列的時域及幅頻特性的影響,觀察p等于多少時,會發(fā)生明顯的泄漏現(xiàn)象,混疊是否也隨之出現(xiàn)?記錄實驗中觀察到的現(xiàn)象,繪出相應(yīng)的時域序列和幅頻特性曲線。 (3)觀察三角波和反三角波序列的時域和幅頻特性,用N=8點FFT分析信號序列xc(n)和觀察兩者的序列形狀和頻譜曲線有什么異同?繪出兩序列及其幅頻特性xd(n)的幅頻特性,曲線。 在xc(n)和xd(n)末尾補零,用N=32點FFT分析這兩個信號的幅頻特性,觀察幅頻特性發(fā)生了什么變化?兩種情況的FFT頻譜還有相同之處嗎?這些變化說明了什么? (5)用FFT分別實現(xiàn)xa(n)(p=8,q=2)和xb(n)(a=0.1,f=0.0625)的16點循環(huán)卷積和線性卷積。 n=0:15;p=8;q=2; xa=exp(-(n-p).^2/q);subplot(2,3,1);stem(n,xa,'.');title('xa波形'); Xa=fft(xa,16);subplot(2,3,4);stem(abs(Xa),'.'); title('Xa(k)=FFT[xa(n)]的波形 ');A=1;f=0.0625;a=0.1; xb=exp(-a*n).*sin(2*pi*f*n);subplot(2,3,2);stem(n,xb,'.');title('xb波形');Xb=fft(xb,16);subplot(2,3,5);stem(abs(Xb),'.'); title('Xb(k)=FFT[xb(n)]的波形 '); 實驗過程與結(jié)果(含實驗程序、運行的數(shù)據(jù)結(jié)果和圖形); 實驗三 IIR數(shù)字濾波器的設(shè)計 一、實驗?zāi)康?/p> (1)掌握雙線性變換法及脈沖響應(yīng)不變法設(shè)計IIR數(shù)字濾波器的具體設(shè)計方法及其原理,熟悉用雙線性變換法及脈沖響應(yīng)不變法設(shè)計低通、高通和帶通IIR數(shù)字濾波器的計算機編程。 (2)觀察雙線性變換及脈沖響應(yīng)不變法設(shè)計的濾波器的頻域特性,了解雙線性變換法及脈沖響應(yīng)不變法的特點。 (3)熟悉巴特沃思濾波器、切比雪夫濾波器和橢圓濾波器的頻率特性。 二、實驗內(nèi)容(1)P162 例4.4 設(shè)采樣周期T=250?s(采樣頻率fs=4kHz),分別用脈沖響應(yīng)不變法和雙線性變換法設(shè)計一個三階巴特沃思低通濾波器,其3dB邊界頻率為fc=1kHz。 脈沖響應(yīng)不變法: fc=1000;fs=4000;OmegaC=2*pi*fc;[B,A]=butter(3, OmegaC,'s');[num1,den1]=impinvar(B,A,fs);[h1,w]=freqz(num1,den1);f = w/pi*fs/2;plot(f,abs(h1)); 雙線性變換法: fc=1000;fs=4000; OmegaC=2*fs*tan(pi*fc/fs);[B,A]=butter(3, OmegaC,'s');[num2,den2]=bilinear(B,A,fs);[h2,w]=freqz(num2,den2);f = w/pi*fs/2;plot(f,abs(h2)); 同一圖中畫兩條曲線: fc=1000;fs=4000;OmegaC=2*pi*fc;[B,A]=butter(3, OmegaC,'s');[num1,den1]=impinvar(B,A,fs);[h1,w]=freqz(num1,den1);f = w/pi*fs/2; OmegaC=2*fs*tan(pi*fc/fs);[B,A]=butter(3, OmegaC,'s');[num2,den2]=bilinear(B,A,fs);[h2,w]=freqz(num2,den2);f = w/pi*fs/2;plot(f,abs(h1),'r-.');hold on;plot(f,abs(h2),'g-'); (選做)(2)fc=0.2kHz,?=1dB,fr=0.3kHz,At=25dB,T=1ms;分別用脈沖響應(yīng)不變法及雙線性變換法設(shè)計一巴特沃思數(shù)字低通濾波器,觀察所設(shè)計數(shù)字濾波器的幅頻特性曲線,記錄帶寬和衰減量,檢查是否滿足要求。比較這兩種方法的優(yōu)缺點。 實驗過程與結(jié)果(含實驗程序、運行的數(shù)據(jù)結(jié)果和圖形); 實驗四 FIR數(shù)字濾波器的設(shè)計 一、實驗?zāi)康?/p> (1)掌握用窗函數(shù)法,頻率采樣法及優(yōu)化設(shè)計法設(shè)計FIR濾波器的原理及方法,熟悉相應(yīng)的計算機編程; (2)熟悉線性相位FIR濾波器的幅頻特性和相頻特性; (3)了解各種不同窗函數(shù)對濾波器性能的影響。 二、實驗內(nèi)容 (1)生成一個長度為20的矩形窗,畫出其時域和幅頻特性曲線。n=0:1:19;N=20;win(1:20)=1;[H,w]=freqz(win,1);subplot(2,1,1);stem(n,win)subplot(2,1,2);plot(w,abs(H)); (2)用矩形窗設(shè)計一個21階的線性相位低通FIR數(shù)字濾波器,截止頻率Wc=0.25π,求出濾波器系數(shù),并繪出濾波器的幅頻特性。修改程序,分別得到階次為N=41,61的濾波器,并顯示其各自的幅頻曲線。 a)在上面所得的幾幅圖中,在截止頻率兩邊可以觀察到幅頻響應(yīng)的擺動行為。請問波紋的數(shù)量與濾波器脈沖響應(yīng)的長度之間有什么關(guān)系? b)最大波紋的高度與濾波器脈沖響應(yīng)的長度之間有什么關(guān)系? 實驗過程與結(jié)果(含實驗程序、運行的數(shù)據(jù)結(jié)果和圖形); 21階的線性相位低通FIR數(shù)字濾波器: Wc=0.25*pi;N=21;M=(N-1)/2; %位移量 for n=0:(N-1) if(n== fix(M)) %中間的點單獨算 hd(n+1)=Wc/pi; else hd(n+1)=sin(Wc*(n-M))/(pi*(n-M));end;end;win=boxcar(N);%%%不同窗函數(shù) h=hd.*win';[H,w]=freqz(h,1);n=0:1:N-1;subplot(3,1,1);stem(n,h)subplot(3,1,2);plot(w,abs(H));subplot(3,1,3);plot(w,angle(H)); 41階的線性相位低通FIR數(shù)字濾波器: Wc=0.25*pi;N=41;M=(N-1)/2; %位移量 for n=0:(N-1) if(n== fix(M)) %中間的點單獨算 hd(n+1)=Wc/pi; else hd(n+1)=sin(Wc*(n-M))/(pi*(n-M));end;end;win=boxcar(N);%%%不同窗函數(shù) h=hd.*win';[H,w]=freqz(h,1);n=0:1:N-1;subplot(3,1,1);stem(n,h)subplot(3,1,2);plot(w,abs(H));subplot(3,1,3);plot(w,angle(H)); 61階的線性相位低通FIR數(shù)字濾波器: Wc=0.25*pi;N=61;M=(N-1)/2; %位移量 for n=0:(N-1) if(n== fix(M)) %中間的點單獨算 hd(n+1)=Wc/pi; else hd(n+1)=sin(Wc*(n-M))/(pi*(n-M));end;end;win=boxcar(N);%%%不同窗函數(shù) h=hd.*win';[H,w]=freqz(h,1);n=0:1:N-1;subplot(3,1,1);stem(n,h)subplot(3,1,2);plot(w,abs(H));subplot(3,1,3);plot(w,angle(H)); 數(shù)字信號處理實驗小結(jié)及心得體會: 通過這次實驗,我對MATLAB語言有了一定的認識,雖然還不能完全用MATLAB獨立編寫程序,但對這種語言環(huán)境有了新的了解。我知道了一般的加減乘除在MATLAB中不同的意義。知道輸入、輸出語句怎么形成。通過快速傅里葉變換及其應(yīng)用的實驗,加深了我對FFT的理解,還有對各典型信號的頻譜分析,改變參數(shù)后時域和幅頻特性的變化。IIR數(shù)字濾波器的設(shè)計讓我知道了巴特沃思濾波器和切比雪夫濾波器的頻率特性,還有雙線性變換及脈沖響應(yīng)不變法設(shè)計的濾波器的頻率特性。做這個實驗的時候程序有點困難,很多細節(jié)問題不能考慮清楚,導致圖形出不來。FIR數(shù)字濾波器的設(shè)計出來的是三種窗的圖形,通過三種窗的比較,我了解了他們各自的特點,幅頻和相頻特性。我在這次實驗中的收獲很大,接觸了很多新的知識,但在實驗寫程序時,我發(fā)現(xiàn)自己還有很多不足。很多程序?qū)懖煌耆_@是自己今后要加強的地方。第四篇:數(shù)字信號處理課程設(shè)計
第五篇:數(shù)字信號處理實驗報告