实验一.docx
- 文档编号:25963983
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:23
- 大小:168.12KB
实验一.docx
《实验一.docx》由会员分享,可在线阅读,更多相关《实验一.docx(23页珍藏版)》请在冰豆网上搜索。
实验一
实验一
1、实验目的
认真复习采样理论、离散信号与系统、线性卷积、序列的z变换及性质等有关内容;
掌握离散时间序列的产生与基本运算,理解离散时间系统的时域特性与差分方程的求解
方法,掌握离散信号的绘图方法;
熟悉序列的z变换及性质,理解理想采样前后信号频谱的变化。
2、实验内容
a.产生长度为500的在[0,1]之间均匀分布的随机序列,产生长度为500的均值为0单
位方差的高斯分布序列。
代码:
clc;
y1=rand(500);产生长度为500的随机序列
x1=linspace(0,1,100);x轴的范围是从0到1,画100个点
yn=hist(y1,x1);绘制直方图
plot(x1,yn);画图
title('[0,1]均匀分布');
figure;
y2=randn(1,500);
ymin=min(y2);求出随机序列的最小值
ymax=max(y2);求出随机序列的最大值
x2=linspace(ymin,ymax,100);x轴的范围是从ymin到ymax,画100个点
ym=hist(y2,x2);
bar(x2,ym);绘制二维直方图
title('[0,1]高斯分布');
b.线性时不变系统单位脉冲响应为h(n)=(0.9)nu(n),当系统输入为x(n)=R10(n)时,求系
统的零状态响应,并绘制波形图。
代码:
functionx=u(n)
x=(n>=0);自己定义一个函数u(n)
主函数:
clc;
n=-2:
50;
x=u(n)-u(n-10);%
h=((0.9).^n).*u(n);%单位脉冲响应
subplot(3,1,1);
stem(n,x,'filled');
axis([-2,50,0,2]);%坐标轴的范围[xmin=-2,xmax=50],[ymin=0,ymax=2]
ylabel('x(n)');
subplot(3,1,2);
stem(n,h,'filled');
axis([-2,50,0,2]);%坐标轴的范围[xmin=-2,xmax=50],[ymin=0,ymax=2]
ylabel('h(n)');
y=conv(h,x);%求卷积得出零状态响应
subplot(3,1,3);
stem(y,'filled');
axis([-2,50,0,8]);%坐标轴的范围[xmin=-2,xmax=50],[ymin=0,ymax=8]
xlabel('n');%标着x轴的变量为n
ylabel('y(n)');%标着x轴的变量为y(n)
c.描述系统的差分方程为:
y(n)-y(n-1)+0.9y(n-2)=x(n),其中x(n)为激励,y(n)为响应。
计算并绘制n=20,30,40,50,60,70,80,90,100时的系统单位脉冲响应h(n);
计算并绘制n=20,30,40,50,60,70,80,90,100时的系统单位阶跃响应s(n);
由h(n)表征的这个系统是稳定系统吗?
代码:
b=[100];%差分方程右边系数的矢量
a=[1-10.9];%差分方程左边系数的矢量
subplot(3,3,1);
dimpulse(b,a,20);%n=20的离散时间单位冲激响应
title('n=20单位冲激响应');
subplot(3,3,2);
dimpulse(b,a,30);%n=30的离散时间单位冲激响应
title('n=30单位冲激响应');
subplot(3,3,3);
dimpulse(b,a,40);
title('n=40单位冲激响应');
subplot(3,3,4);
dimpulse(b,a,50);
title('n=50单位冲激响应');
subplot(3,3,5);
dimpulse(b,a,60);
title('n=60单位冲激响应');
subplot(3,3,6);
dimpulse(b,a,70);
title('n=70单位冲激响应');
subplot(3,3,7);
dimpulse(b,a,80);
title('n=80单位冲激响应');
subplot(3,3,8);
dimpulse(b,a,90);
title('n=90单位冲激响应');
subplot(3,3,9);
dimpulse(b,a,100);
title('n=100单位冲激响应');
figure;
subplot(3,3,1);
dstep(b,a,20);%n=20的单位阶跃响应
title('n=20单位阶跃响应');
subplot(3,3,2);
dstep(b,a,30);%n=30的单位阶跃响应
title('n=30单位阶跃响应');
subplot(3,3,3);
dstep(b,a,40);
title('n=40单位阶跃响应');
subplot(3,3,4);
dstep(b,a,50);
title('n=50单位阶跃响应');
subplot(3,3,5);
dstep(b,a,60);
title('n=60单位阶跃响应');
subplot(3,3,6);
dstep(b,a,70);
title('n=70单位阶跃响应');
subplot(3,3,7);
dstep(b,a,80);
title('n=80单位阶跃响应');
subplot(3,3,8);
dstep(b,a,90);
title('n=90单位阶跃响应');
subplot(3,3,9);
dstep(b,a,100);
title('n=100单位阶跃响应');
figure;
zplane(b,a);%画极坐标图
xlabel('Re[z]');
ylabel('jIm[z]');
title('零极点分布图');
d.序列x(n)=(0.8)nu(n),求DTFT[x(n)],并画出它幅度、相位,实部、虚部的波形图。
观察它是否具有周期性?
代码:
clc;
N=50;
n=0:
N-1;
x=((0.8).^n).*stepfun(n,0);%stepfun(0:
49,0)是求阶跃函数,n是x的范围,0是发生突变的时刻即u(n)
Xk=fft(x,N);%N点信号X进行快速傅里叶变换
subplot(2,2,1);
stem(n,abs(Xk),'.');%画幅度图,abs()求Xk的幅度
title('幅度');
subplot(2,2,2);
stem(n,angle(Xk),'.');%画相位图,angle()求相位
title('相位');
subplot(2,2,3);
stem(n,real(Xk),'.');%real()求实部
title('实部');
subplot(2,2,4);
stem(n,imag(Xk),'.');%imag()求虚部
title('虚部');
从图中可以看出,序列x(n)不具有周期性。
e.线性时不变系统的差分方程为y(n)=0.7y(n-1)+x(n),求系统的频率响应H(ejω),如果
系统输入为x(n)=cos(0.05πn)u(n),求系统的稳态响应并绘图。
代码:
clc;
N=50;
n=0:
N-1;
b=[10];
a=[1-0.7];
[H,w]=freqz(b,a,N);%freqz(b,a,N)功能是得到数字滤波器的频响即频率响应,b,a是差分的系数,N为点数
subplot(211);
plot(w/pi,abs(H));
title('频率响应的幅度特性');
h=impz(b,a);%计算单位序列响应
x=cos(0.5*pi*n).*stepfun(0:
N-1,0);
y=conv(x,h);%卷积求输出响应
subplot(212);
plot(y);
title('输入为cos(0.5pi*n)时的稳态响应');
f.设连续时间信号x(t)=e-1000|t|,计算并绘制它的傅立叶变换;如果用采样频率为每秒
5000样本对x(t)进行采样得到x1(n),计算并绘制X1(ejω),用x1(n)重建连续信号x(t),并对结
果进行讨论;如果用采样频率为每秒1000样本对x(t)进行采样得到x2(n),计算并绘制X2(ejω),
用x2(n)重建连续信号x(t),并对结果进行讨论。
加深对采样定理的理解。
代码:
symst;
x=exp(-1000*abs(t));
y=fourier(x);%求x的连续傅里叶变换
subplot(2,1,1);
ezplot(x,[-0.005,0.005]);%画出输入信号图
subplot(2,1,2);
ezplot(abs(y),[-2000,2000]);%画出输出信号的幅度图
dt=0.00005;
t=-0.005:
dt:
0.005;
%采样频率为5000时
Ts1=0.0002;
n=-25:
1:
25;
x1=exp(-1000*abs(n*Ts1));
K=500;
k=0:
1:
K;
w=pi*k/K;
X=x1*exp(-j*n'*w);
Xr1=real(X);
w=[-fliplr(w),w(2:
501)];%范围从-pi到pi
X1=[fliplr(X),X(2:
501)];%X1介于-pi和pi之间
figure;
subplot(2,1,1);
plot(n,x1);
subplot(2,1,2)
plot(w/pi,X1,'.');
ylabel('X1(jw)');
title('离散时间变换');
gtext('Ts=0.2ms');%在图上标注Ts=0.2ms
%采样频率为1000时
Ts2=0.001;
x2=exp(-1000*abs(n*Ts2));
X=x2*exp(-j*n'*w);
Xr2=real(X);
w=[-fliplr(w),w(2:
501)];%范围从-pi到pi
X2=[fliplr(X),X(2:
501)];%X1介于-pi和pi之间
figure;
subplot(2,1,1);
plot(n,x2);
subplot(2,1,2)
plot(w/pi,X2,'.');
ylabel('X2(jw)');
title('离散时间变换');
gtext('Ts=1ms');%在图上标注Ts=1ms
分析:
由奈奎斯特采样定理可以知道,由于信号的最高频率为Fh=2000Hz,因此信息科学与工程学院数字信号处理实验报告14要保证无失真恢复原波形,采样频率fs>=2*Fh=4000Hz
当fs=5000Hz时,满足无失真条件,可以看出,此时波形和原函数一致。
分析:
由上一步分析,当fs=1000Hz<4000Hz时,不满足采样定理,可以看出,此时波形和原函数失真,会产生严重的码间串扰。
g.设X1(z)=z+2+3z-1,X2(z)=2z2+4z+3+5z-1,用卷积方法计算X1(z)X2(z)。
代码:
clc;
n=[-5:
5];
x1=u(n+1)-u(n)+2*(u(n)-u(n-1))+3*(u(n-1)-u(n-2));%X1(z)=z+2+3z-1的反变换
x2=2*(u(n+2)-u(n+1))+4*(u(n+1)-u(n))+3*(u(n)-u(n-1))+5*(u(n-1)-u(n-2));%X2(z)=2z2+4z+3+5z-1的反变换
y=conv(x1,x2);%时域卷积
subplot(3,1,1);
stem(n,x1);
title('x1(n)');
subplot(3,1,2)
stem(n,x2);
title('x2(n)');
subplot(3,1,3);
stem(y);
title('x1(n)*x2(n)');
figure;
Y=fft(y);%时域卷积之后求傅里叶变换得出X1(z)X2(z)
stem(Y);
分析:
可以利用Z反变换得到X1(n)=[123],n=-1,0,1;X2(n)=[2435],n=-2,-1,0,1调用函数conv_m(前面已定义)求得输出。
利用:
时域卷积,频域乘积。
h.已知系统方程为y(n)=0.9y(n-1)+x(n),求系统函数H(z)并绘制其零极点图,求系统的频率响应H(ejω)并绘制其幅度和相位波形,求系统的单位脉冲响应h(n)并绘图。
代码:
clc;
b=[10];%输入函数的系数向量
a=[1-0.9];%输出函数的系数向量
subplot(2,2,1)
zplane(b,a);%画极坐标图
xlabel('Re[z]');
ylabel('jIm[z]');
title('零极点分布图');
[H,w]=freqz(b,a);%用freqz()求系统函数
subplot(2,2,2);
plot(w/pi,abs(H));
xlabel('w');
title('幅度特性');
subplot(2,2,3);
plot(w,angle(H));
xlabel('w');
title('相位特性');
y=impz(b,a);%用impz计算单位序列响应
subplot(2,2,4);
stem(y);
xlabel('k');
title('单位冲激响应');
i.系统方程为:
y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)2.4908x(n-1)+2.2403x(n-2),验证系
统是否为线性系统、是否为时不变系统。
代码:
clc;
N=12;
n=0:
1:
N-1;
b=[2.24032.49082.2403];%输入信号的系数向量
a=[1-0.40.75];%输出信号的系数向量
h=impz(b,a,N);%用impz计算N点单位序列响应
%判定是否为线性系统
m=0:
1:
8;
x1=stepfun(0:
8,0);%stepfun()是求阶跃函数,设x1=u(n)
X1=conv(x1,h);%用卷积求输出X1
subplot(3,1,1);
stem(3*X1);
axis([0,20,-50,50]);
title('输入为x1=3*U(n)时响应');
x2=stepfun(0:
8,4);%stepfun()是求阶跃函数,设x2=u(n-4)
X2=conv(x2,h);%用卷积求输出X2
subplot(3,1,2);
stem(4*X2);
title('输入为x2=4*{U(n-4)}时响应');
x3=3*x1+4*x2;%x1与x2合成x3,判断是否为线性系统
X3=conv(x3,h);%用卷积求输出X3
subplot(3,1,3);
stem(X3);
title('输入为x3=3*x1+4*x2时的响应');
figure;
%判定是否为时不变系统
n1=0:
1:
10;
y1=stepfun(0:
5,0);%stepfun()是求阶跃函数,设y1=u(n)
Y1=conv(y1,h);
subplot(2,1,1);
stem(Y1);
axis([0,17,-5,10]);
title('输入为U(n)时响应');
n2=0:
1:
26;
y1=stepfun(0:
6,1);%stepfun()是求阶跃函数,设y2=u(n-1)
Y2=conv(y1,h);
subplot(2,1,2);
stem(Y2);
axis([0,17,-5,10]);%坐标轴范围
title('输入为U(n-1)时响应');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)