121301蔡成灼数字信号处理Word文档格式.docx
《121301蔡成灼数字信号处理Word文档格式.docx》由会员分享,可在线阅读,更多相关《121301蔡成灼数字信号处理Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
电技12-3
同实验者
一.实验目的:
(1)加深对离散系统的差分方程求解过程的理解。
(2)掌握离散系统的线性卷积分析方法。
(3)观察离散系统的频率响应。
二.实验内容:
(1)编制程序求解下列两差分方程的单位冲激响应,并绘出其图形。
在MATLAB中,可以用函数y=filter(a,b,x)求解差分方程。
y[n]+0.75y[n-1]+0.125y[n-2]=x[n]-x[n-1]
y[n]=0.25{x[n-1]+x[n-2]+x[n-3]+x[n-4]}
(2)应用卷积性质继续求解两系统的单位阶跃响应。
在MATLAB中,可以用函数y=conv(x,h)计算卷积。
(3)求系统幅度响应和相位频率响应。
H(z)=(0.0528+0.0797z-1+0.1295z-2+0.1295z-3+0.797z-4+0.0528z-5)/(1-1.8101z-1+2.4947z-2-1.8801z-3+0.9537z-4-0.2336z-5)
三.实验结果分析:
一、计算差分方程:
式子一程序:
>
N=20;
a=[1,-1];
b=[1,0.75,0.125];
x=[1zeros(1,N-1)];
k=0:
1:
N-1;
y=filter(a,b,x);
stem(k,y);
xlabel('
n'
);
ylabel('
幅度'
)
实验结果图:
式子二程序:
clear
a=[0,0.25,0.25,0.25,0.25];
b=[1];
x=[1zeros(1,N-1)];
k=0:
y=filter(a,b,x);
stem(k,y);
xlabel('
ylabel('
二、计算卷积:
式子一卷积:
c=conv(a,b);
M=length(c)-1;
n=0:
M;
stem(n,c);
式子二卷积:
a=[0,0.25,0.25,0.25,0.25];
b=[1];
三、求系统幅度响应和相位频率响应。
N=20;
a=[0.0528,0.0797,0.1295,0.1295,0.797,0.0528];
b=[1,-1.8107,2.4947,-1.8801,0.9537,-0.2336];
freqz(b,a);
成绩评定:
指导教师:
年月日
实验二
14.10.16
离散信号的DTFT和DFT
(1)加深理解离散时间信号的DTFT变换。
(2)掌握离散时间信号的DFT变换。
(3)区别离散信号的DTFT和DFT,讨论其相互关系。
(1)计算16点序列x(n)=cos(5nπ/16),0≤n≤15的16点DFT,会出幅度谱图形,并绘出该序列的DTFT图形。
(2)计算16点序列x(n)=cos(5nπ/16),0≤n≤15的32点DFT,会出幅度谱图形,并绘出该序列的DTFT图形。
(3)设x(n)=3en,0≤n≤15,求f(n)=x((n+3))15R15(n)的离散傅里叶变换DFT。
在Matlab中利用f(n)=x(mod((n+m),N)+1)帮助求解。
(1)程序:
n=[0:
15];
xn=cos(5*pi.*n/16);
subplot(2,2,1);
stem(n,xn,'
.'
t/T'
x(n)'
xk=fft(xn);
xk=abs(xk);
subplot(2,2,2);
stem(n,xk);
k'
x(k)'
R=1000;
1000;
w=(2*pi/R)*k;
freqz(xn,1,w);
幅度响应和相位频率响应
(2)程序:
31];
xn=cos(5*pi.*n/6);
zeros(1,16:
n-1);
title('
DTFT'
(3)程序:
n=0:
25;
x=3*exp(n);
x1=x(mod((n+3),26)+1);
r=ones(1,26);
x1=x1.*r;
y=fft(x);
Y=abs(y);
y1=fft(x1);
Y1=abs(y1);
stem(x)
x时域'
stem(x1)
x1时域'
subplot(2,2,3);
stem(Y)
Y频域'
subplot(2,2,4);
stem(Y1)
Y1频域'
实验三
14.10.21
IIR数字滤波器的设计
(1)掌握双线性变换法及脉冲响应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通、带通IIR数字滤波器的计算器编程
(2)观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。
(3)熟悉Butterworth滤波器,Chebyshev滤波器和椭圆滤波器的频率特性。
(1)fc=0.3kHz,δ=0.8dB,fr=0.2kHz,Ar=20dB,T=1ms;
设计一切比雪夫高通滤波器;
观察其通带损耗和阻带衰减是否满足要求。
(2)fc=0.2kHz,δ=1dB,fr=0.3kHz,Ar=25dB,T=1ms;
分别用脉冲响应不变法及双线性变换法设计一Butterworth数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录宽带和衰减量,检查是否满足要求。
比较这两种方法的优缺点。
(3)利用双线性变换法分别满足下列指标的Butterworth型,Chebyshev型和椭圆型数字低通滤波器,并作图验证设计结果:
fc=1.2kHz,δ=0.5dB,fr=2kHz,Ar≥40dB,fs=8kHz。
(4)利用双线性变换法设计一Butterworth型数字带通滤波器,已知fs=30kHz,其等效的模拟滤波器指标为:
δ<0.3dB,2kHz<f≤3kHz,At≥5dB,f≥6kHz,At≥20dB,f≤1.5kHz
wc=2*1000*tan(2*pi*300/(2*1000));
wt=2*1000*tan(2*pi*200/(2*1000));
[N,wn]=cheb1ord(wc,wt,0.8,20,'
s'
[B,A]=cheby1(N,0.8,wn,'
high'
'
[num,den]=bilinear(B,A,1000);
[h,w]=freqz(num,den);
f=w/pi*500;
plot(f,20*log10(abs(h)));
axis([0,500,-80,10]);
grid;
X/Hz'
Y/dB'
wc=2*1000*tan(2*pi*200/(2*1000));
wt=2*1000*tan(2*pi*300/(2*1000));
[N,wc]=buttord(200,300,1,25,'
[B,A]=butter(N,2*pi*200,'
[num1,den1]=impinvar(B,A,1000);
[h1,w]=freqz(num1,den1);
[B,A]=butter(N,1/0.001,'
[num2,den2]=bilinear(B,A,1000);
[h2,w]=freqz(num2,den2);
f=w/pi*2000;
plot(f,abs(h1),'
-.'
f,abs(h2),'
-'
Y'
(3)程序:
wc=2*8000*tan(2*pi*2000/(2*8000));
wt=2*8000*tan(2*pi*1200/(2*8000));
[N1,wn1]=buttord(wc,wt,0.5,41,'
[N2,wn2]=cheb1ord(wc,wt,0.5,41,'
[N3,wn3]=ellipord(wc,wt,0.5,41,'
[B1,A1]=butter(N1,wn1,'
[B2,A2]=cheby1(N2,0.8,wn2,'
low'
[B3,A3]=ellip(N3,0.5,40,wn3,'
[num1,den1]=bilinear(B1,A1,8000);
[num2,den2]=bilinear(B2,A2,8000);
[num3,den3]=bilinear(B3,A3,8000);
[h3,w]=freqz(num3,den3);
f,abs(h3));
巴特沃斯带通:
w1=2*30*tan(2*pi*2/(2*30));
w2=2*30*tan(2*pi*3/(2*30));
ws=2*30*tan(2*pi*1.5/(2*30));
wr=2*30*tan(2*pi*6/(2*30));
[N,wn]=buttord([w1,w2],[wswr],3,20,'
[B,A]=butter(N,wn,'
[num,den]=bilinear(B,A,30);
f=w/pi*15;
X/kHz'
shuaijian/dB'
实验四
14.11.10
FIR数字滤波器的设计
(1)掌握用窗函数法,频率采样法及优化设计法设计FIR滤波器的
原理及方法,熟悉响应的计算机编程;
(2)熟悉线性相位FIR滤波器的幅频特性和相频特性;
(3)了解各种不同窗函数对滤波器性能的影响。
(1)N=15,带通滤波器的两个通带边界分别是ω1=0.3π,ω2=0.5π,
用Hanning窗设计一线性相位带通滤波器,观察它的实际3dB和
20dB带宽。
N=45,重复这一设计,观察幅频和相位特性的变化,
注意长度N变化影响;
(2)分别改用矩形窗和Blackman窗,设计
(1)中的带通滤波器,观察
并记录窗函数对滤波器幅频特性的影响,比较三种窗的特点;
(3)用Kaiser窗设计一专用线性相位滤波器,N=40,|Hd(ejω)|如下
图,当β=4,6,10时,分别设计,比较它们的幅频和相频特性,
注意β取不同值时的影响;
实验结果:
N=15;
wn=[0.3,0.5];
window=hanning(N+1);
b=fir1(N,wn,window);
[H1,w1]=freqz(b);
figure
(1);
plot(w1/pi,20*log10(abs(H1)));
归一化频率'
幅频响应'
holdon;
M=45;
window=hanning(M+1);
c=fir1(M,wn,window);
[H2,w2]=freqz(c);
plot(w2/pi,20*log10(abs(H2)),'
g'
figure
(2);
plot(w1/pi,angle(H1));
相位'
相位响应'
plot(w2/pi,angle(H2),'
r'
N=15;
wn=[0.3,0.5];
window1=hanning(N+1);
b1=fir1(N,wn,window1);
[h1,w1]=freqz(b1);
window2=boxcar(N+1);
b2=fir1(N,wn,window2);
[h2,w2]=freqz(b2);
window3=blackman(N+1);
b3=fir1(N,wn,window3);
[h3,w3]=freqz(b3);
figure
(1);
plot(w1/pi,20*log10(abs(h1)));
gridon;
holdon;
plot(w2/pi,20*log10(abs(h2)),'
plot(w3/pi,20*log10(abs(h3)),'
幅度响应'
figure
(2);
plot(w1/pi,angle(h1));
plot(w2/pi,angle(h2),'
plot(w3/pi,angle(h3),'
相频响应'
幅度响应:
相位响应:
N=40;
f=[0,0.2,0.2,0.4,0.4,0.6,0.6,0.8,0.8,1];
a=[0,0,1,1,0,0,1,1,0,0];
beta1=4;
beta2=6;
beta3=10;
win1=kaiser(N+1,beta1);
win2=kaiser(N+1,beta2);
win3=kaiser(N+1,beta3);
b1=fir2(N,f,a,win1);
b2=fir2(N,f,a,win2);
b3=fir2(N,f,a,win3);
[h1,w1]=freqz(b1,1);
[h2,w2]=freqz(b2,1);
[h3,w3]=freqz(b3,1);
plot(w1/pi,20*log(abs(h1)));
plot(w2/pi,20*log(abs(h2)),'
plot(w3/pi,20*log(abs(h3)),'
相频响应: