- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信号与系统FT程序
离散信号与系统的时域分析
摘要:通过对数字信号处理的深刻理解,在有MATLAB对信号进行仿真前提下,使得离散信号输出更准确更形象。利用MATLAB工具箱中filter函数对差分方程求解,防真出系统响应和系统单位脉冲响应,用conv函数完成线形卷积。在判断系统稳定性时,巧妙的将输入信号改为单位阶跃序列,观察稳态输出是否趋于常数(包括零)来判断,如果输出趋于数,则系统稳定,否则系统不稳定。然而,完整的模拟也会存在细小的瑕疵,所以本文还需要改进。尤其是在卷积编程时,冗余度较大。
报告要求:
(1)简述离散系统时域分析方法;
答:离散系统在时域中,是通过差分方程,单位脉冲响应或系统函数对系统特性进行描写。所以在输入信号已知的情况下,知道其中之一就可以利用MATLAB就可以对其进行求解。倘若一直差分方程就适合用工具箱函数filter求差分方程的解。也可以用conv函数计算输入信号核系统的单位脉冲响应的线形卷积,求出系统响应。
(2)简述通过实验判断系统稳定性的方法;
答:判断系统稳定性,从时域看可以通过检查系统单位脉冲响应是否绝对可和来判断。但实际中,只要用单位阶跃序列作为输入信号,如果稳态输出趋于常数或零,则系统稳定,否则系统不稳定。
(3)完成设计实验,并对结果进行分析和解释;
(4)打印程序清单和要求画出的信号波形;
(5)写出本次课程设计的收获和体会。
程序清单和波形图
定义基础函数:
1 uDT为单位阶跃序列
function y=uDT(n)
y=n=0; %当参数大于等于0时阶跃为1,否则为0
impDT为单位采样序列
function y=impDT(n)
y=(n==0); %当参数为0时冲激为1,否则为0
第一题:
1 给定一个低通滤波器的差分方程为
输入信号分别为时输出波形如下:
程序一:
%系统响应%
N=8;
a=[1 -0.9];
b=[0.05 0.05];
n=0:30;
subplot(211)
x1=uDT(n)-uDT(n-N);
y1=filter(b,a,x1);
stem(n,y1,fill,g),grid on
xlabel(n),title(系统响应y1(n))
subplot(212)
x2=uDT(n);
y2=filter(b,a,x2);
stem(n,y2,fill,r),grid on
xlabel(n),title(系统响应y2(n))
2 系统的单位脉冲响应波形图如下:
程序二:
%系统单位脉冲响应%
a=[1 -0.9];
b=[0.05 0.05];
n=0:30;
impz(b,a,30),grid on
title(系统单位脉冲响应h(n))
第二题:
给定系统的单位脉冲响应为
用线性卷积法求x1(n)=R8(n)分别对系统h1(n)和h2(n)的输出响应,画出波形如下:
程序三:
%线性卷积%
nx=-1:5; %x(n)向量显示范围(添加了附加的零值)
nh=-2:10; %h(n)向量显示范围(添加了附加的零值)
x=uDT(nx)-uDT(nx-8);
h1=uDT(nh)-uDT(nh-10);
h2=impDT(nh)+2.5.*impDT(nh-1)+2.5.*impDT(nh-2)+impDT(nh-3);
y1=conv(x,h1);
y2=conv(x,h2);
ny1=nx(1)+nh(1); %卷积结果起始点
%卷积结果长度为两序列长度之和减1,即0到(length(nx)+length(nh)-2);
%因此卷积结果的时间范围是将上述长度加上起始点的偏移值
ny=ny1+(0:(length(nx)+length(nh)-2));
subplot(321)
stem(nx,x,fill),grid on
xlabel(n),title(x(n))
axis([-4 16 0 3])
subplot(322)
stem(nh,h1,fill),grid on
xlabel(n),title(h1(n))
axis([-4 16 0 3])
subplot(323)
stem(nh,h2,fill),grid on
xlabel(n),title(h2(n))
axis([-4 16 0 3])
subplot(324)
stem(ny,y1,fill),grid on
xlabel(n),title(y(n)=x(n)*h1(n))
axis([-4 16 0 3])
subplot(325)
stem(ny,y2,fill),grid on
xlabel(n),title(y(n)=x(n)*h2(n))
ax
文档评论(0)