数字信号处理作业.docx
《数字信号处理作业.docx》由会员分享,可在线阅读,更多相关《数字信号处理作业.docx(15页珍藏版)》请在冰豆网上搜索。
![数字信号处理作业.docx](https://file1.bdocx.com/fileroot1/2022-11/30/2568d3a2-e741-4f82-bce9-d89b0c70b379/2568d3a2-e741-4f82-bce9-d89b0c70b3791.gif)
数字信号处理作业
实验1常见离散信号的MATLAB产生和图形显示
1.单位抽样序列
x=zeros(1,50);
x
(1)=1;
n=1:
50;
stem(n,x,'.');
axis([0,50,0,1]);
xlabel('n'),ylabel('x')
2.单位阶跃序列
n=-25:
25;
x=ones(1,51);
stem(n,x,'.');
xlabel('n');
ylabel('x(n)');
axis([-25,25,0,1])
3.正弦序列
f=10;
Fs=250;
fai=0;
n=1:
499;
N=500;
x=sin(2*pi*f*n/Fs+fai);
stem(n,x);
axis([0,100,-1.5,1.5]);
xlabel('n'),ylabel('x')
4.复正弦序列
n=0:
0.1:
5;
w=2;
x=exp(j*w*n);
stem(n,x,'.');
xlabel('n');
ylabel('x(n)');
axis([0,5 -1,1])
5.指数序列
n=0:
50;
a=2;
x=a.^n;
stem(n,x);
axis([0,50,0,10000]);
xlabel('n'),ylabel('x')
实验2离散系统的差分方程、单位脉冲响应和卷积分析
1.
A=[1,0.6,0.09];B=[1,-1];
x2n=ones(1,25);
x1n=[1,zeros(1,10)];
y1n=filter(B,A,x1n);
subplot(2,1,1);y='y1(n)';
stem(y1n,'g','.');
title('单位脉冲响应')
y2n=filter(B,A,x2n);
subplot(2,1,2);
y='y2(n)';
stem(y2n,'g','.');
title('阶跃响应')
2.
A=[1];B=[0,0.5,0.5,0.5,0.5,0.5];
x2n=ones(1,15);
x1n=[1,zeros(1,20)];
y1n=filter(B,A,x1n);
subplot(2,1,1);y='y1(n)';
stem(y1n,'g','.');
title('单位脉冲响应')
y2n=filter(B,A,x2n);
subplot(2,1,2);
y='y2(n)';
stem(y2n,'g','.');
title('阶跃响应')
实验3离散系统的频率响应分析和零、极点分布
num=[0.05280.07970.12950.12950.7970.0528];
den=[1-1.81072.4947-1.88010.9537-0.2336];
[z,p,k]=tf2zp(num,den);
disp('零点');disp(z);
disp('极点');disp(p);
figure
(1)
zplane(num,den)
figure
(2)
freqz(num,den,128)
零点
-1.5870+1.4470i
-1.5870-1.4470i
0.8657+1.5779i
0.8657-1.5779i
-0.0669
极点
0.2788+0.8973i
0.2788-0.8973i
0.3811+0.6274i
0.3811-0.6274i
0.4910
实验4离散信号的DTFT和DFT
1.
N=16;
n=1:
16;
x=sin(5*pi*n/16);
X1=fft(x,16);
X11=abs(X1);
subplot(2,1,1);
stem(X11);
xlabel('频率');
ylabel('幅度');
title('16点');
X2=fft(x,32);
X22=abs(X2);
subplot(2,1,2);
stem(X22);
xlabel('频率');
ylabel('幅度');
title('32点');
2.
x=sin(5*pi*n/16);
X1=fft(x);
X11=abs(X1);
stem(X11);
xlabel('频率');
ylabel('幅度');
title('DTFT');
实验5FFT算法的应用
1:
N=64;
n=0:
2*N-1;
x=cos(2*pi*7*n/N)+1/2*cos(2*pi*19*n/N);
X=fft(x,128);
k=n;
stem(k,abs(X))
grid
xlabel('k');
ylabel('|X[k]|');
2.
k=0:
63;
N=64;
X=1./(1-0.6*exp(-j*2*pi*k/N));
x=ifft(X,64);
stem(abs(x));
xlabel('n');ylabel('x(n)');
title('IFFT')
实验6基于MATLAB的数字滤波器设计
IIR:
wp=[0.4,0.7];
ws=[0.3,0.8];
Rp=1;Rs=40;
[N,wc]=buttord(wp,ws,Rp,Rs)
[B,A]=butter(N,wc)
[H,w]=freqz(B,A);
subplot(2,1,1);
plot(w/pi,abs(H));
xlabel('w/pi');ylabel('magnitude');
subplot(2,1,2);
plot(w/pi,angle(H));
xlabel('w/pi');ylabel('phase')
N=9
wc=0.38500.7127
B=0.00030-0.002300.00910-0.021300.03200-0.032000.02130-0.009100.00230-0.0003
A=1.00002.12245.11897.300710.995912.095613.560111.947110.62087.58695.45333.13111.81940.81310.37440.12040.04200.00770.0018
FIR:
由于aS≥40dB,可选hamming窗,其阻带最小衰减-53dB满足要求。
ws1=0.3*pi;ws2=0.8*pi;wp1=0.4*pi;wp2=0.7*pi;
wb=(wp1-ws1+ws2-wp2)/2;
wc=[wp1/pi-(wp1-ws1)/(2*pi),wp2/pi+(ws2-wp2)/(2*pi)];
N=ceil(3.3*2*pi/wb);
b=fir1(N,wc);
n=0:
N;
hn=b(n+1)
[H,w]=freqz(b,1);
subplot(2,1,1);
plot(w/pi,abs(H));
xlabel('w/pi');
ylabel('magnitude');
subplot(2,1,2);
plot(w/pi,angle(H));
xlabel('w/pi');
ylabel('phase');
hn=0.00130.0005-0.00110.0000-0.00140.00090.0031-0.00150.0000-0.0030-0.00330.00810.00100.0000-0.0013-0.01520.00840.01060.00000.0102-0.0286-0.01140.0258-0.00000.0345-0.0204-0.06940.0339-0.00000.07310.0898-0.2851-0.05830.3994-0.0583-0.28510.08980.0731-0.00000.0339-0.0694-0.02040.0345-0.00000.0258-0.0114-0.02860.0102
0.00000.01060.0084-0.0152-0.00130.00000.00100.0081-0.0033-0.00300.0000-0.00150.00310.0009-0.00140.0000-0.00110.00050.0013