哈尔滨理工大学
实验报告
课程名称:数字信号处理
学院:自动化学院
专业班级:电技12-2
学生姓名:
学号:
指导教师:马静
实验一
一.实验目的
(1) 加深对离散系统的差分方程求解过程的理解。 (2) 掌握离散系统的线性卷积分析方法 (3) 观察离散系统的频率响应。
二、实验内容:
(1) 编制程序求解下列两差分方程的单位冲激响应,并绘出其图形。在MATLAB 中,
可以用函数y=Filter(a,b,x) 求解差分方程。
]1[][]2[125.0]1[75.0][--=-+-+n x n x n y n y n y ]}4[]3[]2[]1[{25.0][-+-+-+-=n x n x n x n x n y
(2) 应用卷积性质继续求解两系统的单位阶跃响应。在MATLAB 中,可以用函数
y=Conv(x,h)计算卷积。
(3) 求系统幅度频率响应和相位频率响应。
12345
12345
0.05280.07970.12950.12950.7970.0528()1 1.8107 2.4947 1.88010.95370.2336z z z z z H z z z z z z
----------+++++=-+-+- 三 实验程序
n=15; a=[1,-1]; b=[1,075,0.125]; x=[1 zeros(1,n-1)]; k=0:1:n-1;
y=filter(a,b,x);
stem(k,y);
xlabel('n');ylabel('·ù?è');
[2]
n=15;
a=[0,0.25,0.25,0.25,0.25];
b=[1];
x=[1 zeros(1,n-1)];
k=0:1:n-1;
y=filter(a,b,x);
stem(k,y);
xlabel('n');ylabel('·ù?è');
2
[1]
a=[1,-1];
b=[1,0.75,0.125];
c=conv(a,b);
M=length(c)-1;
n=0:1:M;
stem(n,c);
xlabel('n');ylabel('·ù?è');
[2]
a=[0,0.25,0.25,0.25,0.25]; b=[1];
c=conv(a,b);
M=length(c)-1;
n=0:1:M;
stem(n,c);
xlabel('n');ylabel('·ù?è');
3
k=256;
num=[0.0528 0.0797 0.1295 0.1295 0.797 0.0528]; den=[1 -1.8107 2.4947 -1.8801 0.9537 -0.2336]; w=0:pi/k:pi;
h=freqz(num,den,w);
subplot(2,2,1);
plot(w/pi,real(h));grid
title('êμ2?')
xlabel('\omega/\pi');ylabel('·ù?è')
subplot(2,2,2);
plot(w/pi,imag(h));grid;
title('Dé2?')
xlabel('\omega/\pi');ylabel('·ù?è');
subplot(2,2,3);
plot(w/pi,abs(h));grid;
title('·ù?è?×');
xlabel('\omega/\pi');ylabel('·ù?è');
subplot(2,2,4);
plot(w/pi,angle(h));grid
title('?à???×');
xlabel('\omega/\pi');ylabel('?à??(rad)');
[2]
b=[0.058 0.0797 0.1295 0.1295 0.797 0.0528]; a=[1 -1.8107 2.4947 -1.8801 0.9537 -0.2336]; zplane(b,a);
[3]
b=[0.058 0.0797 0.1295 0.1295 0.797 0.0528]; a=[1 -1.8107 2.4947 -1.8801 0.9537 -0.2336]; G=tf(b,a);
bode(G);
实验二
一、实验目的:
(1)加深理解离散时间信号的DTFT变换。
(2)掌握离散时间信号的DFT变换。
(3)区别离散信号的DTFT和DFT,讨论其相互关系。
二、实验内容:
(1)计算16点序列
5
()cos,015
16
x n n n
π
=≤≤
的16点DFT,绘出幅度谱图形,并
绘出该序列的DTFT图形。
(2)计算 16点序列
5
()cos,015
16
x n n n
π
=≤≤
的32点DFT,绘出幅度谱图形,
并绘出该序列的DTFT图形。
(3)设
()3,015
n
x n e n
=≤≤,求()
1515
()((3))
f n x n R n
=+
的离散傅里叶变换
DFT。在Matlab中利用f(n)=x(mod((n+m),N)+1)帮助求解。三实验程序
1DFT DTFT
close
n=[0:31];
x=cos(5*pi*n/16); x1=fft(x);
x1=abs(x1); subplot(2,1,1); stem(n,x1);
xlabel('n'); ylabel('X(n)'); subplot(2,1,2); plot(n,x1);
xlabel('n'); ylabel('X(n)');
2 DFT DTFT
close
n=[0:15];
x=cos(5*pi*n/16); x1=fft(x);
x1=abs(x1); subplot(2,1,1); stem(n,x1);
xlabel('n'); ylabel('X(n)'); subplot(2,1,2); plot(n,x1);
xlabel('n'); ylabel('X(n)');
1和2 DFT
close;
k=16
n1=[0:15];
xa1=cos(5*pi*n1/16);
subplot(2,2,1)
plot(n1,xa1);hold;
plot(n1,xa1,'o');axis([0 15 -1 1]); xlabel('t/T');ylabel('x(n)');
xk1=fft(xa1);xk1=abs(xk1);
subplot(2,2,2)
stem(n1,xk1);axis([0 15 0 20]); xlabel('k');ylabel('x(k)');
n2=[0:31];
xa2=cos(5*pi*n2/16);
subplot(2,2,3)
plot(n2,xa2);hold;
plot(n2,xa2,'o');axis([0 31 -1 1]); xlabel('t/T');ylabel('x(n)');
xk2=fft(xa2);xk2=abs(xk2);
subplot(2,2,4)
stem(n2,xk2);axis([0 31 0 20]); xlabel('k');ylabel('x(k)');
3
1 ,2DTFT
A=1;
n=0:15;
x=cos(5*pi*n/16);
B=x;
w=0:0.01:2*pi*2;
H=freqz(B,A,w);
magH=abs(H);
phaH=angle(H);
subplot(2,1,1);
plot(w,magH);grid;
ylabel('Magnitude');
subplot(2,1,2);
plot(w,phaH);grid;
xlabel('w');ylabel('phase');
A=1;
n=0:31;
x=cos(5*pi*n/16);
B=x;
w=0:0.01:2*pi*2;
H=freqz(B,A,w);
magH=abs(H);
phaH=angle(H);
subplot(2,1,1);
plot(w,magH);grid;
ylabel('Magnitude');
subplot(2,1,2);
plot(w,phaH);grid;
xlabel('w');ylabel('phase');
实验三
一.实验目的
(1) 掌握双线性变换法及脉冲相应不变法设计IIR 数字滤波器的具体设计方法及
其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR 数字滤波器的计算机编程。
(2) 观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换
法及脉冲响应不变法的特点。
(3) 熟悉Butterworth 滤波器、Chebyshev 滤波器和椭圆滤波器的频率特性
二.实验内容及设计流程
(1) 0.3,0.8,0.2,20,1c r t f kHz dB f kHz A dB T ms δ=====;设计一切比雪夫
高通滤波器;观察其通带损耗和阻带衰减是否满足要求。
(2) 0.2,1,0.3,25,1c r t f kHz dB f kHz A dB T ms δ=====;分别用脉冲响应不
变法及双线性变换法设计一Butterworth 数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满足要求。比较这两种方法的优缺点。
(3) 利用双线性变换法分别设计满足下列指标的Butterworth 型、Chebyshev 型和椭
圆型数字低通滤波器,并作图验证设计结果:
1.2,0.5,2,40,8c r t s f kHz dB f kHz A dB f kHz δ===≥=。
(4) 利用双线性变换法设计一Butterworth 型数字带通滤波器,已知fs=30KHz ,其
等效的模拟滤波器指标为:
3,23,5,6,20, 1.5t t dB kHz f kHz A dB f kHz A dB f kHz δ<<≤≥≥≥≤
三.实验结果 (1)
(2)
(3)
实验四
一.实验目的
(1) 掌握用窗函数法,频率采样法及优化设计法设计FIR 滤波器的原理及方法,
熟悉响应的计算机编程;
(2) 熟悉线性相位FIR 滤波器的幅频特性和相频特性; (3) 了解各种不同窗函数对滤波器性能的影响。
二.实验内容及设计流程
(1) N=15,带通滤波器的两个通带边界分别是120.3,0.5ωπωπ==。用Hanning
窗设计一线性相位带通滤波器,观察它的实际3dB 和20dB 带宽。N=45,重复这一设计,观察幅频和相位特性的变化,注意长度N 变化影响;
(2) 分别改用矩形窗和Blackman 窗,设计(1)中的带通滤波器,观察并记录窗函数
对滤波器幅频特性的影响,比较三种窗的特点; (3) 用Kaiser 窗设计一专用线性相位滤波器,N=40,()j
d H e
ω
如下图,当β0=4,
6,10时,分别设计,比较它们的幅频和相频特性,注意β0取不同值时的影
响;
(d H ω
三.实验结果
(1)汉明窗
(2)矩形窗
N=15;
wn=[0.3,0.5];
b=fir1(N,wn,boxcar(N+1));
[H,w]=freqz(b,1,512);
subplot(2,2,1)
plot(w/pi,20*log10(abs(H)));
xlabel('normalized frequency');ylabel('magnitude'); title('magnitude response');
subplot(2,2,2)
plot(w/pi,angle(H));
xlabel('normalized frequency');ylabel('phase');
title('phase response');
N=45;
wn=[0.3,0.5];
b=fir1(N,wn,boxcar(N+1));
[H,w]=freqz(b,1,512);
subplot(2,2,3)
plot(w/pi,20*log10(abs(H)));
xlabel('normalized frequency');ylabel('magnitude'); title('magnitude response');