第一篇:數(shù)字信號(hào)處理(DSP)課程設(shè)計(jì)報(bào)告
中南大學(xué)
數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告
專業(yè)班級(jí): 通信工程1201
指導(dǎo)老師:李宏
姓
名:
學(xué)
號(hào):
完成日期:2014年10月18日
前
言
現(xiàn)代信號(hào)處理是將信號(hào)表示并處理的理論和技術(shù),而數(shù)字信號(hào)處理與模擬信號(hào)處理是信號(hào)處理的子集。在本次課程設(shè)計(jì)中主要以數(shù)字信號(hào)處理來解決問題。數(shù)字信號(hào)處理的目的是對(duì)真實(shí)世界的連續(xù)模擬信號(hào)進(jìn)行測(cè)量或?yàn)V波,因此在進(jìn)行數(shù)字信號(hào)處理之前需要將信號(hào)從模擬域轉(zhuǎn)換到數(shù)字域,這通常通過模數(shù)轉(zhuǎn)換器實(shí)現(xiàn)。而數(shù)字信號(hào)處理的輸出經(jīng)常也要變換到模擬域,這是通過數(shù)模轉(zhuǎn)換器實(shí)現(xiàn)的。
數(shù)字信號(hào)處理的算法需要利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備如數(shù)字信號(hào)處理器(DSP)和專用集成電路(ASIC)等。數(shù)字信號(hào)處理技術(shù)及設(shè)備具有靈活、精確、抗干擾強(qiáng)、設(shè)備尺寸小、造價(jià)低、速度快等突出優(yōu)點(diǎn),這些都是模擬信號(hào)處理技術(shù)與設(shè)備所無法比擬的。數(shù)字信號(hào)處理的核心算法是離散傅立葉變換(DFT),是DFT使信號(hào)在數(shù)字域和頻域都實(shí)現(xiàn)了離散化,從而可以用通用計(jì)算機(jī)處理離散信號(hào)。而使數(shù)字信號(hào)處理從理論走向?qū)嵱玫氖强焖俑盗⑷~變換(FFT),F(xiàn)FT的出現(xiàn)大大減少了DFT的運(yùn)算量,使實(shí)時(shí)的數(shù)字信號(hào)處理成為可能、極大促進(jìn)了該學(xué)科的發(fā)展。
MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)的簡(jiǎn)稱,和Mathematica、Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶接口、連接其它編程語言的程序等。
一、課程設(shè)計(jì)目的:
1.全面復(fù)習(xí)課程所學(xué)理論知識(shí),鞏固所學(xué)知識(shí)重點(diǎn)和難點(diǎn),將理論與實(shí)踐很好地結(jié)合起來。
2.掌握信號(hào)分析與處理的基本方法與實(shí)現(xiàn)
3.提高綜合運(yùn)用所學(xué)知識(shí)獨(dú)立分析和解決問題的能力; 4.熟練使用一種高級(jí)語言進(jìn)行編程實(shí)現(xiàn)。
二、課程設(shè)計(jì)題目:
(一):
1)生成信號(hào)發(fā)生器:能產(chǎn)生頻率(或基頻)為10Hz的周期性正弦波、三角波和方波信號(hào)。繪出它們的時(shí)域波形
2)為避免頻譜混疊,試確定各信號(hào)的采樣頻率。說明選擇理由。3)對(duì)周期信號(hào)進(jìn)行離散傅立葉變換,為了克服頻譜泄露現(xiàn)象,試確定截取數(shù)據(jù)的長(zhǎng)度,即信號(hào)長(zhǎng)度。分析說明選擇理由。4)繪出各信號(hào)頻域的幅頻特性和相頻特性
5)以正弦周期信號(hào)為例,觀察討論基本概念(頻譜混疊、頻譜泄漏、整周期截取等)。
(二):
已知三個(gè)信號(hào)aip(n),經(jīng)調(diào)制產(chǎn)生信號(hào)s(n)??aip(n)cos(i?n/4),其中ai為
i?1常數(shù),p(n)為具有窄帶特性的Hanning信號(hào)。將此已調(diào)信號(hào)通過信道傳輸,描述該信道的差分方程為
y(n)?1.1172y(n?1)?0.9841y(n?2)?0.4022y(n?3)?0.2247y(n?4)?0.2247x(n)?0.4022x(n?1)?0.9841x(n?2)?1.1172x(n?3)?x(n?4)
得到接收信號(hào)y(n)?s(n)*h(n)
1)分析Hanning信號(hào)p(n)的時(shí)域與頻域特性 2)分析已調(diào)信號(hào)s(n)的時(shí)域與頻域特性 3)分析系統(tǒng)的單位脈沖響應(yīng)h(n)4)分析接收信號(hào)y(n)的頻譜
5)設(shè)計(jì)帶通濾波器從接收信號(hào)y(n)中還原出三個(gè)已調(diào)信號(hào)。
3(三):圖像信號(hào)相關(guān)處理
1)讀入一幅彩色圖像
2)將彩色圖像進(jìn)行三原色分解,分解出R、G、B分量,并用圖像顯示出來
3)將彩色圖像灰度化,轉(zhuǎn)換為灰度圖像并顯示
4)對(duì)灰度圖像用幾種典型的邊緣檢測(cè)算子進(jìn)行邊緣檢測(cè),顯示檢測(cè)出的邊緣。
三、調(diào)試及結(jié)果分析(截圖):
(一):
1)
頻率為10Hz的周期性正弦波:
頻率為10Hz的周期性三角波:
頻率為10Hz的周期性方波:
2)采樣頻率不能過低,必須fs>=2fm,即采樣頻率必須大于或等于最高截止頻率的二倍(對(duì)采樣頻率的要求,即采樣頻率要足夠大,采樣的值要足夠多,才能不失真的恢復(fù)原信號(hào))。題目中信號(hào)頻率為10Hz,則采樣頻率應(yīng)該大于或等于20Hz,這樣的話采樣離散信號(hào)才能夠無失真的恢復(fù)到原來的連續(xù)信號(hào)。3)截取數(shù)據(jù)長(zhǎng)度(即信號(hào)長(zhǎng)度)N=T*fs=2 4)
頻率為10Hz的周期性正弦波的幅頻特性和相頻特性:
頻率為10Hz的周期性三角波的幅頻特性和相頻特性:
頻率為10Hz的周期性方波的幅頻特性和相頻特性:
5)
頻譜混疊:一個(gè)信號(hào)的最高頻率比如是fmax,那它的頻譜就是在-fmax~fmax之間有值。對(duì)這個(gè)信號(hào)進(jìn)行時(shí)域采樣(就是取離散的點(diǎn)),設(shè)采樣率為fs。有一個(gè)定理:對(duì)信號(hào)進(jìn)行時(shí)域fs的采樣,信號(hào)的頻譜就會(huì)在頻域以fs為周期重復(fù)。那么如果fs>=2fmax,可想而知,頻域?qū)挾葹閒s的頻帶內(nèi),是可以放得下一整個(gè)完整的頻譜的,所以不會(huì)混疊。如果fs<2fmax,頻域每間隔fs就會(huì)出現(xiàn)一個(gè)頻譜,必定會(huì)有相鄰的頻譜疊在一起的情況,就是混疊。
頻譜泄露:對(duì)于頻率為fs的正弦序列,它的頻譜應(yīng)該只是在fs處有離散譜。但是,在利用DFT求它的頻譜做了截短,結(jié)果使信號(hào)的頻譜不只是在fs處有離散譜,而是在以fs為中心的頻帶范圍內(nèi)都有譜線出現(xiàn),它們可以理解為是從fs頻率上“泄露”出去的,這種現(xiàn)象稱 為頻譜“泄露”。
整周泣截?。号c周期函數(shù)一樣,周期信號(hào)是每隔時(shí)間T以后,信號(hào)重復(fù)出現(xiàn)。T就稱為信號(hào)的周期。
N取100時(shí):
N取200時(shí):
(二):
1)Hanning信號(hào)p(n)的時(shí)域與頻域特性:
2)已調(diào)信號(hào)s(n)的時(shí)域與頻域特性:
3)系統(tǒng)的單位脈沖響應(yīng)h(n):
4)接收信號(hào)y(n)的頻譜:
5)(設(shè)計(jì)帶通濾波器)從接收信號(hào)y(n)中還原出三個(gè)已調(diào)信號(hào):
(三):
1)讀入一幅彩色圖像:
2)將彩色圖像進(jìn)行三原色分解,分解出R、G、B分量,并用圖像顯示出來:
3)將彩色圖像灰度化,轉(zhuǎn)換為灰度圖像并顯示:
4)對(duì)灰度圖像用幾種典型的邊緣檢測(cè)算子進(jìn)行邊緣檢測(cè),顯示檢測(cè)出的邊緣:
四、源程序:
(一): 1):
周期性正弦波: fs=10;w=2*pi*fs;t=0:0.01:2;y=sin(w*t);plot(t,y);grid on;axis([0 2-2 2]);title('正弦信號(hào)');
周期性三角波: t=-0.3:0.01:0.3;y=sawtooth(10*pi*t,0.5);plot(t,y);grid on;axis([-0.3 0.3-1.5 1.5]);title('三角波信號(hào)')
周期性方波: t=0:0.001:0.5;y=square(2*pi*10*t,50);plot(t,y);grid on;axis([0 0.5-1.5 1.5]);title('周期方波信號(hào)')
4):
周期性正弦波: t=0:0.001:0.999;subplot(311)a=sin(20*pi*t);plot(t,a);grid on;title('sin20pi*t');xlabel('T');b=fft(a);subplot(312);stem(t*1000,abs(b)/1000,'fill');xlabel('Hz');axis([-10 50 0 0.5]);grid on;title('幅頻特性')subplot(313)stem(t*1000,angle(b)/1000,'fill');xlabel('Hz');axis([0 100-0.004 0.004])grid on;title('相頻特性')
周期性三角波: t=-0.3:0.01:0.3;a=sawtooth(10*pi*t,0.5);subplot(311)plot(t,a);grid on;axis([-0.3 0.3-1.5 1.5]);title('三角波信號(hào)')b=fft(a);subplot(312)stem(t*100,abs(b)/100,'fill');axis([0 50 0 0.5]);grid on;title('幅頻特性')subplot(313)stem(t*100,angle(b)/100,'fill');axis([0 25-0.04 0.04]);grid on;title('相頻特性')周期性方波: t=0:0.001:0.5;a=square(2*pi*10*t,50);subplot(311)plot(t,a);grid on;axis([0 0.5-1.5 1.5]);title('周期方波信號(hào)')b=fft(a);subplot(312)stem(t*100,abs(b)/100,'fill');axis([0 50 0 4]);grid on;title('幅頻特性')subplot(313)stem(t*100,angle(b)/100,'fill');axis([0 5-0.04 0.04]);grid on;title('相頻特性')
5):
N=100(或:N=200);T=1;
t=linspace(0,T,N);x=sin(2*pi*10*t);dt=t(2)-t(1);f=1/dt;X=fft(x);F=X(1:N/2+1);f=f*(0:N/2)/N;subplot(2,1,1)plot(t,x)
title('x=sin(2*pi*50*t)')xlabel('t')
ylabel('Amplitude')axis([0,1,-1,1]);subplot(2,1,2)plot(f,abs(F))xlabel('Frequency');ylabel('|X(e^{jw})|')
(二): 1): N=100;n=0:99;Rn=[ones(1,N-1)zeros(1, 101-N)];pn=0.5*[1-cos((2*pi*n)/(N-1))].*Rn;subplot(211);stem(n,pn);title('漢寧信號(hào)');[H,w]=freqz(pn,1,200);magH=abs(H);length(w);length(H);magHdB=20*log10(magH);subplot(212);plot(w/pi,magHdB);2):
N=100;n=0:99;
Rn=[ones(1,N-1)zeros(1,101-N)];pn=0.5*[1-cos((2*pi*n)/(N-1))].*Rn;
sn=2*pn.*(cos(pi*n/4)+4*pn.*cos(pi*n/2)+6*pn.*cos(3*pi*n/4));subplot(211);stem(n,sn);
title('已調(diào)信號(hào)');
[H,w]=freqz(sn,1,200);magH=abs(H);length(w);length(H);
magHdB=20*log10(magH);subplot(212);plot(w/pi,magHdB);
3):
a=[1-1.1172 0.9842-0.4022 0.2247];b=[0.2247-0.4022 0.9842-1.1172 1];n=1:49;
hn=impz(b,a,n);stem(n,hn,'k','f');ylabel('脈沖響應(yīng) ¨h(n)');xlabel('序號(hào)(n)');title('單位脈沖響應(yīng)');
4):
a=[1-1.1172 0.9842-0.4022 0.2247];b=[0.2247-0.4022 0.9842-1.1172 1];k=0:0.1:100;p=0.5-0.5*cos(2*pi*k./74);s=p.*(cos(pi*k/4)+2*cos(pi*k/2)+3*cos(3*pi*k/4));y=filter(b,a,s);z1=fft(y,256);plot([-128:127],fftshift(abs(z1)));axis([-30 30 0 120]);grid on;
5):
wp=200;ws=200;wp1=[0.2,0.3];ws1=[0.1,0.4];wp2=[0.4,0.6];ws2=[0.3,0.7];wp3=[0.7,0.8];ws3=[0.6,0.9];ap=1;as=20;N=100;n=0:99;
Rn=[ones(1,N-1)zeros(1,101-N)];pn=0.5*[1-cos((2*pi*n)/(N-1))].*Rn;
sn=2*pn.*(cos(pi*n/4)+4*pn.*cos(pi*n/2)+6*pn.*cos(3*pi*n/4));a=[1-1.1172 0.9841-0.4022 0.2277];b=[0.2277-0.4022 0.9841-1.1172 1];yn=filter(b,a,sn);
[n,wc]=cheb1ord(wp,ws,ap,as);[bz,az]=cheby1(n,ap,wc);subplot(311)bz1=bz;az1=az;x1=filter(bz1,az1,yn);plot(x1);subplot(312)bz2=bz;az2=az;x2=filter(bz2,az2,yn);plot(x2);subplot(313)bz3=bz;az3=az;x3=filter(bz3,az3,yn);plot(x3)
(三):
1):
clc;a=imread('F:星空.jpg');imshow(a),title('原彩色圖像');2):
clc;a=imread('F:星空.jpg');subplot(3,2,1),imshow(a),title('原彩色圖像');
ar=a(:,:,1);ag=a(:,:,2);ab=a(:,:,3);subplot(3,2,4),imshow(ar),title('R');
subplot(3,2,5),imshow(ag),title('G');subplot(3,2,6),imshow(ab),title('B');3):
clc;a=imread('F:星空.jpg');subplot(2,1,1),imshow(a),title('原彩色圖像');b=rgb2gray(a);subplot(2,1,2),imshow(b),title('灰度圖像');4):
a=imread('F:星空.jpg');b=rgb2gray(a);b1=edge(b,'sobel');b2=edge(b,'prewitt');b3=edge(b,'roberts');b4=edge(b,'log');b5=edge(b,'canny');subplot(3,2,1);imshow(b);title('灰度圖像');subplot(3,2,2);imshow(b1);title('Sobel邊緣檢測(cè)');subplot(3,2,3);imshow(b2);title('Prewitt邊緣檢測(cè)');subplot(3,2,4);imshow(b1);title('Roberts邊緣檢測(cè)');subplot(3,2,5);imshow(b1);title('LoG邊緣檢測(cè)');subplot(3,2,6);imshow(b1);title('Canny邊緣檢測(cè)');
五、總結(jié)與心得體會(huì):
在課程設(shè)計(jì)的這段時(shí)間,我獲益匪淺,不但進(jìn)一步掌握了數(shù)字信號(hào)處理的基礎(chǔ)知識(shí)及MATLAB的基本操作,還詳細(xì)了解并掌握了信號(hào)的產(chǎn)生、采樣及頻譜分析的方法。我進(jìn)一步了解到凡事都需要耐心,細(xì)心仔細(xì)是成功的重要保證之一。雖然在做的過程中遇到了一些問題,但是在研究生學(xué)姐、班級(jí)同學(xué)的幫助以及自己的努力下,問題最終都得以解決。這次課程設(shè)計(jì)對(duì)我各方面的能力有了很大的提高,對(duì)我以后的工作、實(shí)踐都有很大的幫助。
在此次課程設(shè)計(jì)當(dāng)中,我經(jīng)常把C語言的語法知識(shí)照搬到MATALAB設(shè)計(jì)中,從而導(dǎo)致調(diào)試失敗,所以下次用此類語言做課程設(shè)計(jì)時(shí),應(yīng)事先學(xué)習(xí)下這類語言的基本語法,以免與其他語言相混淆。還有就是有些不定參數(shù)存在時(shí),可先取定值,用于調(diào)試,這樣可以節(jié)約調(diào)試時(shí)間,從而提高效率。
本次課程設(shè)計(jì)不但讓我又學(xué)到了一些知識(shí),而且也提高了我的綜合能力,使我在各個(gè)方面都得到了鍛煉。以后有這樣的機(jī)會(huì)一定會(huì)更加的很好利用,它不僅可以提高學(xué)習(xí)的針對(duì)性而且可以很好的鍛煉動(dòng)手能力以及自己的邏輯設(shè)計(jì)能力和處理問題的能力,希望在以后的學(xué)習(xí)生活中會(huì)有更多的機(jī)會(huì)來加強(qiáng)這方面的能力。
參考文獻(xiàn):
[1] 《數(shù)字信號(hào)處理(第二版)》.丁玉美等 西安電子科技大學(xué)出版社 [2] 《數(shù)字信號(hào)處理及其MATLAB實(shí)現(xiàn)》,陳懷琛等譯,電子工業(yè)出版社;
[3] 《MATLAB及在電子信息課程中的應(yīng)用》,陳懷琛等,電子工業(yè)出版社
第二篇:數(shù)字信號(hào)處理課程設(shè)計(jì)..
課程設(shè)計(jì)報(bào)告
課程名稱: 數(shù)字信號(hào)處理 課題名稱: 語音信號(hào)的處理與濾波
姓 名: 學(xué) 號(hào): 院 系: 專業(yè)班級(jí): 指導(dǎo)教師: 完成日期: 2013年7月2日
目錄
第1部分 課程設(shè)計(jì)報(bào)告………………………………………3 一.設(shè)計(jì)目的……………………………………………3 二.設(shè)計(jì)內(nèi)容……………………………………………3 三.設(shè)計(jì)原理……………………………………………3 四.具體實(shí)現(xiàn)……………………………………………5 1.錄制一段聲音…………………………………5 2.巴特沃斯濾波器的設(shè)計(jì)………………………8 3.將聲音信號(hào)送入濾波器濾波…………………13 4.語音信號(hào)的回放………………………………19 5.男女語音信號(hào)的頻譜分析……………………19 6.噪聲的疊加和濾除……………………………22 五. 結(jié)果分析……………………………………………27 第2部分 課程設(shè)計(jì)總結(jié)………………………………28 一. 參考文獻(xiàn)……………………………………………28
第1部分 課程設(shè)計(jì)報(bào)告
一.設(shè)計(jì)目的
綜合運(yùn)用本課程的理論知識(shí)進(jìn)行頻譜分析以及濾波器設(shè)計(jì),通過理論推導(dǎo)得出相應(yīng)結(jié)論,并利用MATLAB作為工具進(jìn)行實(shí)現(xiàn),從而復(fù)習(xí)鞏固課堂所學(xué)的理論知識(shí),提高對(duì)所學(xué)知識(shí)的綜合應(yīng)用能力,并從實(shí)踐上初步實(shí)現(xiàn)對(duì)數(shù)字信號(hào)的處理。
二.設(shè)計(jì)內(nèi)容
錄制一段個(gè)人自己的語音信號(hào),并對(duì)錄制的信號(hào)進(jìn)行采樣;畫出采樣后語音信號(hào)的時(shí)域波形和頻譜圖;給定濾波器的性能指標(biāo),采用窗函數(shù)法和雙線性變換法設(shè)計(jì)濾波器,并畫出濾波器的頻率響應(yīng);然后用自己設(shè)計(jì)的濾波器對(duì)采集的信號(hào)進(jìn)行濾波,畫出濾波后信號(hào)的時(shí)域波形和頻譜,并對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)的變化;回放語音信號(hào);換一個(gè)與你性別相異的人錄制同樣一段語音內(nèi)容,分析兩段內(nèi)容相同的語音信號(hào)頻譜之間有什么特點(diǎn);再錄制一段同樣長(zhǎng)時(shí)間的背景噪聲疊加到你的語音信號(hào)中,分析疊加前后信號(hào)頻譜的變化,設(shè)計(jì)一個(gè)合適的濾波器,能夠把該噪聲濾除;
三.設(shè)計(jì)原理
1.在Matlab軟件平臺(tái)下,利用函數(shù)wavrecord(),wavwrite(),wavread(),wavplay()對(duì)語音信號(hào)進(jìn)行錄制,存儲(chǔ),讀取,回放。
2.用y=fft(x)對(duì)采集的信號(hào)做快速傅立葉變換,并用[h1,w]=freqz(h)進(jìn)行DTFT變換。
3.掌握FIR DF線性相位的概念,即線性相位對(duì)h(n)、H(?)及零點(diǎn)的約束,了解四種FIR DF的頻響特點(diǎn)。
4.在Matlab中,F(xiàn)IR濾波器利用函數(shù)fftfilt對(duì)信號(hào)進(jìn)行濾波。
5.抽樣定理
連續(xù)信號(hào)經(jīng)理想抽樣后時(shí)域、頻域發(fā)生的變化(理想抽樣信號(hào)與連續(xù)信號(hào)頻譜之間的關(guān)系)
理想抽樣信號(hào)能否代表原始信號(hào)、如何不失真地還原信號(hào)即由離散信號(hào)恢復(fù)連續(xù)信號(hào)的條件(抽樣定理)
理想采樣過程描述: 時(shí)域描述:
?a(t)?xa(t)?T(t)??xa(t)?(t?nT)??xa(nT)?(t?nT)xn???n??????T(t)?頻域描述:利用傅氏變換的性質(zhì),時(shí)域相乘頻域卷積,若
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)系:理想抽樣信號(hào)的頻譜是連續(xù)信號(hào)頻譜的Xaa
周期延拓,重復(fù)周期為?s(采樣角頻率)。如果:
?X(j?)?Xa(j?)??a??0???s/2???s/2即連續(xù)信號(hào)是帶限的,且信號(hào)最高頻率不超過抽樣頻率的二分之一,則可不失真恢復(fù)。
奈奎斯特采樣定理:要使實(shí)信號(hào)采樣后能夠不失真還原,采樣頻率必須大于信號(hào)最高頻率的兩倍:?s?2?h 或 fs?2fh
四.具體實(shí)現(xiàn)
1.錄制一段聲音
1.1錄制并分析
在MATLAB中用wavrecord、wavread、wavplay、wavwrite對(duì)聲音進(jìn)行錄制、讀取、回放、存儲(chǔ)。
程序如下:
Fs=8000;%抽樣頻率 time=3;%錄音時(shí)間 fprintf('按Enter鍵錄音%ds',time);%文字提示 pause;%暫停命令 fprintf('錄音中......');x=wavrecord(time*Fs,Fs,'double');%錄制語音信號(hào) fprintf('錄音結(jié)束');%文字提示 fprintf('按Enter鍵回放錄音');pause;%暫停命令
wavplay(x,Fs);%按任意鍵播放語音信號(hào)
wavwrite(x,Fs,'C:UsersacerDesktop數(shù)字信號(hào)sound.wav');%存儲(chǔ)語音信號(hào)
N=length(x);%返回采樣點(diǎn)數(shù) df=fs/N;%采樣間隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(2);subplot(2,1,1);plot(x);%錄制信號(hào)的時(shí)域波形 title('原始信號(hào)的時(shí)域波形');%加標(biāo)題 ylabel('幅值/A');%顯示縱坐標(biāo)的表示意義 grid;%加網(wǎng)格
y0=fft(x);%快速傅立葉變換 figure(2);subplot(2,1,2);plot(f,abs(y0(n1)));%原始信號(hào)的頻譜圖 title('原始信號(hào)的頻譜圖');%加標(biāo)題 xlabel('頻率w/pi');%顯示橫坐標(biāo)表示的意義 ylabel('幅值 ');%顯示縱坐標(biāo)表示的意義 title('原始信號(hào)的頻譜圖');%加標(biāo)題
grid;%加網(wǎng)格
圖1.1 原始信號(hào)的時(shí)域與頻譜圖
1.2濾除無效點(diǎn)
針對(duì)實(shí)際發(fā)出聲音落后錄制動(dòng)作半拍的現(xiàn)象,如何拔除對(duì)無效點(diǎn)的采樣的問題: 出現(xiàn)這種現(xiàn)象的原因主要是錄音開始時(shí),人的反應(yīng)慢了半拍,導(dǎo)致出現(xiàn)了一些無效點(diǎn),而后而出現(xiàn)的無效的點(diǎn),主要是已經(jīng)沒有聲音的動(dòng)作,先讀取聲音出來,將原始語音信號(hào)時(shí)域波形圖畫出來,根據(jù)己得到的信號(hào),可以在第二次讀取聲音的后面設(shè)定采樣點(diǎn),取好有效點(diǎn),畫出濾除無效點(diǎn)后的語音信號(hào)時(shí)域波形圖,對(duì)比可以看出。這樣就可以解決這個(gè)問題。
x=wavread('C:UsersacerDesktop數(shù)字信號(hào)sound.wav', 7
[4000,24000]);%從4000點(diǎn)截取到24000結(jié)束 plot(x);%畫出截取后的時(shí)域圖形 title('截取后的聲音時(shí)域圖形');%標(biāo)題 xlabel('頻率');ylabel('振幅');grid;%畫網(wǎng)格
圖1.2 去除無效點(diǎn)
2.巴特沃斯濾波器的設(shè)計(jì)
2.1設(shè)計(jì)巴特沃思低通濾波器
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è)計(jì)巴特沃思高通濾波器
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è)計(jì)巴特沃思帶通濾波器
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.將聲音信號(hào)送入濾波器濾波
x=wavread('C:UsersacerDesktop數(shù)字信號(hào)sound.wav');%播放原始信號(hào)
wavplay(x,fs);%播放原始信號(hào) N=length(x);%返回采樣點(diǎn)數(shù) df=fs/N;%采樣間隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(4);subplot(4,2,1);plot(x);%錄制信號(hào)的時(shí)域波形
title('原始信號(hào)的時(shí)域波形');%加標(biāo)題 ylabel('幅值/A');%顯示縱坐標(biāo)的表示意義 grid;%加網(wǎng)格
y0=fft(x);%快速傅立葉變換 subplot(4,2,3);plot(f,abs(y0(n1)));%原始信號(hào)的頻譜圖 title('原始信號(hào)的頻譜圖');%加標(biāo)題 xlabel('頻率w/pi');%顯示橫坐標(biāo)表示的意義 ylabel('幅值 ');%顯示縱坐標(biāo)表示的意義 title('原始信號(hào)的頻譜圖');%加標(biāo)題 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);%信號(hào)送入濾波器濾波,ys為輸出 fftwave=fft(ys);%將濾波后的語音信號(hào)進(jìn)行快速傅立葉變換 figure(4);subplot(4,2,2);%在四行兩列的第二個(gè)窗口顯示圖形 plot(ys);%信號(hào)的時(shí)域波形
title('低通濾波后信號(hào)的時(shí)域波形');%加標(biāo)題 xlabel('頻率w/pi');ylabel('幅值/A');%顯示標(biāo)表示的意義 grid;%網(wǎng)格
subplot(4,2,4);%在四行兩列的第四個(gè)窗口顯示圖形 plot(f, abs(fftwave(n1)));%繪制模值 xlabel('頻率w/pi');ylabel('幅值/A');%顯示標(biāo)表示的意義
title('低通濾波器濾波后信號(hào)的頻譜圖');%標(biāo)題 grid;%加網(wǎng)格
wavplay(ys,8000);%播放濾波后信號(hào)
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);%將信號(hào)送入高通濾波器濾波 subplot(4,2,5);%在四行兩列的第五個(gè)窗口顯示圖形 plot(ys);%信號(hào)的時(shí)域波形 xlabel('頻率w/pi');ylabel('幅值/A');%顯示標(biāo)表示的意義 title('高通濾波后信號(hào)的時(shí)域波形');%標(biāo)題 ylabel('幅值/A');%顯示縱坐標(biāo)的表示意義 grid;%網(wǎng)格
fftwave=fft(ys);%將濾波后的語音信號(hào)進(jìn)行快速傅立葉變換 subplot(4,2,7);%在四行兩列的第七個(gè)窗口顯示圖形 plot(f,abs(fftwave(n1)));%繪制模值 axis([0 1 0 50]);xlabel('頻率w/pi');ylabel('幅值/A');%顯示標(biāo)表示的意義
title('高通濾波器濾波后信號(hào)的頻譜圖');%標(biāo)題 grid;%加網(wǎng)格
wavplay(ys,8000);%播放濾波后信號(hào)
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);%將信號(hào)送入高通濾波器濾波 figure(4);subplot(4,2,6);%在四行兩列的第六個(gè)窗口顯示圖形 plot(ys1);%繪制后信號(hào)的時(shí)域的圖形 title('帶通濾波后信號(hào)的時(shí)域波形');%加標(biāo)題 xlabel('頻率w/pi');ylabel('幅值/A');%顯示縱坐標(biāo)表示的意義 grid;%網(wǎng)格
fftwave=fft(ys1);%對(duì)濾波后的信號(hào)進(jìn)行快速傅立葉變換 subplot(4,2,8);%在四行兩列的第八個(gè)窗口顯示圖形
plot(f, abs(fftwave(n1)));%繪制模值 axis([0 1 0 50]);xlabel('頻率w/pi');ylabel('幅值/A');%顯示標(biāo)表示的意義 title('帶通濾波器濾波后信號(hào)的頻譜圖');%加標(biāo)題 grid;%網(wǎng)格
wavplay(ys1,8000);%播放濾波后信號(hào) 圖形如下:
原始信號(hào)的時(shí)域波形幅值/A0-1012x 10原始信號(hào)的頻譜圖34幅值/A1低通濾波后信號(hào)的時(shí)域波形0.50-0.5012頻率w/pi3400.51頻率w/pi高通濾波后信號(hào)的時(shí)域波形幅值/A0幅值/A0幅值/Ax 10高通濾波器濾波后信號(hào)的頻譜圖5012頻率w/pi34幅值/A0.20-0.2幅值/A2001000x 10低通濾波器濾波后信號(hào)的頻譜圖200100000.51頻率w/pi帶通濾波后信號(hào)的時(shí)域波形0.50-0.501234頻率w/pix 10帶通濾波器濾波后信號(hào)的頻譜圖50幅值 00.5頻率w/pi1000.5頻率w/pi1
分析:三個(gè)濾波器濾波后的聲音與原來的聲音都發(fā)生了變化。其中低
通的濾波后與原來聲音沒有很大的變化,其它兩個(gè)都又明顯的變化
4.語音信號(hào)的回放
sound(xlow,Fs,bits);%在Matlab中,函數(shù)sound可以對(duì)聲音進(jìn)行回放,其調(diào)用格式: sound(xhigh, Fs,bits);%sound(x, Fs, bits);sound(xdaitong, Fs,bits);5.男女語音信號(hào)的頻譜分析
5.1 錄制一段異性的聲音進(jìn)行頻譜分析
Fs=8000;%抽樣頻率 time=3;%錄音時(shí)間 fprintf('按Enter鍵錄音%ds',time);%文字提示 pause;%暫停命令 fprintf('錄音中......');x=wavrecord(time*Fs,Fs,'double');%錄制語音信號(hào) fprintf('錄音結(jié)束');%文字提示 fprintf('按Enter鍵回放錄音');pause;%暫停命令 wavplay(x,Fs);%按任意鍵播放語音信號(hào)
wavwrite(x,Fs,'C:UsersacerDesktop數(shù)字信號(hào)sound2.wav');%存儲(chǔ)語音信號(hào)
5.2 分析男女聲音的頻譜
x=wavread(' C:UsersacerDesktop數(shù)字信號(hào)sound2.wav ');%播放原始信號(hào),解決落后半拍
wavplay(x,fs);%播放原始信號(hào) N=length(x);%返回采樣點(diǎn)數(shù) df=fs/N;%采樣間隔 n1=1:N/2;
f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(1);subplot(2,2,1);plot(x);%錄制信號(hào)的時(shí)域波形
title('原始女生信號(hào)的時(shí)域波形');%加標(biāo)題 ylabel('幅值/A');%顯示縱坐標(biāo)的表示意義 grid;%加網(wǎng)格
y0=fft(x);%快速傅立葉變換 subplot(2,2,2);plot(f,abs(y0(n1)));%原始信號(hào)的頻譜圖 title('原始女生信號(hào)的頻譜圖');%加標(biāo)題 xlabel('頻率w/pi');%顯示橫坐標(biāo)表示的意義 ylabel('幅值 ');%顯示縱坐標(biāo)表示的意義 grid;%加網(wǎng)格
[y,fs,bits]=wavread(' C:UsersacerDesktop數(shù)字信號(hào)sound.wav ');% 對(duì)語音信號(hào)進(jìn)行采樣
wavplay(y,fs);%播放原始信號(hào) N=length(y);%返回采樣點(diǎn)數(shù) df=fs/N;%采樣間隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 subplot(2,2,3);plot(y);%錄制信號(hào)的時(shí)域波形
title('原始男生信號(hào)的時(shí)域波形');%加標(biāo)題 ylabel('幅值/A');%顯示縱坐標(biāo)的表示意義 grid;%加網(wǎng)格
y0=fft(y);%快速傅立葉變換
subplot(2,2,4);%在四行兩列的第三個(gè)窗口顯示圖形 plot(f,abs(y0(n1)));%原始信號(hào)的頻譜圖 title('原始男生信號(hào)的頻譜圖');%加標(biāo)題 xlabel('頻率w/pi');%顯示橫坐標(biāo)表示的意義 ylabel('幅值 ');%顯示縱坐標(biāo)表示的意義 grid;%加網(wǎng)格
5.3男女聲音的頻譜圖
原始女生信號(hào)的時(shí)域波形0.50-0.5-1150100原始女生信號(hào)的頻譜圖幅值/A幅值 012345000x 10原始男生信號(hào)的時(shí)域波形0.50.5頻率w/pi原始男生信號(hào)的頻譜圖1300200幅值/A0幅值 012x 1034100-0.5000.5頻率w/pi1
圖5.3男女聲音信號(hào)波形與頻譜對(duì)比
分析:就時(shí)域圖看,男生的時(shí)域圖中振幅比女生的高,對(duì)于頻譜圖女生的高頻成分比較多
6.噪聲的疊加和濾除
6.1錄制一段背景噪聲
Fs=8000;%抽樣頻率 time=3;%錄音時(shí)間 fprintf('按Enter鍵錄音%ds',time);%文字提示 pause;%暫停命令 fprintf('錄音中......');x=wavrecord(time*Fs,Fs,'double');%錄制語音信號(hào)
fprintf('錄音結(jié)束');%文字提示 fprintf('按Enter鍵回放錄音');pause;%暫停命令 wavplay(x,Fs);%按任意鍵播放語音信號(hào) wavwrite(x,Fs,'C:UsersacerDesktop數(shù)字信號(hào)噪音.wav');%存儲(chǔ)語音信號(hào)
6.2 對(duì)噪聲進(jìn)行頻譜的分析
[x1,fs,bits]=wavread(' C:UsersacerDesktop數(shù)字信號(hào)噪音.wav ');%對(duì)語音信號(hào)進(jìn)行采樣
wavplay(x1,fs);%播放噪聲信號(hào) N=length(x1);%返回采樣點(diǎn)數(shù) df=fs/N;%采樣間隔
n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(5);subplot(3,2,1);plot(x1);%信號(hào)的時(shí)域波形 title('噪聲信號(hào)的時(shí)域波形');grid;ylabel('幅值/A');y0=fft(x1);%快速傅立葉變換
subplot(3,2,2);plot(f,abs(y0(n1)));%噪聲信號(hào)的頻譜圖 ylabel('幅值');title('噪聲信號(hào)的頻譜圖');
6.3原始信號(hào)與噪音的疊加
fs=8000;[x,fs,bits]=wavread(' C:UsersacerDesktop數(shù)字信號(hào)sound.wav ');%對(duì)錄入信號(hào)進(jìn)行采樣
[x1,fs,bits]=wavread(' C:UsersacerDesktop數(shù)字信號(hào)噪音.wav ');%對(duì)噪聲信號(hào)進(jìn)行采樣
yy=x+x1;%將兩個(gè)聲音疊加
6.4疊加信號(hào)的頻譜分析:
wavplay(yy,fs);%播放疊加后信號(hào) N=length(yy);%返回采樣點(diǎn)數(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);%信號(hào)的時(shí)域波形
title('疊加信號(hào)的時(shí)域波形');xlabel('時(shí)間/t');ylabel('幅值/A');grid;y0=fft(yy);%快速傅立葉變換 subplot(3,2,4);plot(f,abs(y0(n1)));%疊加信號(hào)的頻譜圖 title('疊加信號(hào)的頻譜圖');xlabel('頻率w/pi');ylabel('幅值/db');grid;
6.5 設(shè)計(jì)一個(gè)合適的濾波器將噪聲濾除 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);%信號(hào)送入濾波器濾波,ys為輸出 fftwave=fft(ys);%將濾波后的語音信號(hào)進(jìn)行快速傅立葉變換 figure(5);subplot(3,2,5);plot(ys);%信號(hào)的時(shí)域波形
title('低通濾波后信號(hào)的時(shí)域波形');%加標(biāo)題 ylabel('幅值/A');%顯示標(biāo)表示的意義 grid;%網(wǎng)格 subplot(3,2,6);plot(f, abs(fftwave(n1)));%繪制模值 title('低通濾波器濾波后信號(hào)的頻譜圖');%標(biāo)題 xlabel('頻率w/pi');ylabel('幅值/A');%顯示標(biāo)表示的意義 grid;%加網(wǎng)格
wavplay(ys,8000);%播放濾波后信號(hào) grid;圖形如下:
噪聲信號(hào)的時(shí)域波形1100噪聲信號(hào)的頻譜圖幅值/A0-1幅值0123450000.5疊加信號(hào)的頻譜圖1x 10疊加信號(hào)的時(shí)域波形10-101時(shí)間/t2200幅值/db34幅值/A100000.5頻率w/pi1x 10低通濾波后信號(hào)的時(shí)域波形0.5低通濾波器濾波后信號(hào)的頻譜圖200幅值/A0-0.5幅值/A012x 1034100000.5頻率w/pi1
圖6.1噪音的疊加與濾除前后頻譜對(duì)比
7.結(jié)果分析
1.錄制剛開始時(shí),常會(huì)出現(xiàn)實(shí)際發(fā)出聲音落后錄制動(dòng)作半拍,可在[x,fs,bits]=wavread('d:matlavworkwomamaaiwo.wav')加 窗[x,fs,bits]=wavread('d:matlavworkwomamaaiwo.wav',[100 10000]),窗的長(zhǎng)度可根據(jù)需要定義。
2.語音信號(hào)通過低通濾波器后,把高頻濾除,聲音變得比較低沉。當(dāng)通過高通濾波器后,把低頻濾除,聲音變得比較就尖銳。通過帶通濾波器后,聲音比較適中。
3.通過觀察男生和女生圖像知:時(shí)域圖的振幅大小與性別無關(guān),只與說話人音量大小有關(guān),音量越大,振幅越大。頻率圖中,女生高 27
頻成分較多。
4.疊加噪聲后,噪聲與原信號(hào)明顯區(qū)分,但通過低通濾波器后,噪聲沒有濾除,信號(hào)產(chǎn)生失真。原因可能為噪聲與信號(hào)頻率相近無法濾除。
第2部分 課程設(shè)計(jì)總結(jié)
通過本次課程設(shè)計(jì),使我們對(duì)數(shù)字信號(hào)處理相關(guān)知識(shí)有了更深刻的理解,尤其是對(duì)各種濾波器的設(shè)計(jì)。在設(shè)計(jì)的過程中遇到了很多問題,剛剛開始時(shí)曾天真的認(rèn)為只要把以前的程序改了參數(shù)就可以用了,可是問題沒有我想象中的那么簡(jiǎn)單,單純的搬程序是不能解決問題的。通過查閱資料和請(qǐng)教同學(xué)收獲了很多以前不懂的理論知識(shí)。再利用所學(xué)的操作,發(fā)現(xiàn)所寫的程序還是沒有能夠運(yùn)行,通過不斷地調(diào)試,運(yùn)行,最終得出了需要的結(jié)果。整個(gè)過程中學(xué)到了很多新的知識(shí),特別是對(duì)Matlab的使用終于有些了解。在以后的學(xué)習(xí)中還需要深入了解這方面的內(nèi)容。在這次的課程設(shè)計(jì)中讓我體會(huì)最深的是:知識(shí)來不得半點(diǎn)的馬虎。也認(rèn)識(shí)到自己的不足,以后要進(jìn)一步學(xué)習(xí)。
八.參考文獻(xiàn)
[1]數(shù)字信號(hào)處理教程(第三版)程佩青 清華大學(xué)出版社 [2]MATLAB信號(hào)處理 劉波 文忠 電子工業(yè)出版社 [3]MATLAB7.1及其在信號(hào)處理中的應(yīng)用 王宏 清華大學(xué)出版社
[4]MATLAB基礎(chǔ)與編程入門 張威 西安電子科技大學(xué)出版社
[5] 數(shù)字信號(hào)處理及其MATLAB實(shí)驗(yàn) 趙紅怡 張常 化學(xué)工業(yè)出版社
[6]MATLAB信號(hào)處理詳解 陳亞勇等 人民郵電出版社 [7] 數(shù)字信號(hào)處理
錢同惠 機(jī)械工業(yè)出版社 29
第三篇:數(shù)字信號(hào)處理課程設(shè)計(jì)
目 錄
摘要...........................................................................................................................................1 1 緒論..............................................................................................................................................2
1.1 DSP系統(tǒng)特點(diǎn)和設(shè)計(jì)基本原則......................................................................................2 1.2 國內(nèi)外研究動(dòng)態(tài).............................................................................................................2 2系統(tǒng)設(shè)計(jì)........................................................................................................................................3 3硬件設(shè)計(jì)........................................................................................................................................5
3.1 硬件結(jié)構(gòu)...........................................................................................................................5 3.2 硬件電路設(shè)計(jì)...................................................................................................................7
3.2.1 總輸入電路...........................................................................................................7 3.2.2 總輸出電路...........................................................................................................7 3.2.3 語音輸入電路.......................................................................................................9 3.2.4 語音輸出電路.......................................................................................................9 實(shí)驗(yàn)結(jié)果及分析.........................................................................................................................10 4.1 實(shí)驗(yàn)結(jié)果.........................................................................................................................10 4.2 實(shí)驗(yàn)分析.........................................................................................................................12 5 總結(jié)與心得體會(huì).........................................................................................................................13 參考文獻(xiàn).........................................................................................................................................14 致謝................................................................................................................................................15
摘要
基于DSP的語音信號(hào)處理系統(tǒng),該系統(tǒng)采用TMS320VC5509作為主處理器,TLV320AIC23B作為音頻芯片,在此基礎(chǔ)上完成系統(tǒng)硬件平臺(tái)的搭建和軟件設(shè)計(jì),從而實(shí)現(xiàn)對(duì)語音信號(hào)的采集、濾波和回放功能,它可作為語音信號(hào)處理的通用平臺(tái)。
語音是人類相互之間進(jìn)行交流時(shí)使用最多、最自然、最基本也是最重要的信息載體。在高度信息化的今天,語音信號(hào)處理是信息高速公路、多媒體技術(shù)、辦公自動(dòng)化、現(xiàn)代通信及智能系統(tǒng)等新興領(lǐng)域應(yīng)用的核心技術(shù)之一。通常這些信號(hào)處理的過程要滿足實(shí)時(shí)且快速高效的要求,隨著DSP技術(shù)的發(fā)展,以DSP為內(nèi)核的設(shè)備越來越多,為語音信號(hào)的處理提供了良好的平臺(tái)。本文設(shè)計(jì)了一個(gè)基于TMS320VC5509定點(diǎn)的語音信號(hào)處理系統(tǒng),實(shí)現(xiàn)對(duì)語音信號(hào)的采集、處理與回放等功能,為今后復(fù)雜的語音信號(hào)處理算法的研究和實(shí)時(shí)實(shí)現(xiàn)提供一個(gè)通用平臺(tái)。
關(guān)鍵詞:語音處理;DSP;TMS320VC5509;TLV320AIC23B
1 緒論
語音是人類相互間所進(jìn)行的通信的最自然和最簡(jiǎn)潔方便的形式,語音通信是一種理想的人機(jī)通信方式。語音通信的研究涉及到人工智能、數(shù)字信號(hào)處理、微型計(jì)算機(jī)技術(shù)、語言聲學(xué)、語言學(xué)等許多領(lǐng)域,所以說語音的通信是一個(gè)多學(xué)科的綜合研究領(lǐng)域,其研究成果具有重要的學(xué)術(shù)價(jià)值。另外通過語音來傳遞信息是人類最重要的、最有效、最常用的交換信息的形式。語言是人類特有的功能,聲音是人類常用的工具,是相互傳遞信息的主要手段。同時(shí)也是眾構(gòu)成思想交流和感情溝通的最主要的途徑。
1.1 DSP系統(tǒng)特點(diǎn)和設(shè)計(jì)基本原則
DSP(digital signal processor)是一種獨(dú)特的微處理器,是以數(shù)字信號(hào)來處理大量信息的器件。其工作原理是接收模擬信號(hào),轉(zhuǎn)換為0或1的數(shù)字信號(hào)。再對(duì)數(shù)字信號(hào)進(jìn)行修改、刪除、強(qiáng)化,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千萬條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是最值得稱道的兩大特色。
1.2 國內(nèi)外研究動(dòng)態(tài)
語音信號(hào)處理作為一個(gè)重要的研究領(lǐng)域,已經(jīng)有很長(zhǎng)的研究歷史。但是它的快速發(fā)展可以說是從1940年前后Dudley的聲碼器和Potter等人的可見語音開始的;20世紀(jì)60年代中期形成的一系列數(shù)字信號(hào)處理的理念和技術(shù)基礎(chǔ);到了80年代,由于矢量量化、隱馬爾可夫模型和人工神經(jīng)網(wǎng)絡(luò)等相繼被應(yīng)用于語音信號(hào)處理,并經(jīng)過不斷改進(jìn)與完善,使得語音信號(hào)處理技術(shù)產(chǎn)生了突破性的進(jìn)展。一方面,對(duì)聲學(xué)語音學(xué)統(tǒng)計(jì)模型的研究逐漸深入,魯棒的語音識(shí)別、基于語音段的建模方法及隱馬爾可夫模型與人工神經(jīng)網(wǎng)絡(luò)的結(jié)合成為研究的熱點(diǎn)。另一方面,為了語音識(shí)別實(shí)用化的需要,講者自適應(yīng)、聽覺模型、快速搜索識(shí)別算法以及進(jìn)一步的語言模型的研究等課題倍受關(guān)注。
在通信越來越發(fā)達(dá)的當(dāng)今世界,尤其最近幾十年,語音壓縮編碼技術(shù)在移動(dòng) 通信、IP電話通信、保密通信、衛(wèi)星通信以及語音存儲(chǔ)等很多方面得到了廣泛的應(yīng)用。因此,語音編碼一直是通信和信號(hào)處理的研究熱點(diǎn),并其取得了驚人的進(jìn)展,目前在PC機(jī)上的語音編碼已經(jīng)趨于成熟,而如何在嵌入式系統(tǒng)中實(shí)時(shí)實(shí)現(xiàn)語音壓縮編碼則是近些年來語音信號(hào)處理領(lǐng)域的研究熱點(diǎn)之一。
2系統(tǒng)設(shè)計(jì)
在實(shí)際生活中,當(dāng)聲源遇到物體時(shí)會(huì)發(fā)生反射,反射的聲波和聲源聲波一起傳輸,聽者會(huì)發(fā)現(xiàn)反射聲波部分比聲源聲波慢一些,類似人們面對(duì)山體高聲呼喊后可以在過一會(huì)兒聽到回聲的現(xiàn)象。聲音遇到較遠(yuǎn)物體產(chǎn)生的反射會(huì)比遇到較近的反射波晚些到達(dá)聲源位置,所以回聲和原聲的延遲隨反射物體的距離大小改變。同時(shí),反射聲音的物體對(duì)聲波的反射能力,決定了聽到的回聲的強(qiáng)弱和質(zhì)量。另外,生活中的回聲的成分比較復(fù)雜,有反射、漫反射、折射,還有回聲的多次反射、折射效果。
當(dāng)已知一個(gè)數(shù)字音源后,可以利用計(jì)算機(jī)的處理能力,用數(shù)字的方式通過計(jì)算模擬回聲效應(yīng)。簡(jiǎn)單的講,可以在原聲音流中疊加延遲一段時(shí)間后的聲流,實(shí)現(xiàn)回聲效果。當(dāng)然通過復(fù)雜運(yùn)算,可以計(jì)算各種效應(yīng)的混響效果。如此產(chǎn)生的回聲,我們稱之為數(shù)字回聲。
本次實(shí)驗(yàn)的程序流程圖如下:
圖2.1 程序流程圖
本次實(shí)驗(yàn)的系統(tǒng)框圖如下:
圖2.2 系統(tǒng)框圖
3硬件設(shè)計(jì)
3.1 硬件結(jié)構(gòu)
圖3.1是系統(tǒng)的硬件結(jié)構(gòu)框圖, 系統(tǒng)主要包括VC5509和A IC23 兩個(gè)模塊。
圖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í)工作, 而當(dāng)傳輸音頻數(shù)據(jù)時(shí)則處于閑置狀態(tài)。
AIC23通過麥克風(fēng)輸入或者立體聲音頻輸入采集模擬信號(hào), 并把模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào), 存儲(chǔ)到DSP的內(nèi)部RAM中,以便DSP處理。
當(dāng)DSP完成對(duì)音頻數(shù)據(jù)的處理以后, AIC23再把數(shù)字信號(hào)轉(zhuǎn)化為模擬信號(hào), 這樣就能夠在立體聲輸出端或者耳機(jī)輸出端聽到聲音。
AIC23能夠?qū)崿F(xiàn)與VC5509 DSP的McBSP端口的無縫連接, 使系統(tǒng)設(shè)計(jì)更加簡(jiǎn)單。接口的原理框圖, 如下圖所示。
圖3.2 AIC23與VC5509接口原理圖
系統(tǒng)中A IC23的主時(shí)鐘12 MHz直接由外部的晶振提供。MODE接數(shù)字地, 表示利用I2 C控制接口對(duì)AIC23傳輸控制數(shù)據(jù)。CS接數(shù)字地, 定義了I2 C總線上AIC23的外設(shè)地址, 通過將CS接到高電平或低電平, 可以選擇A IC23作為從設(shè)備在I2 C總線上的地址。SCLK和SDIN是AIC23控制端口的移位時(shí)鐘和數(shù)據(jù)輸入端,分別與VC5509的I2C模塊端口SCL和SDA相連。
收發(fā)時(shí)鐘信號(hào)CLKX1和CLKR1由A IC23的串行數(shù)據(jù)輸入時(shí)鐘BCLK提供, 并由A IC23的幀同步信號(hào)LRCIN、LRCOUT啟動(dòng)串口數(shù)據(jù)傳輸。DX1和DR1分別與A IC23 的D IN 和DOUT 相連, 從而完成VC5509與AIC23間的數(shù)字信號(hào)通信。
3.2 硬件電路設(shè)計(jì)
3.2.1 總輸入電路
圖3.3 總輸入電路
從左到右各部分電路為:
話筒,開關(guān),語音輸入電路,UA741高增益放大電路,有源二階帶 通濾波器。
3.2.2 總輸出電路
圖3.4 總輸出電路
從左到右各部分電路為:
LM386高頻功率放大器及其外圍器件連接電路,語音輸出電路,開關(guān),揚(yáng)聲器。
3.2.3 語音輸入電路
圖3.5語音輸入電路
3.2.4 語音輸出電路
圖3.6 語音輸出電路
語音信號(hào)通道包括模擬輸入和模擬輸出兩個(gè)部分。模擬信號(hào)的輸入輸出電路如圖所示。上圖中MICBIAS 為提供的麥克風(fēng)偏壓,通常是3/4 AVDD,MICIN為麥克風(fēng)輸入,可以根據(jù)需要調(diào)整輸入增益。下圖中LLINEOUT 為左聲道輸出,RLINEOUT為右聲道輸出。用戶可以根據(jù)電阻阻值調(diào)節(jié)增益的大小,使語音輸入輸出達(dá)到最佳效果。從而實(shí)現(xiàn)良好的模擬語音信號(hào)輸入與模擬信號(hào)的輸出。4 實(shí)驗(yàn)結(jié)果及分析
4.1 實(shí)驗(yàn)結(jié)果
按“F5”鍵運(yùn)行,注意觀察窗口中的bEcho=0,表示數(shù)字回聲功能沒有激活。這時(shí)從耳機(jī)中能聽到麥克風(fēng)中的輸入語音放送。將觀察窗口中bEcho的取值改成非0值。這時(shí)可從耳機(jī)中聽到帶數(shù)字回聲道語音放送。
分別調(diào)整uDelay和uEffect的取值,使他們保持在0-1023范圍內(nèi),同時(shí)聽聽耳機(jī)中的輸出有何變化。
當(dāng)uDelay和uEffect的數(shù)值增大時(shí),數(shù)字回聲的效果就會(huì)越加的明顯。
圖4.1 修改前程序圖
圖4.2 修改前程序圖
圖4.3 頻譜分析
圖4.4 左聲道及右聲道波形 4.2 實(shí)驗(yàn)分析
所以,從本實(shí)驗(yàn)可知當(dāng)已知一個(gè)數(shù)字音源后,可以利用計(jì)算機(jī)的處理能力,用數(shù)字的方式通過計(jì)算模擬回聲效應(yīng)。簡(jiǎn)單的講,可以在原聲音流中疊加延遲一段時(shí)間后的聲流,實(shí)現(xiàn)回聲效果。當(dāng)然通過復(fù)雜運(yùn)算,可以計(jì)算各種效應(yīng)的混響效果。
聲音放送可以加入數(shù)字回聲,數(shù)字回聲的強(qiáng)弱和與原聲的延遲均可在程序中設(shè)定和調(diào)整。5 總結(jié)與心得體會(huì)
通過本次課程設(shè)計(jì),我明白了細(xì)節(jié)決定成敗這句話的道理,在實(shí)驗(yàn)中,有很多注意的地方,都被忽視了,導(dǎo)致再花費(fèi)更多的時(shí)間去修改,這嚴(yán)重影響了試驗(yàn)的進(jìn)度。同時(shí),在本次實(shí)驗(yàn)中我了解了ICETEK – VC5509 – A板上語音codec芯片TLV320AIC23的設(shè)計(jì)和程序控制原理,并進(jìn)一步掌握了數(shù)字回聲產(chǎn)生原理、編程及其參數(shù)選擇、控制,以及了解了VC5509DSP擴(kuò)展存儲(chǔ)器的編程使用方法。
這一學(xué)期的理論知識(shí)學(xué)習(xí)加上這次課程設(shè)計(jì),使我對(duì)DSP有了更加深刻的了解,對(duì)數(shù)字信號(hào)的處理功能,軟硬件相結(jié)合,語音信號(hào)的采集與放送等等方面都有了很深的了解,相信本次課程設(shè)計(jì),無論是對(duì)我以后的學(xué)習(xí),還是工作等方面都有一個(gè)很大的幫助。因此,本次課程設(shè)計(jì)讓我受益匪淺。
參考文獻(xiàn)
[1]李利.DSP原理及應(yīng)用[M].北京:中國水利水電出版社,2004.[2]王安民,陳明欣,朱明.TMS320C54xxDSP實(shí)用技術(shù)[M].北京:清華大學(xué)出版社,2007 [3]彭啟琮,李玉柏.DSP技術(shù)[M].成都:電子科技大學(xué)出版社,1997 [4]李宏偉,等.基于幀間重疊譜減法的語音增強(qiáng)方法[J].解放軍理工大學(xué)學(xué)報(bào),2001(1):41~44 [5]TexasInstrumentsIncorporated.TMS320C54x系列DSP的CPU與外設(shè)[M].梁曉雯,裴小平,李玉虎,譯.北京:清華大學(xué)出版社,2006 [6]趙力.語音信號(hào)處理[M].北京:機(jī)械工業(yè)出版社,2003比較圖4和圖5,可以看到1200Hz以上的頻譜明顯得到了抑制。
[7]江濤,朱光喜.基于TMS320VC5402的音頻信號(hào)采集與系統(tǒng)處理[J].電子技術(shù)用,2002,28(7):70~72[8]TexasInstrumentsIncorporated:TMS320VC5402Datasheet,2001
致謝
在本次課程設(shè)計(jì)的即將完成之際,筆者的心情無法平靜,本文的完成既是筆者孜孜不倦努力的結(jié)果,更是指導(dǎo)老師樊洪斌老師親切關(guān)懷和悉心指導(dǎo)的結(jié)果。在整個(gè)課程設(shè)計(jì)的選題、研究和撰寫過程中,老師都給了我精心的指導(dǎo)、熱忱的鼓勵(lì)和支持,他的精心點(diǎn)撥為我開拓了研究視野,修正了寫作思路,對(duì)課程設(shè)計(jì)的完善和質(zhì)量的提高起到了關(guān)鍵性的作用。另外,導(dǎo)師嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度、一絲不茍的工作作風(fēng)和高尚的人格魅力,都給了學(xué)生很大感觸,使學(xué)生終生受益。在此,學(xué)生謹(jǐn)向老師致以最真摯的感激和最崇高的敬佩之情。
另外,還要感謝這段時(shí)間來陪我一起努力同學(xué),感謝我們這個(gè)小團(tuán)隊(duì),感謝每一個(gè)在學(xué)習(xí)和生活中所有給予我關(guān)心、支持和幫助的老師和同學(xué)們,幾年來我們一起學(xué)習(xí)、一起玩耍,共同度過了太多的美好時(shí)光。我們始終是一個(gè)團(tuán)結(jié)、友愛、積極向上的集體。
第四篇:數(shù)字信號(hào)處理課程設(shè)計(jì)參考題目
數(shù)字信號(hào)處理課程設(shè)計(jì)資料
使用MATLAB(或其他開發(fā)工具)編程實(shí)現(xiàn)下述內(nèi)容并寫出課程設(shè)計(jì)報(bào)告。
一、課程設(shè)計(jì)參考題目與設(shè)計(jì)內(nèi)容(也可自行選題)
設(shè)計(jì)一基于DFT的信號(hào)頻譜分析 主要要求:
1.對(duì)離散確定信號(hào)作如下譜分析:
(1)截取x(n)使x(n)成為有限長(zhǎng)序列N,(長(zhǎng)度N自己選)寫程序計(jì)算出x(n)的N點(diǎn)DFT的 X(k),并畫出時(shí)域序列圖和相應(yīng)的幅頻圖。
(2)將(1)中x(n)補(bǔ)零加長(zhǎng)至M點(diǎn),長(zhǎng)度M自己選(,為了比較補(bǔ)零長(zhǎng)短的影響,M可以取兩次值,一次取較小的整數(shù),一次取較大的整數(shù)),編寫程序計(jì)算x(n)的M點(diǎn)DFT, 畫出時(shí)域序列圖和兩次補(bǔ)零后相應(yīng)的DFT幅頻圖。
2.研究信號(hào)頻域的物理分辨率與信號(hào)頻域的分析分辨率,明白兩者的區(qū)別。(1)采集數(shù)據(jù)x(n)長(zhǎng)度取N=16點(diǎn),編寫程序計(jì)算出x(n)的16點(diǎn)DFTX(k),并畫出相應(yīng)的幅頻圖。
(2)采集數(shù)據(jù)x(n)長(zhǎng)度N=16點(diǎn),補(bǔ)零加長(zhǎng)至M點(diǎn)(長(zhǎng)度M自己選),利用補(bǔ)零DFT計(jì)算 x(n)的頻譜并畫出相應(yīng)的幅頻圖。
(3)采集數(shù)據(jù)x(n)長(zhǎng)度取為M點(diǎn)(注意不是補(bǔ)零至M),編寫程序計(jì)算出M點(diǎn)采集數(shù)據(jù)x(n)的的頻譜并畫出相應(yīng)的幅頻圖。
3.對(duì)比設(shè)計(jì)內(nèi)容1、2中各個(gè)仿真圖,說明補(bǔ)零DFT的作用。補(bǔ)零DFT能否提高信號(hào)的頻譜分辨率,說明提高頻譜物理分辨率與頻譜頻域分辨率的措施各是什么?
設(shè)計(jì)二用窗函數(shù)法設(shè)計(jì)FIR數(shù)字低通濾波器 主要要求:
1.熟悉各種窗函數(shù),在MATLAB命令窗下瀏覽各種窗函數(shù),繪出(或打?。└鞣N窗函數(shù)圖。
2.編寫計(jì)算理想低通濾波器單位抽樣響應(yīng)的m函數(shù)文件。
3根據(jù)指標(biāo)(低通FIR濾波器的指標(biāo)自行選擇)要求選擇窗函數(shù)的形狀與長(zhǎng)度N。4.編寫m程序文件,通過調(diào)用設(shè)計(jì)內(nèi)容2、3的m程序文件,計(jì)算所設(shè)計(jì)的實(shí)際低通FIR濾波器的單位抽樣響應(yīng)和頻率響應(yīng),并打印在頻率區(qū)間[O,π]上的幅頻響應(yīng)特性曲線,幅度用分貝表示。6.驗(yàn)證所設(shè)計(jì)的濾波器是否滿足指標(biāo)要求。
7.比較所選窗長(zhǎng)N相同但窗形狀不同對(duì)濾波器設(shè)計(jì)結(jié)果的影響以及選同一種窗函數(shù)但窗長(zhǎng)N不同時(shí)對(duì)濾波器設(shè)計(jì)結(jié)果的影響,將結(jié)論寫在報(bào)告中。
設(shè)計(jì)三 FIR數(shù)字濾波器設(shè)計(jì) 主要要求:
1.分別設(shè)計(jì)低通、帶通、帶阻和高通四種數(shù)字濾波器(FIR數(shù)字濾波器的指標(biāo)自行選擇);
2.說明設(shè)計(jì)目的,并分別闡述上述四類濾波器的設(shè)計(jì)原理、設(shè)計(jì)步驟,并給出所編寫的相應(yīng)的m程序;
3.仿真并打印上述四種濾波器的單位抽樣響應(yīng)和頻率響應(yīng)(頻率區(qū)間[O,π]上的幅頻響應(yīng)特性曲線),并分析各個(gè)濾波器的特點(diǎn),將結(jié)論寫在報(bào)告中。
設(shè)計(jì)四
IIR數(shù)字濾波器設(shè)計(jì) 主要要求:
1.分別設(shè)計(jì)低通、帶通、帶阻和高通四種數(shù)字濾波器(FIR數(shù)字濾波器的指標(biāo)自行選擇);
2.說明設(shè)計(jì)目的,并分別闡述上述四類濾波器的設(shè)計(jì)原理、設(shè)計(jì)步驟,并給出所編寫的相應(yīng)的m程序;
3.仿真并打印上述四種濾波器的單位抽樣響應(yīng)和頻率響應(yīng)(頻率區(qū)間[O,π]上的幅頻響應(yīng)特性曲線),并分析各個(gè)濾波器的特點(diǎn),將結(jié)論寫在報(bào)告中。
設(shè)計(jì)五語音信號(hào)去噪處理 主要要求:
1.在Windows環(huán)境下利用錄音機(jī)或其他軟件,錄制一段自己的語音信號(hào),時(shí)間控制在1秒左右,并對(duì)所錄制的語音信號(hào)進(jìn)行采樣處理; 2.對(duì)語音信號(hào)做頻譜分析,即畫出采樣后語音信號(hào)的時(shí)域波形和頻域圖;在語音信號(hào)中加入噪聲信號(hào)(至少兩種不同噪聲信號(hào)),畫出加噪語音信號(hào)的時(shí)域波形和頻域圖;
3.根據(jù)上步加噪語音信號(hào)頻譜分析結(jié)果,確定數(shù)字濾波器的技術(shù)指標(biāo),設(shè)計(jì)合適的數(shù)字濾波器濾除噪聲信號(hào),并畫出濾波器的頻率響應(yīng)曲線;
4.用所設(shè)計(jì)的數(shù)字濾波器對(duì)加噪語音信號(hào)進(jìn)行濾波,并畫出濾波后語音信號(hào)的時(shí)域波形和頻域圖,對(duì)濾波前后的語音信號(hào)進(jìn)行對(duì)比,分析信號(hào)的變化; 5.利用MATLAB軟件中的sound(x)函數(shù)實(shí)現(xiàn)對(duì)去噪語音信號(hào)的回放,驗(yàn)證設(shè)計(jì)效果。
二、課程設(shè)計(jì)撰寫具體要求 1.闡述所選題目設(shè)計(jì)目的和要求;
2.闡述所選題目的設(shè)計(jì)思想(各種理論推導(dǎo)和計(jì)算)、系統(tǒng)功能結(jié)構(gòu)及功能說明,并列出相應(yīng)重要的MATLAB程序; 3.繪出設(shè)計(jì)中要求的各種曲線,并做出說明;
4.結(jié)合設(shè)計(jì)過程,歸納得出結(jié)論,并分析設(shè)計(jì)中遇到的問題及解決思路和方法; 5.寫出設(shè)計(jì)體會(huì); 6.參考文獻(xiàn);
7.程序源代碼清單(放入課程設(shè)計(jì)報(bào)告冊(cè)附錄中)。
8.課程設(shè)計(jì)內(nèi)容要求充實(shí),敘述完整,語言流暢,格式規(guī)范,15~20頁,A4紙打印。
9.課程設(shè)計(jì)報(bào)告封面要求:
10.設(shè)計(jì)報(bào)告要包含摘要關(guān)鍵詞(3-5個(gè))11.目錄
一設(shè)計(jì)目的與要求………………………………………頁碼 二總體設(shè)計(jì)方案…………………………………………頁碼 三設(shè)計(jì)原理、結(jié)果與仿真分析…………………………頁碼 四結(jié)論……………………………………………………頁碼 五心得體會(huì)………………………………………………頁碼 參考文獻(xiàn)…………………………………………………頁碼 附錄………………………………………………………頁碼
特別注意:
1.所有的圖要有編號(hào)和圖名,所有的表也要有編號(hào)和表名; 2.數(shù)學(xué)公式要居中,公式編號(hào)右對(duì)齊。
第五篇:中南大學(xué)《數(shù)字信號(hào)處理》課程設(shè)計(jì)報(bào)告
中南大學(xué)
《現(xiàn)代信號(hào)處理》 課程設(shè)計(jì)報(bào)告
學(xué) 院: 專業(yè)班級(jí):
姓 名:
學(xué) 號(hào):
指導(dǎo)老師:
設(shè)計(jì)時(shí)間:
前 言
《現(xiàn)代信號(hào)處理》課程設(shè)計(jì)與《現(xiàn)代信號(hào)處理》課程配套,是通信工程類專業(yè)的重要實(shí)踐環(huán)節(jié)。數(shù)字信號(hào)處理是每一個(gè)電子信息科學(xué)工作者必須掌握的重要知識(shí)。它采用計(jì)算機(jī)仿真軟件,以數(shù)值計(jì)算的方法對(duì)信號(hào)進(jìn)行分析、變換、濾波、檢測(cè)、估計(jì)與識(shí)別等加工處理,以達(dá)到提取信息便于使用的目的。
通信工程專業(yè)的培養(yǎng)目標(biāo)是具備通信技術(shù)的基本理論和應(yīng)用技術(shù),能從事電子、信息、通信等領(lǐng)域的工作。鑒于我校充分培養(yǎng)學(xué)生實(shí)踐能力的辦學(xué)宗旨,對(duì)本專業(yè)學(xué)生的培養(yǎng)要進(jìn)行工程素質(zhì)培養(yǎng)、拓寬專業(yè)口徑、注重基礎(chǔ)和發(fā)展?jié)摿ΑL貏e是培養(yǎng)學(xué)生的創(chuàng)新能力,以實(shí)現(xiàn)技術(shù)為主線多進(jìn)行實(shí)驗(yàn)技能的培養(yǎng)。學(xué)生通過《現(xiàn)代信號(hào)處理》課程設(shè)計(jì)這一重要環(huán)節(jié),可以將本專業(yè)的主干課程《現(xiàn)代信號(hào)處理》從理論學(xué)習(xí)到實(shí)踐應(yīng)用,對(duì)數(shù)字信號(hào)處理技術(shù)有較深的了解,進(jìn)一步增強(qiáng)學(xué)生動(dòng)手能力和適應(yīng)實(shí)際工作的能力。
目 錄
前 言............................................................2 第一章 設(shè)計(jì)目的及要求.............................................4
1.1 課程設(shè)計(jì)目的................................................4 1.2 課程設(shè)計(jì)要求................................................4 1.3 課程設(shè)計(jì)選做題目............................................4 第二章 設(shè)計(jì)題目及思想.............................................5
2.1 各題目的設(shè)計(jì)思想............................................5
2.1.1 第一題................................................5 2.1.2 第二題...............................................6 2.1.3 第三題...............................................6 2.1.4 第四題...............................................7 2.1.5 第五題...............................................7 2.1.6 第六題...............................................8 2.2 GUI界面設(shè)計(jì)思想............................................9 第三章 調(diào)試及結(jié)果分析............................................12 3.1 GUI界面的結(jié)果與調(diào)試.......................................12 3.2 各題目的結(jié)果與調(diào)試.........................................12 3.2.1 第一題...............................................12 3.2.2 第二題...............................................13 3.2.3 第三題...............................................14 3.2.4 第四題...............................................15 3.2.5 第五題...............................................16 3.2.6 第六題...............................................21 第四章 課程設(shè)計(jì)總結(jié)..............................................24 4.1 課程設(shè)計(jì)所遇問題及解決方案.................................24 4.2 課程設(shè)計(jì)心得體會(huì)...........................................25 附錄:............................................................26 參考文獻(xiàn)..........................................................35 第一章 設(shè)計(jì)目的及要求
1.1 課程設(shè)計(jì)目的
1.全面復(fù)習(xí)課程所學(xué)理論知識(shí),鞏固所學(xué)知識(shí)重點(diǎn)和難點(diǎn),將理論與實(shí)踐很好地結(jié)合起來。
2.掌握信號(hào)分析與處理的基本方法與實(shí)現(xiàn)
3.提高綜合運(yùn)用所學(xué)知識(shí)獨(dú)立分析和解決問題的能力; 4.熟練使用一種高級(jí)語言進(jìn)行編程實(shí)現(xiàn)。
1.2 課程設(shè)計(jì)要求
一、使用MATLAB(或其它開發(fā)工具)編程實(shí)現(xiàn)上述內(nèi)容,寫出課程設(shè)計(jì)報(bào)告。濾波器設(shè)計(jì)題目應(yīng)盡量避免使用現(xiàn)成的工具箱函數(shù)。為便于分析與觀察,設(shè)計(jì)中所有頻譜顯示中的頻率參數(shù)均應(yīng)對(duì)折疊頻率歸一化。
二、課程設(shè)計(jì)報(bào)告的內(nèi)容包括:
(1)課程設(shè)計(jì)題目和題目設(shè)計(jì)要求;(2)設(shè)計(jì)思想和系統(tǒng)功能分析;
(3)設(shè)計(jì)中關(guān)鍵部分的理論分析與計(jì)算,關(guān)鍵模塊的設(shè)計(jì)思路;(4)測(cè)試數(shù)據(jù)、測(cè)試輸出結(jié)果,及必要的理論分析和比較;
(5)總結(jié),包括設(shè)計(jì)過程中遇到的問題和解決方法,設(shè)計(jì)心得與體會(huì)等;(6)參考文獻(xiàn);(7)程序源代碼清單。
三、課程設(shè)計(jì)考核要求:
課程考核分三部分,一部分是上機(jī)率,占20%;第二部分是檢查成績(jī),最后兩次上機(jī)為檢查時(shí)間,占50%;第三部分為課程設(shè)計(jì)報(bào)告,占30%。注意:
(1)演示系統(tǒng)使用GUI界面或混合編程實(shí)現(xiàn)集成打包發(fā)布,酌情加分。(2)若發(fā)現(xiàn)程序或課程設(shè)計(jì)報(bào)告雷同,一律不及格。
1.3 課程設(shè)計(jì)選做題目
選題1.音樂信號(hào)處理:
1)獲取一段音樂或語音信號(hào),設(shè)計(jì)單回聲濾波器,實(shí)現(xiàn)信號(hào)的單回聲產(chǎn) 生。給出加入單回聲前后的信號(hào)頻譜。
2)設(shè)計(jì)多重回聲濾波器,實(shí)現(xiàn)多重回聲效果。給出加入多重回聲后的信號(hào)頻譜。
3)設(shè)計(jì)均衡器,使得得不同頻率的混合音頻信號(hào),通過一個(gè)均衡器后,增強(qiáng)或削減某些頻率區(qū)域。
選題二.對(duì)混有噪聲的音樂信號(hào)進(jìn)行濾波:
1)在一段音樂信號(hào)中混入兩個(gè)頻率的正弦型干擾信號(hào),利用FFT計(jì)算該混合信號(hào)的頻譜并確定干擾信號(hào)的頻譜;
2)利用二階帶阻濾波器設(shè)計(jì)一個(gè)能濾出干擾信號(hào)的梳狀濾波器; 3)利用梳狀濾波器濾除信號(hào)中的噪聲,播放處理前后的信號(hào),并比較處理前后的結(jié)果
本次課程設(shè)計(jì)共有6道必做題目,并且我們并沒有系統(tǒng)的學(xué)過MATLAB,所以我并沒有做選做題。
第二章 設(shè)計(jì)題目及思想
2.1 各題目的設(shè)計(jì)思想
2.1.1 第一題
一、題目:
1.給定模擬信號(hào):xa(t)?e?1000t
1)選擇采樣頻率Fs = 5000Hz和合適的信號(hào)長(zhǎng)度,采樣得到序列 x1(n)。求并畫出x1(n)及其序列傅里葉變換 |X1(ejw)|。
2)選擇采樣頻率Fs = 1000Hz和合適的信號(hào)長(zhǎng)度,采樣得到序列 x2(n)。求并畫出x2(n)及其序列傅里葉變換 |X2(ejw)|。3)說明|X1(ejw)|與|X2(ejw)|間的區(qū)別,為什么?
二、思想:
第一題主要的考查點(diǎn)是對(duì)連續(xù)時(shí)間信號(hào)的抽樣,對(duì)抽樣信號(hào)進(jìn)行傅里葉變換以及不同采樣頻率對(duì)幅頻特性曲線的影響等。主要的理論依據(jù)如下:
(1)對(duì)連續(xù)時(shí)間信號(hào)的抽樣:設(shè)連續(xù)時(shí)間信號(hào)為x(t),則對(duì)其采樣得到的離散時(shí)間信號(hào)為x(n)=x(nT),T為采樣周期;
(2)離散時(shí)間信號(hào)的傅里葉變換:X(e)?FT[x(n)]?j?
由于抽樣后的離散時(shí)間信號(hào)題目沒有給出,故應(yīng)先對(duì)連續(xù)信號(hào)做抽樣,后再對(duì)離散時(shí)間信號(hào)進(jìn)行傅里葉變換。本次我直接采用輸入公式的方式進(jìn)行傅里葉變換。
n????x(n)e??j?n。
2.1.2 第二題
一、題目:
2.已知兩系統(tǒng)分別用下面差分方程描述:
y1(n)?x(n)?x(n?1)
y2(n)?x(n)?x(n?1)
試分別寫出它們的傳輸函數(shù),并分別打印H(ejw)~w曲線。說明這兩個(gè)系統(tǒng)的區(qū)別。
二、思想:
第二題的主要考查點(diǎn)是由系統(tǒng)的方程得出系統(tǒng)的傳輸函數(shù)。而在MATLAB中有freqz函數(shù)可直接求出系統(tǒng)的傳輸函數(shù),然后由abs函數(shù)以及angle函數(shù)可得出其幅頻相頻特性曲線。
2.1.3 第三題
一、題目:
3.已知已調(diào)信號(hào)x(t)?cos(?t)cos(9?t),其中調(diào)制信號(hào)cos(?t),載波為cos(9?t)。
1)選擇合適的采樣頻率及信號(hào)長(zhǎng)度,使用FFT分析該已調(diào)信號(hào)的頻譜并畫出其幅頻特性和相頻特性曲線圖。2)對(duì)該已調(diào)信號(hào)進(jìn)行解調(diào),恢復(fù)原調(diào)制信號(hào)。
二、思想:
第三題的主要考查點(diǎn)是信號(hào)的調(diào)制與解調(diào)。這屬于通信原理的主要原理知識(shí)。本題第一問需要使用FFT分析已調(diào)信號(hào)的頻譜特性,在MATLAB中FFT可以直接作為函數(shù)調(diào)用,所以我選擇直接調(diào)用FFT對(duì)其進(jìn)行分析。第二問中要 對(duì)已調(diào)信號(hào)進(jìn)行解調(diào)。其主要思想是解調(diào)已調(diào)信號(hào)需要先將已調(diào)信號(hào)乘以載波后選擇適當(dāng)?shù)臑V波器進(jìn)行濾波,將其多余信號(hào)濾除。
2.1.4 第四題
一、題目:
4.已知三角波序列x1(n)和反三角波序列x2(n):
?n?1,0?n?3?4?n,0?n?3??x1(n)??8?n,4?n?7 x2(n)??n?3,4?n?7
?0,?0,其它其它??用N=8點(diǎn)FFT分析序列x1(n)和x2(n)的幅頻特性,觀察兩者的序列形狀和頻譜特性曲線有什么異同?繪出兩序列及其幅頻特性曲線。在x1(n)和x2(n)的末尾補(bǔ)零,用N=16點(diǎn)FFT分析這兩個(gè)信號(hào)的幅頻特性,觀察幅頻特性發(fā)生了什么變化??jī)汕闆r的FFT頻譜還有相同之處嗎?這些變化說明了什么?
二、思想:
第四題的主要考查點(diǎn)是FFT快速傅里葉變換的用法。而這在MATLAB中,F(xiàn)FT可以直接作為函數(shù)調(diào)用,所以我選擇用FFT快速傅里葉變換進(jìn)行分析三角波序列。不過首先要將三角波以及反三角波的取值范圍和函數(shù)值計(jì)算出來,后才可直接對(duì)序列進(jìn)行FFT變換并分析其頻譜特性。
2.1.5 第五題
一、題目:
5.設(shè)有一信號(hào)x(n)=1+cos(n)+cos(4?2?n),設(shè)計(jì)各種IIR數(shù)字濾波器以實(shí)現(xiàn): 31)低通濾波器,濾除cos(2??n)的成分,保留成分1+cos(n)342)高通濾波器,濾除1+cos(n)的成分,保留成分cos(4?2?n)33)帶通濾波器,濾除1+cos(?2??n)的成分,保留成分cos(n)342?n)34)帶阻濾波器,濾除cos(n)的成分,保留成分1+cos(4要求:1)求出各個(gè)濾波器的階數(shù),設(shè)計(jì)各濾波器。畫出各濾波器的幅頻和相 頻特性,計(jì)算濾波器的系統(tǒng)函數(shù)H(z)。2)畫出濾波前后信號(hào)的時(shí)域、頻域波形。
二、思想:
第五題的主要考查點(diǎn)是用IIR雙線性變換法設(shè)計(jì)BW類型(低通、高通、帶通以及帯阻)數(shù)字濾波器。
其主要理論依據(jù)如下:(1)正切變換實(shí)現(xiàn)頻率壓縮:
??2tan(?1T/2)/T
(2)雙線性變換:
s?(2/T)[(1?z?1)(1?z?1)]
或
z?(2/T?s)/(2T/? s
(3)將所需數(shù)字濾波器的邊界頻率轉(zhuǎn)換成相應(yīng)類型的模擬濾波器的邊界頻率公式為:
??(2/T)tan(?/2)
其設(shè)計(jì)主要按照課中所學(xué)濾波器設(shè)計(jì)的步驟進(jìn)行分步設(shè)計(jì)。但由于其系統(tǒng)函數(shù)的公式無法直接輸入,故采用buttord函數(shù)進(jìn)行巴特沃斯濾波器的方法分析所給參數(shù)計(jì)算出其系統(tǒng)函數(shù)的系數(shù)矩陣。再借由系統(tǒng)函數(shù)的系數(shù)矩陣得出具體的系統(tǒng)函數(shù)。得出系統(tǒng)函數(shù)后便可得到相應(yīng)的階數(shù)以及幅頻、相頻特性。
濾波前的信號(hào)頻域波形由先對(duì)時(shí)域波形進(jìn)行FFT變換后得出。對(duì)原信號(hào)的濾波則采用直接調(diào)用filter函數(shù)進(jìn)行對(duì)原函數(shù)的濾波,而頻域波形同樣經(jīng)由先FFT變換分析后得出。
2.1.6 第六題
一、題目:
6.1)用Hanning窗設(shè)計(jì)一線性相位帶通數(shù)字濾波器,要求:N=15。觀察它的實(shí)際3dB和20dB帶寬。N=45,重復(fù)這一設(shè)計(jì),觀察幅頻和相位特性的變化,注意長(zhǎng)度N變化的影響;
2)分別改用矩形窗和Blackman窗,設(shè)計(jì)(1)中的帶通濾波器,觀察并記錄窗函數(shù)對(duì)濾波器幅頻特性的影響,比較三種窗的特點(diǎn);總結(jié)窗的不同長(zhǎng)度和不同窗對(duì)濾波器的影響
二、思想:
第六題的主要考查點(diǎn)是幾種主要的窗函數(shù)(矩形窗、漢寧窗、哈明窗等)對(duì)離散時(shí)間信號(hào)的截取,并用FFT對(duì)其頻譜進(jìn)行分析。其主要理論依據(jù)如下:
(1)矩形窗(Rectangle Window)
wR(n)?RN(n)
其幅度函數(shù)為:
WRg(?)?sin(?N/2)/sin(?/2)
(2)漢寧(Hanning)窗——升余弦窗
wHn(n)?0.5[1?cos(2?n/(N?1))]RN(n)
其頻譜函數(shù)為:
WHn(ej?)?FT[wHn(n)]?WHng(?)e?j(N?1)?/2
其幅度函數(shù)為:
WHng(?)?0.5WRg(?)?0.25[WRg(??2?/N)?WRg(??2?/N)]
(3)哈明(Hamming)窗——改進(jìn)的升余弦窗
wHm(n)?[0.54?0.46cos(2?n/(N?1))]RN(n)
其頻譜函數(shù)為:
WHm(ej?)?0.54WR(ej?)?0.23WR(ej(??2?/(N?1)))?0.23WR(ej(??2?/(N?1)))
當(dāng)N??1時(shí),其幅度函數(shù)可近似表示為:
WHmg(?)?0.54WRg(?)?0.23WRg(??2?/N)?0.23WRg(??2?/N)
2.2 GUI界面設(shè)計(jì)思想
本次課程設(shè)計(jì)由于結(jié)果中圖形太多,若一次性完成所以題目的演示則需要開創(chuàng)許多個(gè)新的窗口進(jìn)行圖形建立,這樣不方便驗(yàn)收及查看。所以最后決定采用圖形用戶(Graphical User Interface,簡(jiǎn)稱 GUI)界面,下面對(duì)GUI界面進(jìn)行簡(jiǎn)單的一些介紹。
GUI 是 Graphical User Interface 的簡(jiǎn)稱,即圖形用戶界面,通常人機(jī)交互圖形化用戶界面設(shè)計(jì)經(jīng)常讀做“goo-ee”,準(zhǔn)確來說 GUI 就是屏幕產(chǎn)品的視覺體驗(yàn)和互動(dòng)操作部分。
GUI 是一種結(jié)合計(jì)算機(jī)科學(xué)、美學(xué)、心理學(xué)、行為學(xué),及各商業(yè)領(lǐng)域需求分析的人機(jī)系統(tǒng)工程,強(qiáng)調(diào)人—機(jī)—環(huán)境三者作為一個(gè)系統(tǒng)進(jìn)行總體設(shè)計(jì)。
在MATLAB主界面中輸入“guide”,再敲擊回車鍵,彈出GUI界面窗口,即可新建GUI界面,如下圖所示:
圖2.5 GUI界面的新建窗口圖
在圖2.5的窗口中點(diǎn)擊“OK”,則可新建一個(gè)GUI界面,并進(jìn)入其編輯窗口,如圖2.6所示:
圖2.6 GUI界面的編輯窗口圖
隨后便可在此窗口內(nèi)編輯演示界面,此次設(shè)計(jì)主要利用的是Static Text(靜態(tài)文本)和Push Button(按鈕)。在界面中輸入相關(guān)的靜態(tài)文本,并新建若干個(gè)按鈕,再以此在每個(gè)按鈕上點(diǎn)擊右鍵,選擇View CallBacks調(diào)出Call Back函數(shù),將相應(yīng)設(shè)計(jì)題的源代碼輸入Call Back函數(shù)界面中對(duì)應(yīng)按鈕的段落后。如圖2.7 和2.8所示:
圖2.7 調(diào)用CallBack的操作流程圖
圖2.8 CallBack代碼編輯窗口圖
如此便可以建立一個(gè)方便、美觀又直觀的演示界面,以便老師驗(yàn)收時(shí)操作簡(jiǎn)單、條理清晰、并且用時(shí)不長(zhǎng)。第三章 調(diào)試及結(jié)果分析
3.1 GUI界面的結(jié)果與調(diào)試
這次設(shè)計(jì)的演示界面采用的是GUI界面,這一點(diǎn)在前面提到過,在此不贅述了,只將界面的調(diào)試結(jié)果說明一下。演示界面如圖3.1所示:
圖3.1 演示界面圖
如圖3.1所示,用戶克根據(jù)需要選擇題目,每個(gè)題中又有不同的選項(xiàng),只要點(diǎn)擊一下對(duì)應(yīng)的按鈕,相關(guān)信號(hào)的處理結(jié)果就會(huì)出現(xiàn)在一個(gè)新的figure窗口中。
3.2 各題目的結(jié)果與調(diào)試
3.2.1 第一題
第一題的調(diào)試結(jié)果如圖3.2所示,各圖形的意義均有明確表明。
圖3.2 第一題的調(diào)試結(jié)果圖
分析: 分別以所要求采樣頻率fs=5000Hz、1000Hz對(duì)xa(t)進(jìn)行等間隔采樣,得到x(n)?xa(nT),(T?1/fs為采樣周期),可知,采樣信號(hào)的頻譜函數(shù)是在原模擬信號(hào)頻譜函數(shù)的周期延拓;若以頻率f為自變量,則以采樣頻率fs?1/T為延拓周期;對(duì)頻帶限于fc的模擬信號(hào)xa(t),根據(jù)采樣定理,只有當(dāng)fs?2fc時(shí),采樣后才不會(huì)發(fā)生頻譜混疊失真。但是在Matlab上是無法計(jì)算連續(xù)函數(shù),只有在當(dāng)fs足夠大的時(shí)候,我們才將頻譜混疊忽略不計(jì),從而可對(duì)采樣序列進(jìn)行傅里葉變換;最后應(yīng)用subplot()命令實(shí)現(xiàn)畫圖,并注意到要?dú)w一化。
由以上實(shí)驗(yàn)得到的圖形結(jié)果可以看到:,當(dāng)采樣頻率越大的時(shí)候,采樣信號(hào)的頻譜越陡峭,而其失真情況也越來越小,根據(jù)采樣定理“采樣頻率越接近信號(hào)頻率,其失真情況就越小”可以得到上述結(jié)論。
3.2.2 第二題
第二題的調(diào)試結(jié)果如圖3.3所示,各圖形的意義均有明確表明。
圖3.3 第二題的調(diào)試結(jié)果圖
分析:由于所求系統(tǒng)的系統(tǒng)方程已經(jīng)由題目可知,則其零極點(diǎn)分布圖也可由上圖所知。故根據(jù)計(jì)算所得出其系統(tǒng)函數(shù)后做FFT變換所得幅頻特性和相頻特性均由上圖可知。
3.2.3 第三題
第三題的調(diào)試結(jié)果如圖3.4所示,上圖為第一問結(jié)果,下圖為第二問結(jié)果。
圖3.4 第三題的調(diào)試結(jié)果圖
分析:當(dāng)已調(diào)信號(hào)進(jìn)行不同點(diǎn)數(shù)的采樣后再經(jīng)不同間隔的FFT變換后,其展現(xiàn)的幅頻特性以及相頻特性類似于上圖。因選取的采樣點(diǎn)不同則結(jié)果不同。第二問中的濾波器的設(shè)計(jì)參數(shù)由題目中的調(diào)制信號(hào)和載波決定,由此設(shè)計(jì)出的低通濾波器的系統(tǒng)函數(shù)圖如上。最后因?yàn)V波器的不嚴(yán)密而導(dǎo)致解調(diào)后的原信號(hào)有所失真,并不能完完全全的解調(diào)出原信號(hào)。
3.2.4 第四題
第四題的調(diào)試結(jié)果如圖3.5所示,圖中所代表意義均有標(biāo)明
圖3.5 第四題的調(diào)試結(jié)果圖
分析:首先先根據(jù)題目中所給的三角波函數(shù)以及反三角波函數(shù)的函數(shù)式得出其波形。經(jīng)由不同采樣的FFT變換后有stem畫出其圖形如上。由圖可看出三角波序列和反三角波序列在8點(diǎn)的FFT變換后的圖形基本一樣,沒有太大差別。而16點(diǎn)FFT后的圖形則有不小差異,此說明對(duì)其FFT變換時(shí),取的點(diǎn)數(shù)越多,圖形差異越大。
3.2.5 第五題
第五題的調(diào)試結(jié)果第一問中低通濾波器的圖形如圖3.6所示。
圖3.6 第五題的低通濾波器調(diào)試結(jié)果圖
高通濾波器的圖形如圖3.7所示。
圖3.7 第五題的高通濾波器調(diào)試結(jié)果圖 帶通濾波器的圖形如圖3.8所示。
圖3.8 第五題的帶通濾波器調(diào)試結(jié)果圖 帶阻濾波器的圖形如圖3.9所示。
圖3.9 第五題的帶阻濾波器調(diào)試結(jié)果圖 分析:經(jīng)由一下理論知識(shí)可依次求出各濾波器的參數(shù)及系統(tǒng)函數(shù)。(1)正切變換實(shí)現(xiàn)頻率壓縮:
??2tan(?1T/2)/T
(2)雙線性變換:
s?(2/T)[(1?z?1)(1?z?1)]
或
z?(2/T?s)/(2T/? s(3)將所需數(shù)字濾波器的邊界頻率轉(zhuǎn)換成相應(yīng)類型的模擬濾波器的邊界頻率公式為:
??(2/T)tan(?/2)
頻域圖形均由FFT變換后可得出。此次設(shè)計(jì)IIR數(shù)字濾波器是其參數(shù)選擇并不精準(zhǔn),均由自己在可行范圍中嘗試得出最像的結(jié)果。但其濾波器的幅頻特性和相頻特性仍然具有失真現(xiàn)象。
3.2.6 第六題
第六題的調(diào)試結(jié)果依次的圖形如圖4.0所示。
圖4.0 第六題的調(diào)試結(jié)果圖
分析:此圖由上往下依次為N=15及N=45的漢明窗、布萊克曼窗和矩形窗。由圖形可以看出N越小時(shí)窗函數(shù)的主瓣范圍越大,副瓣坡度越緩。濾波器濾波功能越好。
第四章 課程設(shè)計(jì)總結(jié)
4.1 課程設(shè)計(jì)所遇問題及解決方案
拿到設(shè)計(jì)題時(shí),完全不知道從何處入手,一開始只會(huì)按照書上的解題思路一步步來算,一步步來解這些題目,解出來后再設(shè)法將其輸入編程中,從而的到想要的答案??墒敲看稳绱?,系統(tǒng)輸出的結(jié)果總是和預(yù)想中的不一樣,有些甚至不知道哪里出了錯(cuò)。不過后來,在翻閱了有關(guān)參考文獻(xiàn)后,知道了題目中大部分內(nèi)容都可以通過MATLAB強(qiáng)大的函數(shù)工具箱里的函數(shù)直接實(shí)現(xiàn)。開始設(shè)計(jì)后,總是用錯(cuò)函數(shù),輸錯(cuò)參數(shù)等,這類問題層出不窮,畢竟是第一次用MATLAB進(jìn)行設(shè)計(jì)實(shí)踐,很多問題還是要虛心向老師和同學(xué)請(qǐng)教的。在很多次的請(qǐng)教,修改后,程序基本成功地得到了運(yùn)行,調(diào)試過程中又遇到了一些小問題,大多是由于粗心 導(dǎo)致的,這些問題在調(diào)試過程中都得到了修正。
這次課程設(shè)計(jì)過程中遇到的主要問題是頻率歸一化的問題,開始對(duì)歸一化的概念不是很清楚。在問了班上能力較強(qiáng)的同學(xué)后,對(duì)這個(gè)概念深入理解了,并在程序中成功地實(shí)現(xiàn)了。
4.2 課程設(shè)計(jì)心得體會(huì)
通過這兩周的《現(xiàn)代信號(hào)處理》課程設(shè)計(jì)實(shí)踐,我學(xué)習(xí)會(huì)了MATLAB編程語言的基本概念、語法、語義和數(shù)據(jù)類型的使用特點(diǎn),加深了對(duì)數(shù)字信號(hào)處理這門學(xué)科所學(xué)理論知識(shí)的理解,掌握了運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的基本思想和方法,更重要的是培養(yǎng)了自己的自學(xué)能力。
因?yàn)檫@是我們第一次接觸MATLAB編程語言,在編寫程序以及調(diào)試的過程中遇到了很多困難,但是我通過去圖書館查找資料,請(qǐng)教同學(xué)老師,再自己一點(diǎn)點(diǎn)改善程序,最終還是編寫出一個(gè)比較完善的程序,基本實(shí)現(xiàn)了所有要求功能,這是最值得我欣慰的一點(diǎn)。
剛拿到程序設(shè)計(jì)課題時(shí),我感覺一片茫然,因?yàn)樵谥暗男盘?hào)處理學(xué)習(xí)中,本身對(duì)數(shù)字信號(hào)處理這門學(xué)科的學(xué)習(xí)就不精深,更何況只是在一些例題中接觸過MATLAB語言,甚至沒有看過一些基礎(chǔ)的書籍,更沒有上過課,所以初次遇到一個(gè)實(shí)際問題,感覺無從下手。這是由于自己對(duì)MATLAB的模塊設(shè)計(jì)不夠理解,同時(shí)對(duì)MATLAB的基本語句一無所知,不過通過請(qǐng)教老師懂得了首先要了解解題思路,以及若要實(shí)現(xiàn)此次設(shè)計(jì)需要哪些最基本的思路和函數(shù)。這樣一下子豁然開朗,掌握了基本設(shè)計(jì)思路之后,后面的編程就順利多了。至此,我真真體會(huì)到清晰地思路對(duì)成功編寫一個(gè)程序的重要性。
當(dāng)然成功編寫一個(gè)程序絕非易事,之前,我總以為程序能夠正常運(yùn)行,就代表著編程成功,后來我才發(fā)現(xiàn)我大錯(cuò)特錯(cuò)了。我用了三天時(shí)間,完成了程序的編寫、改錯(cuò),但我立刻發(fā)現(xiàn)盡管程序能夠正常運(yùn)行,部分功能卻不完善,甚至不能出現(xiàn)自己想要的結(jié)果。經(jīng)過一次又一次調(diào)試、修改又修改,一點(diǎn)一點(diǎn)發(fā)現(xiàn)問題并改正,我才真正發(fā)現(xiàn)編程遠(yuǎn)沒有想象中的簡(jiǎn)單,并且深刻體會(huì)到編程和單純的解題是有著多么大的不同。它需要的不僅是清晰地編程思路、編程技巧,還需要細(xì)心,有耐心有毅力。
在編程過程中,我遇到了許多問題,通過查找資料也未能找到原因,每次我想老師請(qǐng)教,可老師總不是萬能的,顧不到每一位同學(xué)的要求。這時(shí),同學(xué)就是一個(gè)很好的求助對(duì)象。我們可以找曾經(jīng)接觸過MATLAB的同學(xué)學(xué)習(xí)、交流、討論。這樣不僅我們可以學(xué)習(xí),他們也可以更加鞏固他們的知識(shí)。我想這便是團(tuán)隊(duì) 精神,有的時(shí)候真的是人多力量大。
最后,在此次編程過程中,我收獲的不僅僅是對(duì)上學(xué)期已學(xué)的知識(shí)的鞏固,和MATLAB這項(xiàng)新的工作平臺(tái),我還學(xué)會(huì)了遇到難題時(shí)不能輕易放棄,要有迎難而上的勇氣,有時(shí)候自己一個(gè)人完成不了的理解不了的知識(shí),多請(qǐng)教請(qǐng)教別人是一項(xiàng)很好的選擇等等。總之,這次課程設(shè)計(jì)讓我學(xué)會(huì)了很多,我會(huì)銘記于心,讓其在以后的學(xué)習(xí)、生活或者工作中都時(shí)刻警醒著我。
附錄:
源程序清單
%1.現(xiàn)代碼 figure(1)t=-0.005:0.0001:0.005;y1=exp(-1000*abs(t));T=0.0002;n=-25:1:25;y2=exp(-1000*abs(n*T));N=200;k=0:1:N;w=pi*k/N;X=y2*exp(-j*n'*w);X=real(X);w=[-fliplr(w),w(2:N+1)];X=[fliplr(X),X(2:N+1)];subplot(2,2,1);plot(t,y1);title('原函數(shù)');xlabel('t/秒');ylabel('y1(n)');subplot(2,2,2);stem(n*T,y2,'.');xlabel('n*T/秒');ylabel('y2(n)');title('(1)離散序列,fs=5000');subplot(2,3,4);plot(w/pi,X);xlabel('頻率/pi');ylabel('Xl(w)')title('(1)序列的傅里葉變換')t=-0.005:0.0001:0.005;y1=exp(-1000*abs(t));T=0.001;n=-5:1:5;y2=exp(-1000*abs(n*T));N=200;k=0:1:N;w=pi*k/N;X=y2*exp(-j*n'*w);X=real(X);w=[-fliplr(w),w(2:N+1)];X=[fliplr(X),X(2:N+1)];subplot(2,3,5);stem(n*T,y2,'.');xlabel('n*T/秒');ylabel('y2(n)');title('(2)離散序列,fs=1000');subplot(2,3,6);plot(w/pi,X);xlabel('頻率/pi');ylabel('Xl(w)')title('(2)序列的傅里葉變換')
%2.figure(1)B=[1,1];A=1;subplot(2,3,3);zplane(B,A);xlabel('實(shí)部Re');ylabel('虛部Im');title('y(n)=x(n)+x(n-1)傳輸函數(shù)零極點(diǎn)分布');grid on [H,w]=freqz(B,A,'whole');subplot(2,3,1);plot(w/pi,abs(H),'linewidth',2);grid on;xlabel('omega/pi');ylabel('|H(e^j^omega)|');title('幅頻響應(yīng)特性');axis([0,2,0,2.2]);subplot(2,3,2);plot(w/pi,angle(H),'linewidth',2);grid on;axis([-0.1,2.1,-1.6,1.6]);xlabel('omega/pi');ylabel('phi(omega)');title('相頻響應(yīng)特性');B=[1,-1];A=1;subplot(2,3,6);zplane(B,A);xlabel('實(shí)部Re');ylabel('虛部Im');title('y(n)=x(n)-x(n-1)傳輸函數(shù)零極點(diǎn)分布');grid on [H,w]=freqz(B,A,'whole');subplot(2,3,4);plot(w/pi,abs(H),'linewidth',2);grid on;xlabel('omega/pi');ylabel('|H(e^j^omega)|');title('幅頻響應(yīng)特性 ');axis([0,2,0,2.2]);subplot(2,3,5);plot(w/pi,angle(H),'linewidth',2);grid on;xlabel('omega/pi');ylabel('phi(omega)');title('相頻響應(yīng)特性');axis([-0.1,2.1,-1.6,1.6]);
%3.%(1)figure(1)t=0:1.9:100;n=0:1:99;x1=cos(pi*t);x2=cos(9*pi*t);y1=x1.*x2;y2=fft(y1,100);subplot(3,1,1);plot(t,y1);title('已調(diào)信號(hào)x');xlabel('t/秒');ylabel('y1(n)');subplot(3,1,2);stem(n,abs(y2),'.');title('幅頻特性');xlabel('頻率/pi');ylabel('幅值');pha=angle(y2);subplot(3,1,3);stem(n,pha,'.');title('相頻特性');xlabel('頻率/pi');ylabel('相位(rad)');axis([0 99-5 5]);
%(2)figure(2)t1=1;t=[0:0.05:5];x=cos(pi*t).*cos(9*pi*t);%已調(diào)信號(hào) subplot(2,2,1);plot(t,x);title('已調(diào)信號(hào)');y=x.*cos(9*pi*t);%已調(diào)信號(hào)再乘以載波信號(hào) wp=6*pi/5;ws=14*pi/8;Rp=3;As=30;%選定濾波器的參數(shù),并設(shè)計(jì)模擬低通濾波器 [N,wc]=buttord(wp,ws,Rp,As,'s');[B,A]=butter(N,wc,'s');[H,w]=freqs(B,A,127);%濾波器的系統(tǒng)函數(shù) subplot(2,2,2);plot(w/(2*pi),abs(H));axis([0,5,0,1]);title('濾波器系統(tǒng)函數(shù)');w1=linspace(0,40,64);%求y的頻譜 F1=y*exp(-j*t'*w1);F=[fliplr(F1),F1(2:64)];w=[-fliplr(w1),w1(2:64)];subplot(2,2,3);plot(w,abs(F)),title('y的頻譜');Y3=H'.*F;%通過信號(hào)的頻譜與系統(tǒng)函數(shù)相乘進(jìn)行濾波 z=Y3*exp(j*w'*t)/pi;%濾波后的序列 subplot(2,2,4);plot(t,z);title('濾波后的序列');
%4.figure(1)n1=0:3,n2=4:7;x1=n1+1,x2=8-n2;subplot(2,3,1);stem([n1,n2],[x1,x2],'.');title('三角波序列');x=[1 2 3 4 4 3 2 1];subplot(2,3,2);stem(abs(fft(x)),'.');title('三角波序列8點(diǎn)FFT');x=[1 2 3 4 4 3 2 1 0 0 0 0 0 0 0 0];subplot(2,3,3);stem(abs(fft(x)),'.');title('三角波序列16點(diǎn)FFT');n1=0:3,n2=4:7;x1=4-n1,x2=n2-3;subplot(2,3,4);stem([n1,n2],[x1,x2],'.');title('反三角波序列');x=[4 3 2 1 1 2 3 4];subplot(2,3,5);stem(abs(fft(x)),'.');title('反三角波序列8點(diǎn)FFT');x=[4 3 2 1 1 2 3 4 0 0 0 0 0 0 0 0];subplot(2,3,6);stem(abs(fft(x)),'.');title('反三角波序列16點(diǎn)FFT');
%5.%低通 figure(1)n=0:1:24;x=1+cos(pi*n/4)+cos(2/3*pi*n);Wp=1/4*pi;Ws=2/3*pi;Ap=3;As=30;Os=2*tan(Ws/2);Op=2*tan(Wp/2);N=ceil(1/2*log10((10^(0.1*As)-1)/(10^(0.1*Ap)-1))./log10(Os/Op)), Oc1=Op*(10^(0.1*Ap)-1)^(-1/(2*N));Oc2=Os*(10^(0.1*As)-1)^(-1/(2*N));Oc=[Oc1,Oc2];Oc=min(Oc)
wp=[Wp/pi];wr=[Ws/pi];[N,wc]=buttord(wp,wr,Ap,As,'s');[b,a]=butter(N,wc,'low');sysl=tf(b,a)w=linspace(0,2*pi,500);
n=0:100;x1=1+cos(pi*n/4)+cos(2*pi*n/3);subplot(221),plot(n,x1);title('濾波前時(shí)域波形');y1=fft(x1,500);subplot(222),plot(w,abs(y1));title('濾波前頻域波形');
x2=filter(b,a,x1);subplot(223),plot(n,x2)title('濾波后的時(shí)域波形');y2=fft(x2,500);subplot(224),plot(w,abs(y2));title('濾波后的頻域波形');
figure(2);freqz(b,a,1000);title('濾波器幅頻相頻響應(yīng)');%高通 figure(1)n=0:1:24;x=1+cos(pi*n/4)+cos(2/3*pi*n);Wp=2*pi/3;Ws=1*pi/4;Ap=3;As=30;Os=2*tan(Ws/2);Op=2*tan(Wp/2);N=ceil(1/2*log10((10^(0.1*As)-1)/(10^(0.1*Ap)-1))./log10(Op/Os)), Oc1=(1/Op)*(10^(0.1*Ap)-1)^(-1/(2*N));Oc2=(1/Os)*(10^(0.1*As)-1)^(-1/(2*N));Oc=[Oc1,Oc2];Oc=min(Oc)
wp=[Wp/pi];wr=[Ws/pi];[N,wc]=buttord(wp,wr,Ap,As,'s');[b,a]=butter(N,wc,'high');sysl=tf(b,a)w=linspace(0,2*pi,500);
n=0:100;x1=1+cos(pi*n/4)+cos(2*pi*n/3);subplot(221),plot(n,x1);title('濾波前時(shí)域波形');y1=fft(x1,500);subplot(222),plot(w,abs(y1));title('濾波前頻域波形');
x2=filter(b,a,x1);subplot(223),plot(n,x2)title('濾波后的時(shí)域波形');y2=fft(x2,500);subplot(224),plot(w,abs(y2));title('濾波后的頻域波形');
figure(2);freqz(b,a,1000);title('濾波器幅頻相頻響應(yīng)');
%帶通 figure(1);wp1=(3*pi)/16;wp2=(5*pi)/16;ap=1;ws1=(1*pi)/16;ws2=(5*pi)/9;as=50;wp=[wp1/pi wp2/pi];ws=[ws1/pi ws2/pi];[N,wn]=buttord(wp,ws,ap,as);[b,a]=butter(N,wn,'bandpass');N, sysl=tf(b,a), w=linspace(0,2*pi,500);
n=0:100;x1=1+cos(pi*n/4)+cos(2*pi*n/3);subplot(221),plot(n,x1);title('濾波前時(shí)域波形');y1=fft(x1,500);subplot(222),plot(w,abs(y1));title('濾波前頻域波形');
x2=filter(b,a,x1);subplot(223),plot(n,x2)title('濾波后的時(shí)域波形');y2=fft(x2,500);subplot(224),plot(w,abs(y2));title('濾波后的頻域波形')
figure(2);freqz(b,a,1000);title('濾波器幅頻相頻響應(yīng)');
%帶阻 figure(1);
wp1=pi/16;wp2=(5*pi)/9;ap=1;ws1=(3*pi)/16;ws2=(5*pi)/16;as=50;wp=[wp1/pi,wp2/pi];ws=[ws1/pi,ws2/pi];[N,wc]=buttord(ws,wp,ap,as);[b,a]=butter(N,wc,'stop');w=linspace(0,2*pi,500);N, sysl=tf(b,a)
n=0:100;x1=1+cos(pi*n/4)+cos(2*pi*n/3);subplot(221),plot(n,x1);title('濾波前時(shí)域波形');y1=fft(x1,500);subplot(222),plot(w,abs(y1));title('濾波前頻域波形');
x2=filter(b,a,x1);subplot(223),plot(n,x2)title('濾波后的時(shí)域波形');y2=fft(x2,500);subplot(224),plot(w,abs(y2));title('濾波后的頻域波形')
figure(2);freqz(b,a,1000);title('濾波器幅頻相頻響應(yīng)');
%6.%(1)figure(1)Window=hanning(16);h=fir1(15,[0.3 0.5],Window);
freqz(h,1)title('N=15的漢寧窗');figure(2)Window=hanning(46);h=fir1(45,[0.3 0.5],Window);freqz(h,1)title('N=45的漢寧窗');%(2)figure(3)Window=blackman(16);b=fir1(15,[0.3 0.5],Window);freqz(b,1)title('N=15的布萊克曼窗');
figure(4)Window=blackman(46);b=fir1(45,[0.3 0.5],Window);freqz(b,1)title('N=45的布萊克曼窗');
figure(5)Window=boxcar(16);b=fir1(15,[0.3 0.5],Window);freqz(b,1)title('N=15的矩形窗');
figure(6)Window=boxcar(46);b=fir1(45,[0.3 0.5],Window);freqz(b,1)title('N=45的矩形窗');
參考文獻(xiàn)
[1]高西全,丁玉美.數(shù)字信號(hào)處理.第三版.西安:西安電子科技大學(xué)出版社,2008 [2]彭軍,李宏.信號(hào)與信息處理基礎(chǔ).北京:中國鐵道出版社,2009 [3]A.V.奧本海姆,等.信號(hào)與系統(tǒng).劉樹棠,譯.西安:西安交通大學(xué)出版社,1985 [4]程佩青.數(shù)字信號(hào)處理教程.第二版.北京:清華大學(xué)出版社,2001 [5]陳懷琛,吳大正,高西全.MATLAB在電子信息課程中的應(yīng)用.第三版.北京:電子工業(yè)出版社,2006 [6]董長(zhǎng)虹.MATLAB信號(hào)處理與應(yīng)用.北京:國防工業(yè)出版社,2005