山东大学第一二次数字信号处理实验报告.docx
《山东大学第一二次数字信号处理实验报告.docx》由会员分享,可在线阅读,更多相关《山东大学第一二次数字信号处理实验报告.docx(14页珍藏版)》请在冰点文库上搜索。
![山东大学第一二次数字信号处理实验报告.docx](https://file1.bingdoc.com/fileroot1/2023-4/29/7476db14-7338-40ec-b939-5b80e0ebceed/7476db14-7338-40ec-b939-5b80e0ebceed1.gif)
山东大学第一二次数字信号处理实验报告
數字信號處理實驗報告
實驗一、離散時間信號與系統
1、實驗目の
(1)熟悉Matlab編程環境、編程方法、常用數學運算、函數和畫圖函數の應用。
(2)用Matlab實現離散時間序列の基本操作。
(3)區分conv和filter函數の異同。
(4)掌握抽樣定理。
2、實驗內容
(1)請畫出函數
其中取
請畫在一幅圖上,以便於對比。
實驗程序:
clc;clearall;closeall;
n=0:
20;
xn=0.5*sin(2*pi*0.01*n);
yn=0.75*cos(2*pi*0.15*n);
subplot(331);
stem(n,xn)%畫出x(n)散點圖
title('x(n)')
subplot(332);
stem(n,yn)%畫出y(n)散點圖
title('y(n)')
subplot(333);
stem(n,xn+yn)%畫出x(n)+y(n)散點圖
title('x(n)+y(n)')
subplot(334);
stem(n,xn.*yn)%畫出x(n)×y(n)散點圖
title('x(n)*y(n)')
subplot(335);
stem(n,xn./yn)%畫出x(n)/y(n)散點圖
title('x(n)/y(n)')
subplot(336);
stem(n+3,xn)%畫出x(n+3)散點圖
title('x(n+3)')
subplot(337);
stem(n-5,xn)%畫出x(n-5)散點圖
title('x(n-5)')
subplot(338);
stem(-n,xn)%畫出x(-n)散點圖
title('x(-n)')
實驗結果:
(2)產生複序列
畫出其實部、虛部、模和相位函數。
實驗程序:
clc;
clearall;
closeall;
n=-10:
10;
xn=exp(-0.2+0.3*n*i)%x(n)函數
subplot(221)
stem(n,real(xn))%real函數求實部
title('實部')
subplot(222)
stem(n,imag(xn))%imag函數求虛部
title('虛部')
subplot(223)
stem(n,abs(xn))%abs函數求絕對值,也就是模
title('模')
subplot(224)
stem(n,phase(xn))%phase函數求相位
title('相位')
實驗結果:
xn=
1至10列:
-0.8105-0.1155i、-0.7402-0.3499i、-0.6037-0.5530i、-0.4133-0.7067i、-0.1860-0.7973i0.0579-0.8167i、0.2967-0.7631i、0.5089-0.6413i、0.6757-0.4623i、0.7822-0.2420i
11至20列:
0.8187+0.0000i、0.7822+0.2420i、0.6757+0.4623i、0.5089+0.6413i、
0.2967+0.7631i、0.0579+0.8167i、-0.1860+0.7973i、-0.4133+0.7067i、
-0.6037+0.5530i、-0.7402+0.3499i
21列:
-0.8105+0.1155i
(3)設
。
分別用conv和filter實現,畫圖比較二者異同。
實驗程序:
clc;
clearall;
closeall;
n=0:
20;%n取0到20
xn=0.5*sin(2*pi*0.01*n);
hn=[1,0,0.5,0.25];
subplot(221)
stem(hn)%畫出h(n)散點圖
title('h(n)');
subplot(222)
stem(n,xn)%畫出x(n)散點圖
title('x(n)');
subplot(223)
y1n=conv(xn,hn)%用conv函數實現卷積
stem(y1n)
title('conv實現x(n)與h(n)卷積');
subplot(224)
y2n=filter(hn,1,xn);%用filter函數實現卷積
stem(y2n)
title('filter實現x(n)與h(n)卷積');
實驗結果:
由實驗結果の圖可知用filter函數和conv函數實現卷積の結果並不相同,若要讓filter顯示完整の卷積結果,可以在x(n)後補上(h(n)長度-1)個0後再用filter函數進行卷積。
(4)已知
請選擇合適の抽樣頻率
對其進行抽樣,所得離散時間信號不發生混疊失真。
如果是周期性信號,應保持周期性,請畫圖表示。
實驗程序:
clc;clearall;closeall;
dt=0.001;t=0:
0.001:
0.2;
xt=cos(2*pi*50*t)+0.75*cos(2*pi*80*t);
subplot(221)
plot(t,xt)%畫出x(t)圖形
title('信號x(t)')
N=100;k=-N:
N;W=pi*k/(N*dt);
Fw=dt*xt*exp(-j*t'*W);%求信號頻譜
subplot(222)
plot(W,abs(Fw));title('信號x(t)の頻譜')
axis([-2000200000.15])
T=0.1;fm=1/T;
fs=30*fm;%抽樣頻率,fs為fmの30倍
Ts=1/fs;t1=0:
Ts:
0.2;
xst=cos(2*pi*50*t1)+0.75*cos(2*pi*80*t1);
subplot(223)
plot(t,xt,':
'),holdon
stem(t1,xst)%畫出抽樣信號
title('抽樣後の信號')
Fsw=Ts*xst*exp(-j*t1'*W);
subplot(224)
plot(W,abs(Fsw))%畫出抽樣信號の頻譜
title('抽樣後の信號の頻譜')
axis([-2000200000.15])
實驗結果:
若用freqz求信號頻譜,實驗程序為:
clc;clearall;closeall;
dt=0.001;
t=0:
0.001:
0.2;
xt=cos(2*pi*50*t)+0.75*cos(2*pi*80*t);
subplot(221)
plot(t,xt)
title('信號x(t)')
subplot(222)
[H,w]=freqz(xt,1,'whole')%用freqz函數求信號頻譜
plot(w,abs(H))
title('信號x(t)の頻譜')
T=0.1;
fm=1/T;
fs=100*fm;%抽樣頻率,fs為fmの100倍
Ts=1/fs;
t1=0:
Ts:
0.2;
xst=cos(2*pi*50*t1)+0.75*cos(2*pi*80*t1);
subplot(223)
plot(t,xt,':
'),holdon
stem(t1,xst)
title('抽樣後の信號')
subplot(224)
[H1,w1]=freqz(xst,1,'whole')%用freqz函數求抽樣後信號の頻譜
plot(w1,abs(H1))
title('抽樣後の信號の頻譜')
實驗結果:
實驗二、z變換和DTFT
1、實驗目の
(1)熟悉Z變換及其收斂域、零極點。
(2)熟悉DTFT。
(3)熟悉DTFTの性質。
2、實驗內容
(1)已知
請畫出其零極點圖和頻率響應。
實驗程序:
clc;
clearall;
closeall;
subplot(2,1,1);
b=[1-0.25];
a=[1-(8/15)(1/15)];
zplane(b,a);%zplane函數畫出系統零極點
title('零極點圖')
legend('零點','極點');
subplot(2,1,2);
[H,w]=freqz(b,a);%求系統函數
plot(w,abs(H));
xlabel('\omega');
title('頻率響應');
實驗結果:
(2)編程完成p110,2.15
(1)
(2),並將結果畫圖。
實驗程序:
clc;
clearall;
closeall;
b=[01];
a=[1-1-1];
subplot(211)
zplane(b,a);%畫出零極點圖
title('零極點圖')
n=0:
10;
hn=impz(b,a,n)%求系統單位抽樣響應
subplot(212)
stem(n,hn)
title('系統單位抽樣響應h(n)')
實驗結果:
hn=0、1、1、2、3、5、8、13、21、34、55
(3)編程完成p111,2.20,並將結果畫圖。
注:
請將2.20(3)~(6)の結果畫在同一幅圖上。
實驗程序:
clc;
clearall;
closeall;
n=0:
9;
x=[5,4,3,2,1,1,2,3,4,5];
k=0:
500;w=(pi/250)*k;
X=x*(exp(-j*pi/250*n'*k))
magX=abs(X);angX=angle(X);
subplot(4,2,1);plot(w/pi,magX);title('(3)幅度響應');gridon;
subplot(4,2,2);plot(w/pi,angX);title('(3)相位響應');gridon;
n=0:
8;
x=[5,4,3,2,1,2,3,4,5];
k=0:
500;w=(pi/250)*k;
X=x*(exp(-j*pi/250*n'*k))
magX=abs(X);angX=angle(X);
subplot(4,2,3);plot(w/pi,magX);title('(4)幅度響應');gridon;
subplot(4,2,4);plot(w/pi,angX);title('(4)相位響應');gridon;
n=0:
10;
x=[5,4,3,2,1,0,-1,-2,-3,-4,-5];
k=0:
500;w=(pi/250)*k;
X=x*(exp(-j*pi/250*n'*k))
magX=abs(X);angX=angle(X);
subplot(4,2,5);plot(w/pi,magX);title('(5)幅度響應');gridon;
subplot(4,2,6);plot(w/pi,angX);title('(5)相位響應');gridon;
n=0:
9;
x=[5,4,3,2,1,-1,-2,-3,-4,-5];
k=0:
500;w=(pi/250)*k;
X=x*(exp(-j*pi/250*n'*k))
magX=abs(X);angX=angle(X);
subplot(4,2,7);plot(w/pi,magX);title('(6)幅度響應');gridon;
subplot(4,2,8);plot(w/pi,angX);title('(6)相位響應');gridon;
實驗結果:
(4)編程驗證實數序列の傅立葉變換滿足共軛對稱性。
實驗程序:
clc;
clearall;
closeall;
n=0:
14;
x=0.6.^n.*(heaviside(n)-heaviside(n-15));
k=0:
500;w=(pi/250)*k;
X=x*(exp(-j*pi/250)).^(n'*k);%這就是X(e^(jw))
magX=abs(X);angX=angle(X);%求X(e^(jw))の幅度和相位
subplot(2,1,1);plot(w/pi,magX);title('幅度響應');gridon;
subplot(2,1,2);plot(w/pi,angX);title('相位響應');gridon;
實驗結果:
由上圖可知實數序列x(n)=[u(n)-u(n-15)]の傅裏葉變換の幅度響應滿足偶對稱性,相位響應滿足奇對稱性,故可以證明實數序列の傅立葉變換滿足共軛對稱性。