离散系统时域分析模块
- 格式:doc
- 大小:89.50 KB
- 文档页数:3
实验五 离散时间系统的时域分析一、实验目的:(1)理解离散时间信号的系统及其特性。
(2)对简朴的离散时间系统进行分析,研究其时域特性。
(3)运用MATL AB对离散时间系统进行仿真,观测成果,理解其时域特性。
二、具体实验:1、离散时间系统的仿真——滑动平均系统s1s2xFigur e 5-1 T he wave form of s1,s2,x由图5-1所示及其运算可知,s1=cos(2*pi*0.05*n),s 2=cos(2*pi*0.47*n ),s1周期T1=1/0.05=20,s 2周期T2=1/0.47=100/47。
x=s 1+s 2,x 的周期为T1、T2的最小公倍数,因此x的周期为100。
Time Serial n A m p l i t u d eSignal #1Time Serial n A m p l i t u d eSignal #2Time Serial nA m p l i t u d eInput SignalTime Serial nA m p l i t u d eOutput SignalTime Serial n A m p l i t u d eSignal #1Time Serial n A m p l i t u d eSignal #2Time Serial nA m p l i t u d eInput SignalTime Serial nA m p l i t u d eOutput SignalF ig ure 5-2 Fi gure 5-3(1)如图5-2,当M=2时,第一种图显示的是一种低频信号,第二个是高频信号,第三个图是信号一和信号二的合成的输入,第四个是通过函数Y 的得出的输出。
成果是低频信号,前后对比得出是高频信号被克制了。
本系统是滑动平均滤波器,为低通滤波系统,功能就是从信号中滤除高频分量,因此输入的高频分量s2[n]被该系统克制了。
实验三 离散时间系统的时域分析1.实验目的(1)理解离散时间信号的系统及其特性。
(2)对简单的离散时间系统进行分析,研究其时域特性。
(3)利用MATLAB对离散时间系统进行仿真,观察结果,理解其时域特性。
2.实验原理离散时间系统,主要是用于处理离散时间信号的系统,即是将输入信号映射成的输出的某种运算,系统的框图如图所示:(1)线性系统线性系统就是满足叠加原理的系统。
如果对于一个离散系统输入信号为时,输出信号分别为,即:。
而且当该系统的输入信号为时,其中a,b为任意常数,输出为,则该系统就是一个线性离散时间系统。
(2)时不变系统如果系统的响应与激励加于系统的时刻无关,则该系统是时不变系统。
对于一个离散时间系统,若输入,产生输出为,则输入为,产生输出为,即:若,则。
通常我们研究的是线性时不变离散系统。
3.实验内容及其步骤(1)复习离散时间系统的主要性质,掌握其原理和意义。
(2)一个简单的非线性离散时间系统的仿真系统方程为:x = cos(2*pi*0.05*n);x1[n] = x[n+1]x2[n] = x[n]x3[n] = x[n-1]y = x2.*x2-x1.*x3;或者:y=x*x- x[n+1]* x[n-1] 是非线性。
参考:% Generate a sinusoidal input signalclf; n = 0:200; x = cos(2*pi*0.05*n);% Compute the output signalx1 = [x 0 0]; % x1[n] = x[n+1]x2 = [0 x 0]; % x2[n] = x[n]x3 = [0 0 x]; % x3[n] = x[n-1]y = x2.*x2-x1.*x3; y = y(2:202);% Plot the input and output signalssubplot(2,1,1) plot(n, x)xlabel('Time index n'); ylabel('Amplitude');title('Input Signal')subplot(2,1,2) plot(n,y)xlabel('Time index n'); ylabel('Amplitude');title('Output signal');(3)线性与非线性系统的仿真x1 = cos(2*pi*0.1*n);x2 = cos(2*pi*0.4*n); a*y1 + b*y2y = a*x1 + b*x2; 该系统是线性系统。
第五章离散系统的时域分析法目录5.1 引言5.2 离散时间信号5.3 离散系统的数学模型-差分方程 5.4 线性常系数差分方程的求解5.5 单位样值响应5.6 卷积和§5.1引言连续时间信号、连续时间系统连续时间信号:f(t)是连续变化的t的函数,除若干不连续点之外对于任意时间值都可以给出确定的函数值。
函数的波形都是具有平滑曲线的形状,一般也称模拟信号。
模拟信号抽样信号量化信号连续时间系统:系统的输入、输出都是连续的时间信号。
离散时间信号、离散时间系统离散时间信号:时间变量是离散的,函数只在某些规定的时刻有确定的值,在其他时间没有定义。
离散时间系统:系统的输入、输出都是离散的时间信号。
如数字计算机。
o k t ()k t f 2t 1−t 1t 3t 2−t 离散信号可以由模拟信号抽样而得,也可以由实际系统生成。
量化幅值量化——幅值只能分级变化。
采样过程就是对模拟信号的时间取离散的量化值过程——得到离散信号。
数字信号:离散信号在各离散点的幅值被量化的信号。
ot ()t f T T 2T 31.32.45.19.0o T T 2T 3()t f q t3421离散时间系统的优点•便于实现大规模集成,从而在重量和体积方面显示其优越性;•容易作到精度高,模拟元件精度低,而数字系统的精度取决于位数;•可靠性好;•存储器的合理运用使系统具有灵活的功能;•易消除噪声干扰;•数字系统容易利用可编程技术,借助于软件控制,大大改善了系统的灵活性和通用性;•易处理速率很低的信号。
离散时间系统的困难和缺点高速时实现困难,设备复杂,成本高,通信系统由模拟转化为数字要牺牲带宽。
应用前景由于数字系统的优点,使许多模拟系统逐步被淘汰,被数字(更多是模/数混合)系统所代替;人们提出了“数字地球”、“数字化世界”、“数字化生存”等概念,数字化技术逐步渗透到人类工作与生活的每个角落。
数字信号处理技术正在使人类生产和生活质量提高到前所未有的新境界。
课程设计任务书目录1 引言 (1)2 Matlab7.0入门 (1)3 利用Matlab 7.0实现一阶和二阶差分方程求解的设计 (2)3.1 设计原理分析 (2)3.1.1 差分方程定义 (2)3.1.2 差分方程的意义与应用 (2)3.1.3 用MATLAB仿真时用的相关函数说明 (3)3.2 一阶和二阶差分方程求解的编程设计及实现 (4)3.2.1 设计函数思路 (4)3.2.2 理论计算 (4)3.2.3 设计过程记录及运行结果 (4)4 结论 (5)5 参考文献 (6)1引言人们之间的交流是通过消息的传播来实现的,信号则是消息的表现形式,消息是信号的具体内容。
《信号与系统》课程是一门实用性较强、涉及面较广的专业基础课,该课程是将学生从电路分析的知识领域引入信号处理与传输领域的关键性课程,对后续专业课起着承上启下的作用. 该课的基本方法和理论大量应用于计算机信息处理的各个领域,特别是通信、数字语音处理、数字图像处理、数字信号分析等领域,应用更为广泛。
近年来,计算机多媒体教序手段的运用逐步普及,大量优秀的科学计算和系统仿真软件不断涌现,为我们实现计算机辅助教学和学生上机实验提供了很好的平台。
通过对这些软件的分析和对比,我们选择MATLAB语言作为辅助教学工具,借助MATLAB 强大的计算能力和图形表现能力,将《信号与系统》中的概念、方法和相应的结果,以图形的形式直观地展现给我们,大大的方便我们迅速掌握和理解老师上课教的有关信号与系统的知识。
2Matlab7.0入门MATLAB的名称源自Matrix Laboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。
离散时间系统的时域特性分析离散时间系统是指输入和输出均为离散时间信号的系统,如数字滤波器、数字控制系统等。
时域分析是研究系统在时间上的响应特性,包括系统的稳定性、响应速度、能否达到稳态等。
在时域分析中,我们通常关注系统的单位采样响应、阶跃响应和脉冲响应。
1. 单位采样响应单位采样响应是指当输入信号为单位脉冲序列时,系统的输出响应。
在时间域上,单位脉冲序列可以表示为:$$ u[n] = \begin{cases}1 & n=0\\ 0 & n \neq 0\end{cases} $$系统的单位采样响应可以表示为:$$ h[n] = T\{ \delta[n]\} $$其中,$T\{\}$表示系统的传输函数,$\delta[n]$表示单位脉冲序列。
通常情况下,我们可以通过借助系统的差分方程求得系统的单位采样响应。
对于一种具有一阶差分方程的系统,其单位采样响应可以表示为:2. 阶跃响应其中,$\alpha$为系统的传递常数。
3. 脉冲响应脉冲响应是指当输入信号为任意离散时间信号时,系统的输出响应。
其主要思路是通过将任意输入信号拆解成单位脉冲序列的线性组合,进而求得系统的输出响应。
设输入信号为$x[n]$,系统的脉冲响应为$h[n]$,则系统的输出信号$y[n]$可以表示为:$$ y[n] = \sum_{k=-\infty}^{\infty} x[k]h[n-k] $$在实际计算中,通常采用卷积算法实现脉冲响应的计算,即将输入信号和脉冲响应进行卷积运算。
总之,时域特性分析是对离散时间系统进行分析和设计时的基础。
对于实际工程应用中的系统,需要综合考虑其时域和频域特性,进而选择合适的滤波器结构、控制算法等来实现系统的优化设计。
实验1 离散信号与系统时域分析的Matlab实现一、实验目的1.掌握用Matlab表示常用离散信号的方法;2.掌握用Matlab求解离散系统的单位取样响应与零状态响应;3.掌握用Matlab实现离散信号卷积的方法;二、实验原理与内容1. Matlab基本操作打开Matlab 6.5,只保留命令窗口(Command Window),点击文本编辑窗口(M-file)创建、编辑M程序。
图1命令窗口在文本编辑窗口输入指令程序。
当输入完整程序后,点击DEBUG→RUN运行程序,或用键盘F5键直接运行。
另外,也可点击窗口快捷运行程序键。
图2文本编辑窗口编辑完成一个程序后,第一次运行或另存为时,需要保存M程序,保存的路径为命令窗口所示的当前目录路径(Current Directory),该路径可自行设置。
图3当前目录路径注意:M 文件在命名时有一定规则,错误命名时会使M 文件不能正常运行。
(1)M 文件名首字符不能是数字或下划线。
(2)M 文件名不能与Matlab 的内部函数名相同(3)M 文件名中不能有空格,不能含有中文。
一般应采用英文或拼音对M 文件命名。
2.离散信号的Matlab 表示表示离散时间信号x(n)需要两个行向量,一个是表示序号n=[ ],一个是表示相应函数值x=[ ],画图指令是stem 。
(1)正、余弦序列正、余弦序列为MATLAB 内部函数,可直接调用,文件名为sin 和cos 。
例1-1 画出()sin()4x n n π=的波形。
打开文本编辑窗口,输入波形程序:n=0:40;xn=sin(pi*n/4);stem(n,xn,'.')title('sin(pi*n/4)')运行,输出波形如下图4。
图4 ()x n 的波形图对于0cos()n ωϕ+或0sin()n ωϕ+,当2/πω是整数或有理数时,才是周期信号。
练习:(1)把上述程序中第三行分别改为stem(n,xn)、stem(n,xn,'*') 、stem(n,xn,' filled ') 后依次运行,看输出波形有何变化。
离散控制系统的时域和频域分析方法离散控制系统是一种常见的控制系统形式,它在许多工程领域都有广泛的应用。
为了实现对离散控制系统的性能评估和优化设计,需要对其进行时域和频域分析。
本文将介绍离散控制系统的时域和频域分析方法。
一、时域分析方法时域分析是通过观察离散时间系统的时间响应来研究系统的动态特性。
常用的时域分析方法有以下几种:1. 单位脉冲响应(Unit Pulse Response)分析法单位脉冲响应分析法是通过在离散控制系统输入单位脉冲信号,观察系统的输出响应来研究系统的特性。
该方法可以获取系统的脉冲响应序列,从而了解系统的时域特性,如系统的阶数、稳定性等。
2. 阶跃响应(Step Response)分析法阶跃响应分析法是通过在离散控制系统输入阶跃信号,观察系统的输出响应来研究系统的特性。
通过分析系统的阶跃响应曲线,可以获得系统的响应时间、超调量等重要参数,从而评估系统的性能。
3. 差分方程分析法差分方程分析法是通过建立离散时间系统的差分方程,利用数学方法求解系统的时间响应。
通过分析差分方程的解析解或数值解,可以获取系统的时域响应,进一步研究系统的动态行为。
二、频域分析方法频域分析是通过研究离散控制系统在频域上的特性,如频率响应、幅频特性等,来评估系统的稳定性和性能。
以下是常用的频域分析方法:1. Z变换法Z变换是一种广泛应用于离散时间系统的频域分析方法。
通过对系统的差分方程进行Z变换,可以获得系统的传递函数,进而分析系统的稳定性、幅频特性等。
2. 频谱分析法频谱分析法是通过对离散信号的频谱进行分析,了解系统在频率域上的特性。
常用的频谱分析方法有傅里叶变换、快速傅里叶变换等,通过分析系统的频谱图,可以获取系统的频率响应、主要频率成分等信息。
3. Bode图法Bode图法是一种常用的频域分析方法,用于分析系统的幅频特性和相频特性。
通过绘制系统的幅频特性曲线和相频特性曲线,可以直观地评估系统的频率响应和稳定性。
离散系统时域分析模块
该模块实现功能为对离散系统的时域分析,通过输入系统的基本系数求解系统的各种响应情况。
界面主要包含5个axes 、11个按钮和1个复选框。
离散系统时域分析界面如图2-8
所示:
图2-8 离散系统时域分析界面
离散系统函数如下:
n n n
n z
a z a a z
b z b b z den z num z X z Y z H ----++++++===............)()()()()(110110 (2-2) 可知a,b 分别为离散系统函数H(z)的系数,xi,yi 为系统的起始条件,x(n)为系统激励信号,n(n1:n2)是响应曲线范围。
模块主要控件的回调函数编辑如下所示:
♦ 输入a,b
a=input('a=');
b=input('b=');
handles.a=a;
handles.b=b;
guidata(hObject,handles);
♦ 输入xi,yi
xi =input('xi =');
yi =input('yi =');
handles.xi =xi ;
handles.yi =yi ;
guidata(hObject,handles);
♦输入n
n=input('n=');
handles.n=n;
guidata(hObject,handles);
♦输入x
n=handles.n;
x=input('x=');
handles.x=x;
guidata(hObject,handles);
♦按钮冲击响应
function cjxy_Callback(hObject, eventdata, handles)
n=handles.n;
y1=impz(handles.b,handles.a);
axes(handles.axes1);
stem(y1);
guidata(hObject,handles);
impz(b,a)是MATLAB工具库内的函数,用以求离散函数的冲击响应,离散函数用stem绘制,图形显示在axes1。
♦按钮阶跃响应
function jyxy_Callback(hObject, eventdata, handles)
n=handles.n;
y2=stepz(handles.b,handles.a);
axes(handles.axes2);
stem(y2);
guidata(hObject,handles);
stepz(b,a)是MATLAB工具库内的函数,用以求离散函数的阶跃响应,离散函数用stem绘制,图形显示在axes2。
♦按钮零输入响应
function lsrxy_Callback(hObject, eventdata, handles)
n=handles.n;
xic=filtic(handles.b,handles.a,handles.yi,handles.xi);
y3=filter(handles.b,handles.a,zeros(1,length(n)),xic);
axes(handles.axes3);
stem(y3);
guidata(hObject,handles);
函数xic=filtic(b,a,yi,xi)是通过输入的起始条件求系统的初始条件,y=filter(b,a, zeros(1,length(n)),xic)是MATLAB自带的求离散系统零输入响应函数,图形显示在axes3。
♦按钮零状态响应
function lztxy_Callback(hObject, eventdata, handles)
n=handles.n;
x=handles.x;
y4=filter(handles.b,handles.a,x);
axes(handles.axes4);
stem(y4);
guidata(hObject,handles);
函数filter(b,a,x)是MATLAB自带的求离散系统零状态响应的函数,图形显示在axes4。
♦按钮全响应
function qxy_Callback(hObject, eventdata, handles)
n=handles.n;
xic=filtic(handles.b,handles.a,handles.yi,handles.xi);
y5=filter(handles.b,handles.a,handles.x,xic);
axes(handles.axes5);
stem(y5);
guidata(hObject,handles);
函数filter(b,a,x,xic)是MATLAB自带的求离散系统零状态响应的函数,图形显示在axes5。