《數(shù)字信號(hào)處理實(shí)驗(yàn)》課件第5章_第1頁(yè)
《數(shù)字信號(hào)處理實(shí)驗(yàn)》課件第5章_第2頁(yè)
《數(shù)字信號(hào)處理實(shí)驗(yàn)》課件第5章_第3頁(yè)
《數(shù)字信號(hào)處理實(shí)驗(yàn)》課件第5章_第4頁(yè)
《數(shù)字信號(hào)處理實(shí)驗(yàn)》課件第5章_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1.1市場(chǎng)與市場(chǎng)營(yíng)銷1.2我國(guó)汽車(chē)市場(chǎng)的發(fā)展與現(xiàn)狀復(fù)習(xí)思考題實(shí)驗(yàn)5卷積的原理及應(yīng)用一、實(shí)驗(yàn)?zāi)康?/p>

(1)通過(guò)實(shí)驗(yàn)進(jìn)一步理解卷積定理,了解卷積的過(guò)程。

(2)掌握應(yīng)用線性卷積求解離散時(shí)間系統(tǒng)響應(yīng)的基本方法。

(3)了解MATLAB中有關(guān)卷積的子函數(shù)及其應(yīng)用方法。二、實(shí)驗(yàn)涉及的MATLAB子函數(shù)

1.conv

功能:進(jìn)行兩個(gè)序列間的卷積運(yùn)算。

調(diào)用格式:

y=conv(x,h);用于求取兩個(gè)有限長(zhǎng)序列x和h的卷積,y的長(zhǎng)度取x、h長(zhǎng)度之和減1。

例如,x(n)和h(n)的長(zhǎng)度分別為M和N,則

y=conv(x,h)

y的長(zhǎng)度為N+M-1。

使用注意事項(xiàng):conv默認(rèn)兩個(gè)信號(hào)的時(shí)間序列從n=0開(kāi)始,因此默認(rèn)y對(duì)應(yīng)的時(shí)間序號(hào)也從n=0開(kāi)始。

2.sum

功能:求各元素之和。

調(diào)用格式:

Z=sum(x);求各元素之和,常用于等寬數(shù)組求定積分。

3.hold

功能:控制當(dāng)前圖形是否刷新的雙向切換開(kāi)關(guān)。

調(diào)用格式:

holdon;使當(dāng)前軸及圖形保持而不被刷新,準(zhǔn)備接受此后將繪制的新曲線。

holdoff;使當(dāng)前軸及圖形不再具備不被刷新的性質(zhì)。

4.pause

功能:暫停執(zhí)行文件。

調(diào)用格式:

pause;暫停執(zhí)行文件,等待用戶按任意鍵繼續(xù)。

pause(n);在繼續(xù)執(zhí)行之前,暫停n秒。三、實(shí)驗(yàn)原理

1.離散LSI系統(tǒng)的線性卷積

由理論學(xué)習(xí)我們已知,對(duì)于線性移不變離散系統(tǒng),任意的輸入信號(hào)x(n)可以用d(n)及其位移的線性組合來(lái)表示,即

當(dāng)輸入為d(n)時(shí),系統(tǒng)的輸出y(n)=h(n),由系統(tǒng)的線性移不變性質(zhì)可以得到系統(tǒng)對(duì)x(n)的響應(yīng)y(n)為

稱為離散系統(tǒng)的線性卷積,簡(jiǎn)記為

y(n)=x(n)*h(n)

也就是說(shuō),如果已知系統(tǒng)的沖激響應(yīng),將輸入信號(hào)與系統(tǒng)的沖激響應(yīng)進(jìn)行卷積運(yùn)算,即可求得系統(tǒng)的響應(yīng)。MATLAB提供了進(jìn)行卷積運(yùn)算的conv子函數(shù)。

2.直接使用conv進(jìn)行卷積運(yùn)算

求解兩個(gè)序列的卷積,很重要的問(wèn)題在于卷積結(jié)果的時(shí)寬區(qū)間如何確定。在MATLAB中,卷積子函數(shù)conv默認(rèn)兩個(gè)信號(hào)的時(shí)間序列從n=0開(kāi)始,y對(duì)應(yīng)的時(shí)間序號(hào)也從n=0開(kāi)始。

例5-1

已知兩個(gè)信號(hào)序列:

f1=0.8n(0<n<20)

f2=u(n)(0<n<10)

求兩個(gè)序列的卷積和。

編寫(xiě)MATLAB程序如下:

nf1=0:20;%建立f1的時(shí)間向量

f1=0.8.^nf1;%建立f1信號(hào)

subplot(2,2,1);stem(nf1,f1,¢filled¢);

title(¢f1(n)¢);

nf2=0:10;%建立f2的時(shí)間向量

lf2=length(nf2);%取f2時(shí)間向量的長(zhǎng)度

f2=ones(1,lf2);%建立f2信號(hào)

subplot(2,2,2);stem(nf2,f2,¢filled¢);

title(¢f2(n)¢);

y=conv(f1,f2);%卷積運(yùn)算

subplot(2,1,2);stem(y,¢filled¢);

title(¢y(n)¢);

結(jié)果如圖5-1所示。

圖5-1例5-1f1(n)、f2(n)、y(n)的波形

例5-2

如例4-1,已知一個(gè)因果系統(tǒng)的差分方程為

6y(n)+2y(n-2)=x(n)+3x(n-1)+3x(n-2)+x(n-3)

滿足初始條件y(-1)=0,x(-1)=0。在該系統(tǒng)的輸入端加一個(gè)矩形脈沖序列,其脈沖寬度與周期的比例為1∶4,一個(gè)周期取16個(gè)采樣點(diǎn),求該系統(tǒng)的響應(yīng)。

解編寫(xiě)MATLAB程序如下:

N=16;

n=0:N-1;

x=[ones(1,N/4),zeros(1,3*N/4)];%產(chǎn)生輸入信號(hào)序列

subplot(3,1,1);stem(n,x,¢filled¢);

a=[1,0,1/3,0];

b=[1/6,1/2,1/2,1/6];

hn=impz(b,a,n);%求系統(tǒng)的單位沖激響應(yīng)

subplot(3,1,2);stem(n,hn,¢filled¢);

y=conv(x,hn);%卷積運(yùn)算

subplot(3,1,3);stem(y,¢filled¢);

程序執(zhí)行的結(jié)果如圖5-2所示。

圖5-2例5-2x(n)、h(n)、y(n)的波形

3.復(fù)雜序列的卷積運(yùn)算

由于MATLAB中卷積子函數(shù)conv默認(rèn)兩個(gè)信號(hào)的時(shí)間序列從n=0開(kāi)始,因此,如果信號(hào)不是從0開(kāi)始,則編程時(shí)必須用兩個(gè)數(shù)組確定一個(gè)信號(hào),其中,一個(gè)數(shù)組是信號(hào)波形的幅度樣值,另一個(gè)數(shù)組是其對(duì)應(yīng)的時(shí)間向量。此時(shí),程序的編寫(xiě)較為復(fù)雜,我們可以將其處理過(guò)程編寫(xiě)成一個(gè)可調(diào)用的通用子函數(shù)。下面是在conv基礎(chǔ)上進(jìn)一步編寫(xiě)的新的卷積子函數(shù)convnew,是一個(gè)適用于信號(hào)從任意時(shí)間開(kāi)始的通用程序。

function[y,ny]=convnew(x,nx,h,nh)%建立 convnew子函數(shù)

%x為一信號(hào)幅度樣值向量,nx為x對(duì)應(yīng)的時(shí)間向量

%h為另一信號(hào)或系統(tǒng)沖激函數(shù)的非零樣值向量,nh為h對(duì)應(yīng)的時(shí)間向量

%y為卷積積分的非零樣值向量,ny為其對(duì)應(yīng)的時(shí)間向量

n1=nx(1)+nh(1);%計(jì)算y的非零樣值的起點(diǎn)位置

n2=nx(length(x))+nh(length(h));%計(jì)算y的非零樣值 的寬度

ny=[n1:n2];%確定y的非零樣值時(shí)間向量

y=conv(x,h);

用上述程序可以計(jì)算兩個(gè)離散時(shí)間序列的卷積和,求解信號(hào)通過(guò)一個(gè)離散系統(tǒng)的響應(yīng)。

例5-3

兩個(gè)信號(hào)序列:f1為0.5n(0<n<10)的斜變信號(hào)序列;f2為一個(gè)u(n+2)(-2<n<10)的階躍序列,求兩個(gè)序列的卷積和。

解從信號(hào)序列n的范圍可見(jiàn),f2的時(shí)間軸起點(diǎn)不是n=0,因此,該程序需使用卷積子函數(shù)convnew進(jìn)行計(jì)算。

編寫(xiě)MATLAB程序如下:

nf1=0:10;%f1的時(shí)間向量

f1=0.5*nf1;

nf2=-2:10;%f2的時(shí)間向量

nt=length(nf2);%取f2時(shí)間向量的長(zhǎng)度

f2=ones(1,nt);[y,ny]=convnew(f1,nf1,f2,nf2);%調(diào)用convnew卷積子函數(shù)

subplot(2,2,1),stem(nf1,f1,¢filled¢);%顯示f1信號(hào)

subplot(2,2,2),stem(nf2,f2,¢filled¢);%顯示f2信號(hào)

subplot(2,1,2),stem(ny,y,¢filled¢);%卷積積分結(jié)果

程序執(zhí)行的結(jié)果如圖5-3所示。

圖5-3例5-3f1(n)、f2(n)、y(n)的波形

例5-4

已知一個(gè)IIR數(shù)字低通濾波器的系統(tǒng)函數(shù)公式為

輸入一個(gè)矩形信號(hào)序列

x=square(n/5)(-2<n<10p)

求該系統(tǒng)的響應(yīng)。

編寫(xiě)MATLAB程序如下:

nx=-2:10*pi;x=square(nx/5);%產(chǎn)生輸入信 號(hào)序列

subplot(3,1,1);stem(nx,x,¢filled¢);

a=[1,-0.34319,0.60439,-0.20407];

b=[0.1321,0.3963,0.3963,0.1321];

nh=0:9;

hn=impz(b,a,nh);%求系統(tǒng)的單位沖激響應(yīng)

subplot(3,1,2);stem(nh,hn,¢filled¢);

[y,ny]=convnew(x,nx,hn,nh);%調(diào)用 convnew卷積子函數(shù)

subplot(3,1,3);stem(ny,y,¢filled¢);

程序執(zhí)行的結(jié)果如圖5-4所示。

圖5-4例5-4x(n)、h(n)、y(n)的波形

4.卷積積分的動(dòng)態(tài)過(guò)程演示

為了更深入地理解兩個(gè)序列卷積的原理,下面提供一段演示卷積積分的動(dòng)態(tài)過(guò)程的MATLAB程序。

例5-5

動(dòng)態(tài)地演示例5-1求解信號(hào)序列

f1=0.8n(0<n<20)

f2=u(n)(0<n<10)

卷積和的過(guò)程。編寫(xiě)MATLAB程序如下:

clf; %圖形窗清屏

nf1=0:20; %建立f1的時(shí)間向量

f1=0.8.^nf1; %建立f1序列

lf1=length(f1);%取f1時(shí)間向量的長(zhǎng)度

nf2=0:10; %f2的時(shí)間向量

lf2=length(nf2);%取f2時(shí)間向量的長(zhǎng)度

f2=ones(1,lf2);%建立f2序列

lmax=max(lf2,lf1);%求最長(zhǎng)的序列

iflf2>lf1nf2=0;nf1=lf2-lf1;%若f2比f(wàn)1長(zhǎng),對(duì)f1補(bǔ) nf1個(gè)0

elseiflf2<lf1nf1=0;nf2=lf1-lf2;%若f1比f(wàn)2長(zhǎng),對(duì) f2補(bǔ)nf2個(gè)0

elsenf2=0;lf1=0; %若f1與f2同長(zhǎng),不補(bǔ)0

end

lt=lmax; %取長(zhǎng)者為補(bǔ)0長(zhǎng)度基礎(chǔ)

%先將f2補(bǔ)得與f1同長(zhǎng),再將兩邊補(bǔ)最大長(zhǎng)度的0

u=[zeros(1,lt),f2,zeros(1,nf2),zeros(1,lt)];

t1=(-lt+1:2*lt);

%先將f1補(bǔ)得與f2同長(zhǎng),再將左邊補(bǔ)2倍最大長(zhǎng)度的0

f1=[zeros(1,2*lt),f1,zeros(1,nf1)];

hf1=fliplr(f1); %將f1作左右反折

N=length(hf1);

y=zeros(1,3*lt); %將y存儲(chǔ)單元初始化

fork=0:2*lt %動(dòng)態(tài)演示繪圖

p=[zeros(1,k),hf1(1:N-k)];%使hf1向右循環(huán) 移位

y1=u.*p;[KG-4] %使輸入和翻轉(zhuǎn)移位的脈沖過(guò) 渡函數(shù)逐項(xiàng)相乘

yk=sum(y1); %相加

y(k+lt+1)=y(tǒng)k;%將結(jié)果放入數(shù)組y

subplot(4,1,1);stem(t1,u);

subplot(4,1,2);stem(t1,p);

subplot(4,1,3);stem(t1,y1);

subplot(4,1,4);stem(k,yk);%作圖表示每一次卷 積的結(jié)果

axis([-20,50,0,5]);holdon[KG-1] %在圖形 窗上保留每一次運(yùn)行的圖形結(jié)果

pause(1); %停頓1秒鐘

end四、實(shí)驗(yàn)任務(wù)

(1)輸入并運(yùn)行例題程序,理解每一條語(yǔ)句的意義。

(2)編寫(xiě)MATLAB程序,描繪下列信號(hào)序列的卷積波形:

①f1(n)=d(n-1),f2(n)=u(n-2),(0≤n<10)

②f1(n)=u(n),f2(n)=e0.2nu(n),(0≤n<10)

③x(n)=sinn ,h(n)=(0.5)n,(

溫馨提示

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

評(píng)論

0/150

提交評(píng)論