《数字信号的处理》课后上机的题目.docx
《《数字信号的处理》课后上机的题目.docx》由会员分享,可在线阅读,更多相关《《数字信号的处理》课后上机的题目.docx(9页珍藏版)》请在冰豆网上搜索。
《数字信号的处理》课后上机的题目
实验报告
第一章:
时域离散信号和时域离散系统
(1)y(n)=0.6y(n-1)-0.08y(n-2)+x(n)
(2)y(n)=0.7y(n-1)-0.1y(n-2)+2x(n)-x(n-2)
分别求出所描述的系统的单位脉冲响应和单位阶跃响应.
解:
(可附程序)
(1)系统差分方程的系数向量为
B1=1,A1=[1,-0.6,0.08]
(2)系统差分方程的系数向量为
B2=[2,0,-1],A2=[1,-0.7,0.1]
调用MATLAB函数filter计算两个系统的单位脉冲响应和单位阶跃响应的程序%B1=1;A1=[1,-0.6,0.08];
%设差分方程
(1)系数向量
B2=[2,0,-1];A2=[1,-0.7,0.1];
%设差分方程
(2)系数向量
%系统1
xn=[1,zeros(1,30)];
ys=0;
%xn=单位脉冲序列,长度N=31
xi=filtic(B1,A1,ys);
%由初始条件计算等效初始条件输入序列xi
hn1=filter(B1,A1,xn,xi);
%调用filter解差分方程,求系统输出信号hn1
n=0:
length(hn1)-1;
subplot(2,2,1);stem(n,hn1,'.')
title('(a)系统1的系统单位脉冲响应');
xlabel('n');ylabel('h(n)')
xn=ones(1,30);
%xn=单位阶跃序列,长度N=31
sn1=filter(B1,A1,xn,xi);
%调用filter解差分方程,求系统输出信号sn1
n=0:
length(sn1)-1;
subplot(2,2,2);stem(n,sn1,'.')
title('(b)系统1的单位阶跃响应');
xlabel('n');ylabel('s(n)')
%系统2
xn=[1,zeros(1,30)];
%xn=单位脉冲序列,长度N=31
xi=filtic(B2,A2,ys);
%由初始条件计算等效初始条件输入序列xi
hn2=filter(B2,A2,xn,xi);
%调用filter解差分方程,求系统输出信号hn2
n=0:
length(hn2)-1;
subplot(2,2,3);stem(n,hn2,'.')
title('(a)系统2的系统单位脉冲响应');
xlabel('n');ylabel('h(n)')
xn=ones(1,30);
%xn=单位阶跃序列,长度N=31
sn2=filter(B2,A2,xn,xi);
%调用filter解差分方程,求系统输出信号sn2
n=0:
length(sn2)-1;
subplot(2,2,4);stem(n,sn2,'.')
title('(b)系统2的单位阶跃响应');
xlabel('n');ylabel('s(n)')
(结果展示):
第二章:
时域离散信号和系统的频域分析
*30.假设系统函数如下式:
试用MATLAB语言判断系统是否稳定.
解:
(可附程序):
%调用roots函数求极点,并判断系统的稳定性
A=[3,-3.98,1.17,2.3418,-1.5147];
%H(z)的分母多项式系数
p=roots(A)%求H(z)的极点
pm=abs(p);%求H(z)的极点的模
ifmax(pm)<1
disp('系统因果稳定')
else
disp('系统因果不稳定')
end
(结果展示):
p=
-0.7486
0.6760
系统因果稳定
第三章:
离散傅里叶变换(DFT)
*24.给定两个序列:
={2,1,1,2},
={1,-1,-1,1}.
(1)直接在时域计算
与
的卷积;
(2)用DFT计算
与
的卷积,总结出DFT的时域卷积定理.
解:
(可附程序)
x1n=[2112];x2n=[1-1-11];
%时域直接计算卷积yn:
yn=conv(x1n,x2n)
%用DFT计算卷积y:
M1=length(x1n);
M2=length(x2n);
N=M1+M2-1;
X1k=fft(x1n,N);%计算x1n的N点DFT
X2k=fft(x2n,N);%计算x2n的N点DFT
Yck=X1k.*X2k;
y=ifft(Yck,N)
(结果展示):
yn=
2-1-22-2-12
y=
第四章:
快速傅里叶变换(FFT)
*6.按照下面的IDFT算法编写MATLAB语言IFFT程序,其中的FFT局部不用写出清单,可调用fft函数.并分别对单位脉冲序列,矩形序列,三角序列和正弦序列进展FFT和IFFT,验证所编程序.
解:
(可附程序)
%调用fft函数计算IDFT
x1n=1;%输入单位脉冲序列x1n
x2n=[11111111];%输入矩形序列向量x2n
x3n=[12344321];%输入三角序列序列向量x3n
N=8;
X1k=fft(x1n,N);%计算x1n的N点的DFT
X2k=fft(x2n,N)%计算x2n的N点的DFT
X3k=fft(x3n,N)%计算x3n的N点的DFT
x1n=ifft46(X1k,N)%调用ifft46函数计算X1k的IDFT
x2n=ifft46(X2k,N)%调用ifft46函数计算X2k的IDFT
x3n=ifft46(X3k,N)%调用ifft46函数计算X3k的IDFT
%按照所给算法公式计算IFFT
functionxn=ifft46(Xk,N)
Xk=conj(Xk);%对Xk取复共轭
xn=conj(fft(Xk,N))/N;%按照所给算法公式计算
(结果展示):
X1k=
11111111
X2k=
80000000
X3k=
Columns1through4
Columns5through8
x1n=
10000000
x2n=
11111111
x3n=
12344321
第五章:
时域离散系统的网络结构
在单位圆上采样六点,选择r=0.95,试画出它的频率采样结构,并在计算机上用DFT求出频率采样结构中的有关系数.
解:
(可附程序)
hn=[5,5,5,3,3,3];
r=0.95;
Hk=fft(hn,6);
fork=1:
3
hk(k)=Hk(k);Wk(k)=exp(-j*2*pi*(k-1)/6);
end
H0=Hk
(1)
H3=Hk(4)
r0k=2*real(hk)
r1k=-2*real(r*hk.*Wk)
(结果展示):
H0=
24
H3=
2
r0k=
4840
r1k=
-45.60003.80000
第六章:
无限脉冲响应数字滤波器的设计
*14.设计一个工作于采样频率80kHz的巴特沃斯低通数字滤波器,要求通带边界频率为4kHz,通带最大衰减为0.5dB,阻带边界频率为20kHz,阻带最小衰减为45dB.调用MATLAB工具箱函数buttord和butter设计,并显示数字滤波器系统函数H(z)的系数,绘制损耗函数和相频特性曲线.
解:
(可附程序)
Fs=80000;
T=1/Fs;
wp=2*pi*4000/Fs;
ws=2*pi*20000/Fs;
rp=0.5;rs=45;
[N,wc]=buttord(wp/pi,ws/pi,rp,rs)
[B,A]=butter(N,wc)
clf;
mpplot(B,A,rs);
functionmpplot(B,A,rs)
ifnargin<3ymin=-80;elseymin=-rs-20;end;
[H,W]=freqz(B,A,1000);
m=abs(H);
p=angle(H);
subplot(2,1,1);
plot(W/pi,20*log10(m/max(m)));gridon;
xlabel('\omega/\pi');ylabel('幅度(dB)')
axis([0,1,ymin,5]);
title('低通滤波器幅频特性曲线')
subplot(2,1,2);
plot(W/pi,p/pi);
xlabel('\omega/\pi');ylabel('y_w(t)/\pi');gridon;
title('滤除噪声后的信号波形')
(结果展示):
N=
4
wc=
B=
A=