DSP数字信号处理实验报告7.docx
- 文档编号:16242644
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:21
- 大小:794.86KB
DSP数字信号处理实验报告7.docx
《DSP数字信号处理实验报告7.docx》由会员分享,可在线阅读,更多相关《DSP数字信号处理实验报告7.docx(21页珍藏版)》请在冰点文库上搜索。
DSP数字信号处理实验报告7
本科学生实验报告
学号124090314姓名何胜金
学院物电学院专业、班级12电子
实验课程名称数字信号处理(实验)
教师及职称杨卫平
开课学期第三至第四学年下学期
填报时间2015年5月15日
云南师范大学教务处编印
实验序号
07
实验名称
连续系统分析
实验时间
2015年5月15
实验室
云南师范大学同析3栋数字信号处理实验室
一.实验预习
1.实验目的
理解连续时间系统的系统函数在分析连续系统的时域特性、频率特性及稳定性中的重要作用及意义。
掌握利用MATLAB分析连续系统的时域响应、频率响应和零极点的基本方法。
掌握根据系统函数的零极点设计简单的滤波器的方法。
2.实验原理、实验流程或装置示意图
matlab提供了许多可用于分析线性时不变连续系统的函数,主要包含有系统函数、系统时域响应、系统频率响应等分析函数。
连续时间LTI系统的输入x(t)与输出y(t)可用如下的线性常系数微分方程系统函数,系统时域响应,系统频率响应等分析函数。
连续时间LTI系统的输入x(t)与输出y(t)可用如下的线性常系数微分方程
来描述:
.
如果已知系统的输入信号的表示式以及系统的初始状态就可以利用解析方法求出系统的响应,但对于高阶微分方程描述的连续系统,解析计算将会变得非常繁琐和困难。
MATLAB提供了微分方程的数值计算函数,可以计算上述n阶微分方程描述的连续系统的响应,包括系统的单位冲激响应,单位阶跃响应,零输入响应,零状态响应和完全响应。
在调用这些函数时,需要利用连续系统对应的系统函数对微分方程进行拉氏变换即可得系统函数:
b= impulse(sys,t)计算并画出连续系统在向量t定义的时间范围内的冲激响应,向量h保存对时间的冲激响应的输出量。
3.实验设备及材料
一台带matlab软件的计算机。
4.实验方法步骤及注意事项
实验方法步骤:
⏹实验方法步骤:
(1) 打开MATLAB软件
(2) 根据题目要求编写程序 (3) 运行程序 (4) 分析实验结果 (5) 关闭计算机
⏹注意事项:
⏹
(1)对于实验电脑要爱惜,遵守实验的规则。
(2)程序运行前要检查程序是否正确。
⏹ 在使用matlab编程时,应该养成良好的编写习惯,新建一个flies编写。
一些快捷键的使用,能提高编程效率。
⏹ Help能查询到不懂使用的函数使用方法,比如用到的Norm等函数。
如下界
⏹面:
二、实验内容
1、已知描述连续系统的微风方程为dy(t)/dt+10y(t)=2x(t),输入x(t )=u(t),初始状态位y(0- )= 1,计算该系统的响应,并与理论结果比较,列出系统响应分析的步骤。
%1_1……该系统的单位冲激响应 clc,clear,close all a = [1,10]; b = [2];
sys = tf(b,a); t = 0:
0.1:
10;
h = impulse(sys,t); plot(h);
xlabel('t'); title('h(t)');
1_2……该系统的零状态响应 clc,clear,close all a = [1,10]; b = [2];
sys = tf(b,a); t = 0:
10/300:
10;
x = (t>0);
y = lsim(sys,x,t); plot(t,y);
3)选用不同窗函数,利用修正周期图法估计信号的功率谱,有何结论?
%1_3……该系统的零输入响应 clc,clear,close all a = [1,10]; b = [2];
[A,B,C,D] = tf2ss(b,a); sys = ss(A,B,C,D) t = 0:
10/300:
10;
x = zeros(1,length(t)); zi = [0.5];
y = lsim(sys,x,t,zi); plot(t,y);
a = conv([1,1],[1,2]) sys = tf(b,a); t = 0:
10/300:
10; x = (t>0);
y = lsim(sys,x,t); plot(t,y);
%2_2……该系统输入x(t)为sin(t)*u(t)时候的零状态响应y(t) clc,clear,close all b = [4,1]
a = conv([1,1],[1,2]) sys = tf(b,a); t = 0:
10/300:
10; x = sin(t);
y = lsim(sys,x,t); plot(t,y);
%2_2……该系统输入x(t)为sin(t)*u(t)时候的零状态响应y(t) clc,clear,close all b = [4,1]
a = conv([1,1],[1,2]) sys = tf(b,a); t = 0:
10/300:
10; x = exp(-t);
y = lsim(sys,x,t); plot(t,y);
3、研究具有以下零极点连续系统:
(1)1个极点是s=-0.1,增益k=1;
(2)2个共轭极点是s=±j5,增益k=1; (3)2个共轭极点是s=-0.1+j5,增益k=1; (4)零点s=0.5,极点是s=-0.1±j5,增益k=1; (5)零点s=6,极点是s=0.1±j5,增益k=1; 试完成下列任务:
a)先构造出连续系统函数H(s),画出系统的零极点图;
b)分析系统是否稳定?
若稳定,作出系统的幅频特性曲线; c)作出系统的冲激响应h(t)。
%1个极点s=-0.1,增益为k=1时 clc,clear,close all a = [1,-0.1]; k = 1;
b = [1]*k; sys = tf('s'); sys = tf(b,a); p = roots(a); z= roots(b); subplot(1,2,1);
plot(real(p),imag(p),'*'); hold on
plot(real(z),imag(z),'o');
xlabel('t');
title('零极点图');
2. 对实验现象、实验结果的分析及其结论
通过产生的随机信号我们能够方便快捷地分析其特性,并掌握随机信号功率谱估计的基本原理,分别利用分段重叠的周期图法和分段重叠并使用不同的窗函数得到其的功率谱。
经验:
学习使用matlab快捷键很重要,能大大提高编程效率。
比如方向键的上键能快速输入上次的内容;ctrl+r键全部注释, ctrl+t键取消全部注释(选中的部分);另外,每次编写之前都写一句:
clc,clear,close all,清除工作空间及面板,这样不会受上一次的操作影响等,使用matlab的help能查找到不熟悉的函数使用方法。
另外,截图时采用Figure中的Edit->Copy Figure以减少图片所占容量,便于编辑。
还可以通过File->Save As…保存不同格式的figure图片,便于其他地方其他格式时使用。
同时理解了随机信号的特性,掌握了随机信号功率谱估计的基本原理及方法。
grid on
t = 0:
0.01:
3;
h = impulse(sys,t); subplot(1,2,2); plot(h); xlabel('t');
title('冲激响应'); grid on
%1个极点s=0,增益为k=1时 clc,clear,close all a = [1,0]; k = 1;
b = [1]*k; sys = tf('s'); sys = tf(b,a); p = roots(a); z= roots(b); subplot(1,2,1);
plot(real(p),imag(p),'*'); hold on
plot(real(z),imag(z),'o'); xlabel('t');
title('零极点图'); grid on
t = 0:
0.01:
3;
h = impulse(sys,t); subplot(1,2,2); plot(h);
10
h = impulse(sys,t); subplot(1,2,2); plot(h); xlabel('t');
title('冲激响应'); grid on
10
h = impulse(sys,t); subplot(1,2,2); plot(h); xlabel('t');
title('冲激响应'); grid on
%1个极点s=±5j,增益为k=1时 clc,clear,close all
a = conv([1 5j],[1 -5j]) k = 1;
b = [1]*k; sys = tf('s'); sys = tf(b,a); p = roots(a); z= roots(b); subplot(1,2,1);
plot(real(p),imag(p),'*'); hold on
plot(real(z),imag(z),'o'); xlabel('t');
title('零极点图'); grid on
t = 0:
0.01:
3;
h = impulse(sys,t); subplot(1,2,2); plot(h); xlabel('t');
title('冲激响应');
教师评语及评分:
签名:
年 月 日
subplot(1,2,2); plot(h); xlabel('t');
title('冲激响应');
%2个共轭极点s=±-0.1±j5,增益k=1时 clc,clear,close all
a = conv([1 -0.1+5j],[1 -0.1-5j]) k = 1;
b = [1]*k; sys = tf('s'); sys = tf(b,a); p = roots(a); z= roots(b); subplot(1,2,1);
plot(real(p),imag(p),'*'); hold on
plot(real(z),imag(z),'o'); xlabel('t');
title('零极点图'); grid on
t = 0:
0.01:
3;
h = impulse(sys,t); subplot(1,2,2); plot(h); xlabel('t');
title('冲激响应');
%2个共轭极点s=±-0.1±j5,增益k=1时 clc,clear,close all
a = conv([1 -0.1+5j],[1 -0.1-5j]) k = 1;
b = [1]*k; sys = tf('s'); sys = tf(b,a); p = roots(a); z= roots(b); subplot(1,2,1);
plot(real(p),imag(p),'*'); hold on
plot(real(z),imag(z),'o'); xlabel('t');
title('零极点图'); grid on
t = 0:
0.01:
3;
h = impulse(sys,t); subplot(1,2,2); plot(h); xlabel('t');
title('冲激响应');
4、根据连续系统零极点对系统幅频特性的影响设计下面的系统,在s平面上配置零极点,并使用freqs命令绘出相应的幅频特性曲线,重复该过程直至找到满足下面指标的零极点。
(1) 设计一个具有2个零极点,2个极点、实系数的高通滤波器,满足|H(j0)|= 0,0.8≤|H(jw)|≤1.2,|w|>100*pi;
(2) 设计一个具有实系数的低通滤波器,满足0.8≤|H(jw)|≤1.2,|w|
在高通与低通滤波器的设计中,是采用在S平面上配置零极点,观察其对应频谱图是否符合要求。
当w趋近无穷时,|H(jw)|=k,可以得到0.8≤k≤1.2. 高通:
clc,clear,close all k = 1;
b = [1 0 0]*k;
a = conv([1 85+157j],[1 85-157j]); sys = tf('s'); sys = tf(b,a) p = roots(a); z = roots(b); figure
(1)
subplot(1,2,1);
plot(real(p),imag(p),'*'); hold on
plot(real(z),imag(z),'+');
xlabel('t');
title('零极点图'); grid on
T = 0:
0.1:
3;
h = impulse(b,a,T); subplot(1,2,2); plot(h);
axis([0 30 -400 100]); xlabel('t');
title('冲击响应h(t)'); grid on
f = 0:
0.1:
100; w = 2*pi*f;
H = freqs(b,a,w); figure
(2);
plot(w,abs(H )); xlabel('w');
title('频谱图'); grid on
H = freqs(b,a,w); figure
(2);
plot(w,abs(H )); xlabel('w');
title('频谱图'); grid on
低通程序:
clc,clear,close all b = 70;
a =[1 8 70] sys = tf('s'); sys = tf(b,a) p = roots(a); z = roots(b); figure
(1)
subplot(1,2,1);
plot(real(p),imag(p),'*'); hold on
plot(real(z),imag(z),'+'); xlabel('t');
title('零极点图'); grid on
T = 0:
0.1:
3;
h = impulse(b,a,T); subplot(1,2,2); plot(h); xlabel('t');
title('冲击响应h(t)'); grid on
f = 0:
0.1:
6; w = 2*pi*f;
H = freqs(b,a,w); figure
(2);
plot(w,abs(H )); xlabel('w');
title('频谱图'); grid on
2. 对实验现象、实验结果的分析及其结论
通过该次实验,我们理解连续时间系统的系统函数在分析连续系统的时域特性、频率特性及稳定性中的重要作用及意义。
掌握了利用MATLAB分析连续系统的时域响应、频率响应和零极点的基本方法。
掌握了根据系统函数的零极点设计简单的滤波器的方法。
经验:
学习使用matlab快捷键很重要,能大大提高编程效率。
比如方向键的上键能快速输入上次的内容;ctrl+r键全部注释, ctrl+t键取消全部注释(选中的部分);另外,每次编写之前都写一句:
clc,clear,close all,清除工作空间及面板,这样不会受上一次的操作影响等,使用matlab的help能查找到不熟悉的函数使用方法。
另外,截图时采用Figure中的Edit->Copy Figure以减少图片所占容量,便于编辑。
还可以通过File->Save As…保存不同格式的figure图片,便于其他地方其他格式时使用。
更加熟悉了连续系统分析相关的一些函数,如zpk,tf函数等。
教师评语及评分:
签名:
年 月 日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 数字信号 处理 实验 报告