數字信號處理實驗報告
實驗一離散時間序列卷積和MATLAB實現
(一)實驗目的:學會用MATLAB對信號與系統分析的方法,理解離散序列卷積和的計算對進行離散信號與系統分析的重要性。
(二)實驗原理:
1、離散時間序列f1(k)和f2(k)的卷積和定義:
f(k)=f1(k)*f2(k)=∑∞
-∞
=
-?
i
i
k
f
i
f)
(
2
)
(
1
2、在離散信號與系統分析中有兩個與卷積和相關的重要結論:
a、f(k)= ∑∞
-∞
=
-?
i
i
k
i
f)
(
)
(δ=f(k)* δ(k)即離散序列可分解為一系列
幅度由f(k)決定的單位序列δ(k)及其平移序列之積。
b、對線性時不變系統,設其輸入序列為f(k),單位響應為h(k),其零狀
態響應為y(k),則有:y(k)= ∑∞
-∞
=
-?
i
i
k
h
i
f)
(
)
(
3、上機:conv.m用來實現兩個離散序列的線性卷積。
其調用格式是:y=conv(x,h)
若x的長度為N,h的長度為M,則y的長度L=N+M-1。
(三)實驗內容
1、題一:令x(n)= {}5,4,3,2,1,h(n)={}246326,
,
,
,
,,y(n)=x(n)*h(n),求y(n)。
要求用subplot和stem畫出x(n),h(n),y(n)與n的離散序列圖形。
源程序:
N=5;
M=6;
L=N+M-1;
x=[1,2,3,4,5];
h=[6,2,3,6,4,2];
y=conv(x,h);
nx=0:N-1;
nh=0:M-1;
ny=0:L-1;
subplot(131); stem(nx,x,'*k'); xlabel('n');
ylabel('x(n)'); grid on ;
subplot(132); stem(nh,h,'*k'); xlabel('n');
ylabel('h(n)'); grid on ;
subplot(133); stem(ny,y,'*k'); xlabel('n');
ylabel('y(n)'); grid on ;