基于Matlab控制系统频率特性分析法
实验三 系统频率特性曲线的绘制及系统分析

《自动控制原理》实践报告实验三系统频率特性曲线的绘制及系统分析熟悉利用计算机绘制系统伯德图、乃奎斯特曲线的方法,并利用所绘制图形分析系统性能。
一、实验目的1.熟练掌握使用MATLAB软件绘制Bode图及Nyquist曲线的方法;2.进一步加深对Bode图及Nyquist曲线的了解;3.利用所绘制Bode图及Nyquist曲线分析系统性能。
二、主要实验设备及仪器实验设备:每人一台计算机奔腾系列以上计算机,配置硬盘≥2G,内存≥64M。
实验软件:WINDOWS操作系统(WINDOWS XP 或WINDOWS 2000),并安装MATLAB 语言编程环境。
三、实验内容已知系统开环传递函数分别为如下形式, (1))2)(5(50)(++=s s s G (2))15)(5(250)(++=s s s s G(3)210()(21)s G s s s s +=++ (4))12.0)(12(8)(++=s s s s G (5)23221()0.21s s G s s s s ++=+++ (6))]105.0)125.0)[(12()15.0(4)(2++++=s s s s s s G 1.绘制其Nyquist 曲线和Bode 图,记录或拷贝所绘制系统的各种图形; 1、 程序代码: num=[50];den=conv([1 5],[1 2]); bode(num,den)num=[50];den=conv([1 5],[1 2]); nyquist(num,den)-80-60-40-20020M a g n i t u d e (d B)10-210-110101102103-180-135-90-450P h a s e (d e g )Bode DiagramFrequency (rad/sec)-1012345-4-3-2-11234Nyquist DiagramReal AxisI m a g i n a r y A x i s2、 程序代码: num=[250];den=conv(conv([1 0],[1 5]),[1 15]); bode(num,den)num=[250];den=conv(conv([1 0],[1 5]),[1 15]);-150-100-5050M a g n i t u d e (d B )10-110101102103-270-225-180-135-90P h a s e (d e g )Bode DiagramFrequency (rad/sec)nyquist(num,den)3、 程序代码: num=[1 10];den=conv([1 0],[2 1 1]); bode(num,den)-150-100-50050100M a g n i t u d e (d B)10-210-110101102103-270-225-180-135-90P h a s e (d e g )Bode DiagramFrequency (rad/sec)-1-0.9-0.8-0.7-0.6-0.5-0.4-0.3-0.2-0.10-15-10-551015System: sys Real: -0.132Imag: -0.0124Frequency (rad/sec): -10.3Nyquist DiagramReal AxisI m a g i n a r y A x i snum=[1 10];den=conv([1 0],[2 1 1]); nyquist(num,den)-25-20-15-10-5-200-150-100-5050100150200Nyquist DiagramReal AxisI m a g i n a r y A x i s-100-5050100M a g n i t u d e (d B )10-210-110101102-270-225-180-135-90P h a s e (d e g )Bode DiagramFrequency (rad/sec)4、 程序代码: num=[8];den=conv(conv([1 0],[2 1]),[0.2 1]); bode(num,den)-18-16-14-12-10-8-6-4-20-250-200-150-100-50050100150200250Nyquist DiagramReal AxisI m a g i n a r y A x i snum=[8];den=conv(conv([1 0],[2 1]),[0.2 1]); nyquist(num,den)5、 程序代码: num=[1 2 1]; den=[1 0.2 1 1]; bode(num,den)num=[1 2 1];den=[1 0.2 1 1]; nyquist(num,den)-40-30-20-10010M a g n i t u d e (d B )10-210-110101102-360-270-180-90P h a s e (d e g )Bode DiagramFrequency (rad/sec)-2.5-2-1.5-1-0.500.51 1.5-3-2-1123Nyquist DiagramReal AxisI m a g i n a r y A x i s-100-5050100M a g n i t u d e (d B )10-210-110101102-270-225-180-135-90P h a s e (d e g )Bode DiagramFrequency (rad/sec)6、 num=[2 4];den=conv(conv([1 0],[2 1]),[0.015625 0.05 1]); bode(num,den)num=[2 4];den=conv(conv([1 0],[2 1]),[0.015625 0.05 1]); nyquist(num,den)2.利用所绘制出的Nyquist 曲线及Bode 图对系统的性能进行分析:(1)利用以上任意一种方法绘制的图形判断系统的稳定性; 由Nyquist 曲线判断系统的稳定性,Z=P-2N 。
用MATLAB分析闭环系统的频率特性

用MATLAB分析闭环系统的频率特性闭环系统的频率特性指的是系统在不同频率下的响应特性。
在MATLAB中,可以通过不同的函数和工具箱来分析闭环系统的频率特性。
下面将介绍一些常用的方法。
1. 传递函数分析法(Transfer Function Analysis Method):传递函数描述了系统的输入和输出之间的关系。
在MATLAB中,可以使用tf函数创建传递函数对象,并利用bode函数绘制系统的频率响应曲线。
例如,假设有一个传递函数G(s) = 1/(s^2 + s + 1),可以用以下代码创建传递函数对象并绘制其频率响应曲线:```matlabG = tf([1], [1, 1, 1]);bode(G);```运行上述代码,将会显示出频率响应曲线,并且可以通过该函数的增益曲线和相位曲线来分析系统在不同频率下的响应特性。
2. 状态空间分析法(State-Space Analysis Method):状态空间模型描述了系统的状态变量之间的关系。
在MATLAB中,可以使用ss函数创建状态空间模型,并利用bode函数绘制系统的频率响应曲线。
例如,假设有一个状态空间模型A、B、C和D分别为:```matlabA=[01;-1-1];B=[0;1];C=[10];D=0;sys = ss(A, B, C, D);bode(sys);```运行上述代码,将会显示出频率响应曲线,并且可以通过该函数的增益曲线和相位曲线来分析系统在不同频率下的响应特性。
3. 伯德图法(Bode Plot Method):Bode图可以直观地表示系统的频率响应曲线。
在MATLAB中,可以使用bode函数绘制系统的Bode图。
例如,假设有一个传递函数G(s) =1/(s^2 + s + 1),可以用以下代码绘制其Bode图:```matlabG = tf([1], [1, 1, 1]);bode(G);```运行上述代码,将会显示出Bode图,并且可以通过该图来分析系统在不同频率下的增益和相位特性。
基于MATLAB的控制系统频率特性实验的开发_图文(精)

基于 MAT LAB 的控制系统频率特性实验的开发祁文哲王莉莉孟建军(兰州交通大学机电工程学院兰州 730070摘要设计了基于 MAT LAB 的虚拟实验系统 , 通过验证和试运行 , 此虚拟实验系统很好地实现了在计算机平台上频率特性实验的演示和仿真功能。
关键词自动控制原理 ; 频率特性 ; 虚拟实验系统 ;MAT LAB中图分类号 TP3D evelop i n g of Frequency Character isti i mBa sed on M(College of Lanzhan 730070, ChinaAbstract is on MAT LAB. The functi on of showing of the frequency char 2 acteristic and the on ol system is achieved perfectly by use .Key words p rincip le of aut o -contr ol; frequency characteristic; virtual experi ment system; MAT LAB1引言自动化是我国六大高新技术之一 , 而实验课是《自动控制原理》整个教学过程中不可缺少的重要组成部分 , 它可以将理论和实践紧密的联系起来 , 使学生加深对所学知识的理解。
我院传统的自动控制原理实验由于系统本身如电子器件的老化 , 接触不良 , 功能不全等缺点以及由于接线相对复杂 , 使得实验 , 尤其是频率特性的实验很难得到预期的效果 , 实验效率低 ; 随着各高校扩招 , 学生多、仪器少的问题更加突出 , 难以保证正常的实验教学。
因此我们的改进措施从硬件系统的改进开发入手。
教学设备从传统的“ 物理实验台” 转化到计算机平台上的“ 虚拟实验台” 是信息时代充分利用计算机技术和网络技术开展教学活动的一大特征。
我们利用 MAT LAB 强大的图形对象属性设置及 G U I 图形用户界面制作技术进行自动控制教学实验教学 , 开发实验系统。
实验2利用MATLAB分析信号频谱及系统的频率特性

实验2利用MATLAB分析信号频谱及系统的频率特性引言:在信号处理和通信领域中,频谱分析是一项非常重要的技术。
频谱分析可以帮助我们了解信号的频率特性,包括频率成分和幅度。
MATLAB是一款功能强大的数学软件,提供了多种工具和函数用于信号处理和频谱分析。
本实验旨在通过MATLAB分析信号频谱及系统的频率特性,深入理解信号处理和频域分析的原理和应用。
实验步骤:1.生成一个信号并绘制其时域波形。
首先,我们可以使用MATLAB提供的函数生成一个信号。
例如,我们可以生成一个用正弦函数表示的周期信号。
```matlabt=0:0.001:1;%时间范围为0到1秒,采样率为1000Hzf=10;%信号频率为10Hzx = sin(2*pi*f*t); % 生成正弦信号plot(t,x) % 绘制信号的时域波形图title('Time domain waveform') % 添加标题```2.计算信号的频谱并绘制频谱图。
使用MATLAB中的FFT函数可以计算信号的频谱。
FFT函数将信号从时域转换为频域。
```matlabFs=1000;%采样率为1000HzL = length(x); % 信号长度NFFT = 2^nextpow2(L); % FFT长度X = fft(x,NFFT)/L; % 计算X(k)f = Fs/2*linspace(0,1,NFFT/2+1); % 计算频率轴plot(f,2*abs(X(1:NFFT/2+1))) % 绘制频谱图title('Frequency spectrum') % 添加标题```3.使用MATLAB分析系统的频率特性。
MATLAB提供了Signal Processing Toolbox,其中包含了分析系统频率特性的函数和工具。
```matlabHd = designfilt('lowpassfir', 'FilterOrder', 6,'CutoffFrequency', 0.3, 'SampleRate', Fs); % 设计一个低通滤波器fvtool(Hd) % 显示滤波器的频率响应``````matlab[W,F] = freqz(Hd); % 计算滤波器的频率响应plot(F,abs(W)) % 绘制滤波器的振幅响应title('Frequency response of lowpass filter') % 添加标题```实验结果:运行上述代码后,我们可以得到如下结果:1.时域波形图2.频谱图3.滤波器频率响应讨论与结论:本实验通过MATLAB分析信号频谱及系统的频率特性,深入理解了信号处理和频域分析的原理和应用。
利用Matlab进行频谱分析的方法

利用Matlab进行频谱分析的方法引言频谱分析是信号处理和电子工程领域中一项重要的技术,用于分析信号在频率域上的特征和频率成分。
在实际应用中,频谱分析广泛应用于音频处理、图像处理、通信系统等领域。
Matlab是一种强大的工具,可以提供许多功能用于频谱分析。
本文将介绍利用Matlab进行频谱分析的方法和一些常用的工具。
一、Matlab中的FFT函数Matlab中的FFT(快速傅里叶变换)函数是一种常用的频谱分析工具。
通过使用FFT函数,我们可以将时域信号转换为频域信号,并得到信号的频谱特征。
FFT 函数的使用方法如下:```Y = fft(X);```其中,X是输入信号,Y是输出的频域信号。
通过该函数,我们可以得到输入信号的幅度谱和相位谱。
二、频谱图的绘制在进行频谱分析时,频谱图是一种直观和易于理解的展示形式。
Matlab中可以使用plot函数绘制频谱图。
首先,我们需要获取频域信号的幅度谱。
然后,使用plot函数将频率与幅度谱进行绘制。
下面是一个示例:```X = 1:1000; % 时间序列Y = sin(2*pi*10*X) + sin(2*pi*50*X); % 输入信号Fs = 1000; % 采样率N = length(Y); % 信号长度Y_FFT = abs(fft(Y)); % 计算频域信号的幅度谱f = (0:N-1)*(Fs/N); % 频率坐标plot(f, Y_FFT);```通过上述代码,我们可以得到输入信号在频谱上的特征,并将其可视化为频谱图。
三、频谱分析的应用举例频谱分析可以应用于许多实际问题中。
下面将介绍两个常见的应用举例:语音信号分析和图像处理。
1. 语音信号分析语音信号分析是频谱分析的一个重要应用领域。
通过对语音信号进行频谱分析,我们可以探索声波的频率特性和信号的频率成分。
在Matlab中,可以使用wavread 函数读取音频文件,并进行频谱分析。
下面是一个示例:```[waveform, Fs] = wavread('speech.wav'); % 读取音频文件N = length(waveform); % 信号长度waveform_FFT = abs(fft(waveform)); % 计算频域信号的幅度谱f = (0:N-1)*(Fs/N); % 频率坐标plot(f, waveform_FFT);```通过上述代码,我们可以获取语音信号的频谱特征,并将其可视化为频谱图。
用MATLAB进行控制系统的动态性能的分析

用MATLAB进行控制系统的动态性能的分析MATLAB是一款功能强大的工具,可用于控制系统的动态性能分析。
本文将介绍使用MATLAB进行动态性能分析的常用方法和技巧,并提供实例来说明如何使用MATLAB来评估和改进控制系统的性能。
控制系统的动态性能是指系统对输入信号的响应速度、稳定性和精度。
评估控制系统的动态性能往往需要分析系统的阶跃响应、频率响应和稳态误差等指标。
一、阶跃响应分析在MATLAB中,可以使用step函数来绘制控制系统的阶跃响应曲线。
假设我们有一个系统的传递函数为:G(s)=(s+1)/(s^2+s+1)要绘制阶跃响应曲线,可以按照以下步骤操作:1.自动生成传递函数:num = [1 1];den = [1 1 1];G = tf(num,den);2.绘制阶跃响应曲线:step(G);二、频率响应分析频率响应分析用于研究控制系统对不同频率输入信号的响应特性。
在MATLAB中,可以使用bode函数来绘制控制系统的频率响应曲线。
假设我们有一个传递函数为:G(s)=1/(s+1)要绘制频率响应曲线,可以按照以下步骤操作:1.自动生成传递函数:num = [1];den = [1 1];G = tf(num,den);2.绘制频率响应曲线:bode(G);运行以上代码,MATLAB将生成一个包含系统幅频特性和相频特性的图形窗口。
通过观察频率响应曲线,可以评估系统的增益裕度(gain margin)和相位裕度(phase margin)等指标。
三、稳态误差分析稳态误差分析用于研究控制系统在稳态下对输入信号的误差。
在MATLAB中,可以使用step函数结合stepinfo函数来计算控制系统的稳态误差。
假设我们有一个传递函数为:G(s)=1/s要计算稳态误差,可以按照以下步骤操作:1.自动生成传递函数:num = [1];den = [1 0];G = tf(num,den);2.计算稳态误差:step(G);info = stepinfo(G);运行以上代码,MATLAB将生成一个阶跃响应曲线的图形窗口,并输出稳态误差等信息。
基于Matlab的DFT及FFT频谱分析

基于Matlab的DFT及FFT频谱分析基于Matlab的DFT及FFT频谱分析一、引言频谱分析是信号处理中的重要任务之一,它可以揭示信号的频率特性和能量分布。
离散傅里叶变换(DFT)及快速傅里叶变换(FFT)是常用的频谱分析工具,广泛应用于许多领域。
本文将介绍通过Matlab进行DFT及FFT频谱分析的方法和步骤,并以实例详细说明。
二、DFT及FFT原理DFT是一种将时域信号转换为频域信号的离散变换方法。
它将信号分解成若干个正弦和余弦函数的叠加,得到频率和幅度信息。
FFT是一种高效的计算DFT的算法,它利用信号的对称性和周期性,将计算复杂度从O(N^2)降低到O(NlogN)。
FFT通过将信号分解成不同长度的子序列,递归地进行计算,最终得到频谱信息。
三、Matlab中的DFT及FFT函数在Matlab中,DFT及FFT可以通过内置函数进行计算。
其中,DFT使用函数fft,FFT使用函数fftshift。
fft函数可直接计算信号的频谱,fftshift函数对频谱进行频移操作,将低频移到频谱中心。
四、Matlab中DFT及FFT频谱分析步骤1. 读取信号数据首先,将待分析的信号数据读入到Matlab中。
可以使用内置函数load读取文本文件中的数据,或通过自定义函数生成模拟信号数据。
2. 时域分析通过plot函数将信号数据在时域进行绘制,以观察信号的波形。
可以设置合适的坐标轴范围和标签,使图像更加清晰。
3. 信号预处理针对不同的信号特点,可以进行预处理操作,例如去除直流分量、滤波等。
这些操作可提高信号的频谱分析效果。
4. 计算DFT/FFT使用fft函数计算信号数据的DFT/FFT,并得到频谱。
将信号数据作为输入参数,设置采样频率和点数,计算得到频谱数据。
5. 频域分析通过plot函数将频谱数据在频域进行绘制,观察信号的频率特性。
可以设置合适的坐标轴范围和标签,使图像更加清晰。
6. 结果解读根据频谱图像,分析信号的频率成分、幅度分布和峰值位置。
自动控制原理的MATLAB仿真与实践第5章 线性系统的频域分析

函数模型,如:tf(), zpk(), ss()。 bode(num,den):num,den分别为传递函数的分子与
margin(G);[Gm,Pm,Wcg,Wcp]= margin(G): 直接求出系统G的幅值裕度和相角裕度。 其中:Gm幅值裕度;Pm相位裕度;Wcg幅值裕度 处对应的频率ωc;Wcp相位裕度处对应的频率ωg。
nichols(G);nichols(G,w):绘制单位反馈系统开环传 递尼科尔斯曲线。
20
>>clear; num=[2, 3];den=[1, 2, 5, 7]; %G(s)的分子分母 多项式系数向量
p=roots(den) 求根结果:
%求系统的极点
p=
-0.1981 + 2.0797i
-0.1981 - 2.0797i
-1.6038 可见全为负根,则s右半平面极点数P=0。 绘制Nyquist曲线: >> nyquist(num,den) %绘制Nyquist曲线
本节分别介绍利用MATLAB进行频域绘图和频 率分析的基本方法。
6
5.2.1 Nyquist曲线和Bode图
MATLAB频率特性包括幅频特性和相频特性。 当用极坐标图描述系统的幅相频特性时,通常称为 奈奎斯特(Nyquist)曲线;用半对数坐标描述系 统的幅频特性和相频特性时,称为伯德(Bode) 图;在对数幅值-相角坐标系上绘制等闭环参数( M和N)轨迹图,称为尼克尔斯(Nichols)图。
用MATLAB进行系统频率特性曲线绘制

目动控制原三课程验证性实验报告比较两图的区别与特点。
如果该系统变成^型系统,即G《)+ ',情况又发生怎么样的变s2(T s + 1)2化?—(一kV"),令u = 1,分别绘制k = 1,2,10时系统的Nyquist图并保持,比s u (s + 1)(s + 2)较分析系统开环增益k不同时,系统Nyquist图的差异,并得出结论。
令k = 1,分别绘制k=1,2,3,4时系统的Nyquist图并保持,比较分析u不同时,系统Nyquist图的差异,并得出结论。
e.二阶系统传递函数为G (s)= ----- w------ ,试用MATLAB绘制出不同z和w的伯德图。
s 2 + 2zw s + w 2 nn nf.系统的开环传递函数为G4)= ------ 35 ------- 求系统的幅值裕度和相角裕度,并求其闭环阶跃s3 + 2s2 + 3 s + 2响应。
g.系统的开环传递函数为G《)=( 吁+° ),求系统的幅值裕度和相角裕度。
(s + 1)(s 2+ s +9)4、实验方法、步骤:a)num=10,den=[1 2 10];w=0::100;axis([-1,,-2,2]);nyquist(num,den)b)num=;den=[1 2 1 ];figure(1);nyquist(num,den)c)k=1,T1=3,T2=2,T1>T2 num=4;den=[2 1 0];nyquist(den,num)num=3;den=[3 1 0];nyquist(den,num)k=1,T1=3,T2=2,T1>T2 num=[3 1];den=[2 1 0 0];nyquist(den,num))k=1,T1=2,T2=3,T1<T2 num=[2 1];den=[3 1 0 0];nyquist(den,num) d)(1)u=1,k=1 num=1;den=conv([1 0],conv([1 1],[1 2]));nyquist(den,num)u=1,k=2 num=2;den=conv([1 0],conv([1 1],[1 2]));nyquist(den,num) u=1,k=10 num=2;den=conv([1 0],conv([1 1],[1 2]));nyquist(den,num) (2)k=1,u=2num=2;den=conv([1 0 0],conv([1 1],[1 2]));nyquist(den,num) k=1,u=3num=2;den=conv([1 0 0 0],conv([1 1],[1 2]));nyquist(den,num)k=1,u=4 num=2;den=conv([1 0 0 0 0],conv([1 1],[1 2]));nyquist(den,num)k=1,T1=2,T2=3,T1<T2e)(1):为固定值,z变化时,运行下面的程序, wn=1,zet=[0::1,2,3,4,5];hold onfor i=1:length(zet)num=wn^2;den=[1,2*zet(i)*wn,wn^2];bode(num,den);endgrid onhold off2) z为固定值,:变化时,运行下面的程序 Wn=[::1];zet=;hold onfor i=1:length(wn)num=wn(i)八2;den=[1,2*zetwn(i),wn(i)八2];bode(num,den);endgrid on ,hold offf)G=tf,[1,2,3,2]);G_close=feedback(G,1);[Gm,Pm,Wcg,Wcp]=margin(G)step(G_close),grid ong) G=tf(100*conv([1,5],[1,5]),conv([1,1],[1,1,9]));[Gm,Pm,Wcg,Wcp]=margin(G) G_close=feedback(G,1);step(G_close),grid on 5、实验现象、实验数据记录:(a)系统的Nyquist 图-1“Real Axis 叱 1 -1.5-1-0.50.511.51.5Real AxisK=1, T 时的Nyquist 图0.5 0.4 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 -0.4 -0.5-9-8-7-6-5-4 -3-2-1Real Axisk=1,T1=3,T2=2,T1>T2-0.8-16-14 -12 -10 -8 -6 -4 -2 0Real Axisk=1,T1=2,T2=3,T1<T2-3 -2500-2000 -1500 -1000 -500 0 500Real Axisu=1,k=2Real AxisX107(d) u=1,k=1Real AxisRnxa vran.oam —6、实验现象、实验数据的分析:1、从(a)可以得出结论,闭环系统有2个不稳定极点。
基于MATLAB自动控制系统时域频域分析与仿真

基于MATLAB自动控制系统时域频域分析与仿真MATLAB是一款强大的数学软件,也是自动控制系统设计的常用工具。
它不仅可以进行时域分析和频域分析,还可以进行相关仿真实验。
本文将详细介绍MATLAB如何进行自动控制系统的时域和频域分析,以及如何进行仿真实验。
一、时域分析时域分析是指对系统的输入信号和输出信号进行时域上的观察和分析,以了解系统的动态特性和稳定性。
MATLAB提供了一系列的时域分析工具,如时域响应分析、稳态分析和步骤响应分析等。
1.时域响应分析通过时域响应分析,可以观察系统对于不同的输入信号的响应情况。
在MATLAB中,可以使用`lsim`函数进行系统的时域仿真。
具体步骤如下:- 利用`tf`函数或`ss`函数创建系统模型。
-定义输入信号。
- 使用`lsim`函数进行时域仿真,并绘制系统输出信号。
例如,假设我们有一个二阶传递函数模型,并且输入信号为一个单位阶跃函数,可以通过以下代码进行时域仿真:```num = [1];den = [1, 1, 1];sys = tf(num, den);t=0:0.1:10;u = ones(size(t));[y, t, x] = lsim(sys, u, t);plot(t, y)```上述代码中,`num`和`den`分别表示系统的分子和分母多项式系数,`sys`表示系统模型,`t`表示时间序列,`u`表示输入信号,`y`表示输出信号。
通过绘制输出信号与时间的关系,可以观察到系统的响应情况。
2.稳态分析稳态分析用于研究系统在稳态下的性能指标,如稳态误差和稳态标准差。
在MATLAB中,可以使用`step`函数进行稳态分析。
具体步骤如下:- 利用`tf`函数或`ss`函数创建系统模型。
- 使用`step`函数进行稳态分析,并绘制系统的阶跃响应曲线。
例如,假设我们有一个一阶传递函数模型,可以通过以下代码进行稳态分析:```num = [1];den = [1, 1];sys = tf(num, den);step(sys)```通过绘制系统的阶跃响应曲线,我们可以观察到系统的稳态特性。
MATLAB与控制系统的频域分析

、
对数 频率特 性 图 ( 德 图 ) 伯
B d (u d nw) o en m,e, 函数 可利用 指 定 的角 频率 矢量绘 制 出系 统 的伯德 图。一 典型 二阶系 统 开环传 递 函数
G 南 (
要改参 制统雌 并析 对绕 影。TB 求变数 系 分参 / 响 A 系 ML A
应用。
关键 词:MA L T AB;伯 德 图;奈 奎斯特 图;频率 特性
中图分类号 :T 2 4 P 7 文献标 识码 :A 文章 编号 : 1 0- 6 2 ( 0 )O 0 5 . 4 0 8- 1 9 2 1 1 l 8- 0
工程 上 ,控 制系 统性 能分 析 目前 广泛应 用 的有 两种 方法 :一种 是频 率特 性法 :另一种 是 根轨 迹法 。 这些方 法 的使 用 需要绘 制 时间 响应 曲线 、 轨迹 图及频 率特 性 中 的 B d 、 q i 图和 Ni os曲线 等 。 根 o e图 Ny us t c l h 这些 曲线 的绘制 过去 通 常是 由手 工完 成 的 ,其 误差较 大 、效率 低 ,对 于 某 些较 复杂 的高 阶系 统 ,很难 用
特 性 的幅值和 角度值 ,当该函 数不 带返 回参数 时 ,将直 接在 屏幕 上绘 制 出系统 的伯 德 图 。取 wn1,,取 =0 亏 [.:06 ] O 2 .:1时的二 阶系 统 的伯 德 图可直 接 由 b d 0" 得  ̄ . 行 下面 的 M 文件 ,运行 后得 到 的伯德 oe i  ̄数 J l o执
f ri=ko a o i si
sb lt ,,) u po( 1 2 1
gi n rdo
tl ‘ o e arm’ ie B d ga ) t( Di ; xa l ‘rq e c (a /e ) ; l e Fe u ny rd sc’ b( ) ya l ‘ g i d (B ’ l e Ma nt e ) ; b( u d )
MATLAB进行控制系统频域分析

一、基于MATLAB 的线性系统的频域分析基本知识(1)频率特性函数)(ωj G 。
设线性系统传递函数为:nn n n m m m m a s a s a s a b s b s b s b s G ++⋅⋅⋅++++⋅⋅⋅++=---1101110)( 则频率特性函数为:nn n n m m m m a j a j a j a b j b j b j b jw G ++⋅⋅⋅++++⋅⋅⋅++=---)()()()()()()(1101110ωωωωωω 由下面的MATLAB 语句可直接求出G(jw )。
i=sqrt (—1) % 求取—1的平方根GW=polyval (num ,i*w )./polyval(den ,i*w )其中(num ,den )为系统的传递函数模型。
而w 为频率点构成的向量,点右除(./)运算符表示操作元素点对点的运算.从数值运算的角度来看,上述算法在系统的极点附近精度不会很理想,甚至出现无穷大值,运算结果是一系列复数返回到变量GW 中。
(2)用MATLAB 作奈魁斯特图。
控制系统工具箱中提供了一个MATLAB 函数nyquist( ),该函数可以用来直接求解Nyquist 阵列或绘制奈氏图。
当命令中不包含左端返回变量时,nyquist ()函数仅在屏幕上产生奈氏图,命令调用格式为:nyquist(num ,den) nyquist (num,den ,w) 或者nyquist(G) nyquist(G,w ) 该命令将画出下列开环系统传递函数的奈氏曲线: )()()(s den s num s G = 如果用户给出频率向量w ,则w 包含了要分析的以弧度/秒表示的诸频率点。
在这些频率点上,将对系统的频率响应进行计算,若没有指定的w 向量,则该函数自动选择频率向量进行计算。
w 包含了用户要分析的以弧度/秒表示的诸频率点,MATLAB 会自动计算这些点的频率响应。
当命令中包含了左端的返回变量时,即:[re,im ,w]=nyquist (G )或[re ,im,w ]=nyquist (G ,w ) 函数运行后不在屏幕上产生图形,而是将计算结果返回到矩阵re 、im 和w 中。
基于MATLAB的信号的频谱分析

基于MATLAB的信号的频谱分析信号频谱分析是一种将时域信号转换为频域信号的方法。
频谱分析可以帮助我们了解信号的频率成分、频率特性以及频率分布情况。
MATLAB 是一种强大的信号处理工具,提供了丰富的函数和工具用于频谱分析。
在MATLAB中,频谱分析主要通过使用FFT(快速傅里叶变换)来实现。
FFT可以将时域信号转换为频率域信号,它是一种高效的计算算法,可以快速计算信号的频谱。
首先,我们需要先读取信号数据并将其转换为MATLAB中的矩阵数据形式。
可以使用`load`函数读取信号数据,然后将其存储为一个向量或矩阵。
```matlabdata = load('signal_data.txt');```接下来,我们可以使用`fft`函数对信号进行频谱分析。
`fft`函数会返回一个复数向量,表示信号在频率域的频率分量。
```matlabfs = 1000; % 采样频率N = length(data); % 信号长度frequencies = (0:N-1)*(fs/N); % 计算频率坐标轴spectrum = fft(data); % 进行FFT变换```在以上代码中,我们先计算了信号的采样频率`fs`和信号的长度`N`。
然后使用这些参数计算频率坐标轴`frequencies`。
最后使用`fft`函数对信号进行FFT变换,得到信号的频谱`spectrum`。
为了得到信号的幅度谱图,我们可以使用`abs`函数计算复数向量的绝对值。
```matlabamplitude_spectrum = abs(spectrum);```接下来,我们可以绘制信号的幅度谱图。
使用`plot`函数可以绘制信号在频率域的幅度分布图。
```matlabfigure;plot(frequencies, amplitude_spectrum);xlabel('Frequency (Hz)');ylabel('Amplitude');title('Amplitude Spectrum');```此外,我们还可以绘制信号的功率谱图。
MATLAB论文-基于MATLAB的自动控制系统及案例分析

自动控制系统是在无人直接参与的情况下,可使生产过程按照期望的运行规律去运行的控制系统。系统是完成要求和任务的部分的组合[2]。
2.2
如果控制系统的输出量对系统运行过程或结果没有控制作用,这种系统称为开环控制系统。图2-1表示了开环控制系统输入量与输出量之间的关系。
1、MATLAB图形处理系统
这是MATLAB图形系统的基础,它包括生成二维数据和三维数据可视化、图像处理、动画及演示图形和创建完整的图形用户接口的命令。
2、MATLAB数学函数库
MATLAB提供了非常丰富的数学计算函数,可以进行简单和复杂的数学计算,比如矩阵求逆、级数求和、贝塞尔函数和快速傅里叶变换等。
MATLAB has powerful functions of numerical calculation and symbolic computation, as well as powerful data visualization and human-computer intelligent interactive ability, and its development is constantly bringing forth new ideas. Today's MATLAB has a richer data type and structure, a more friendly object-oriented, faster, more beautiful graphics visualization, a wider range of mathematical and data analysis resources, and more application development tools.
实验2利用MATLAB分析信号频谱及系统的频率特性

➢ 3.掌握 抽样定理
2
实验原理一
➢ 傅立叶变换和反变换的Matlab实现
➢ Matlab提供了能直接求解傅立叶变换和反 变换的函数fourier()、ifourier()。
➢ 调用格式分别为:
➢
F=fourier(f)
6
➢续
➢ F=r*sinc(t/pi)*exp(-j*t'*w);%计算采样函数的频谱
➢ F1=r*f1*exp(-j*t‘*w);%计算门函数的频谱 subplot(221);plot(t,f);
➢ xlabel('t'); ylabel('f(t)');
➢ subplot(222); plot(w,F);
2 fm
(其中m 2 fm)
或者说,最低抽样频率为 2 f m 。
最低抽样频率 fs 2fm 称为“奈奎斯特频率”。
也就是说:对于带限信号,当 2 时,频谱不发生混
s
m
叠,可用理想低通滤波器将原信号从抽样信号中无失真地恢复
否则,频谱将会混叠。
14
举例4
➢ 用有限时宽余弦信号f(t)=cos(2πt/3)(0≤t ≤40)近似 理想余弦信号,用Matlab编程画出该信号及其抽 样信号的频谱,并对比观察过抽样和欠抽样状态 。
➢ axis([-20 20 -3 7]);
➢ xlabel('w'); ylabel('F1(w)');
7
仿真波形
8
仿真波形
9
实验原理二
➢ 连续时间系统频率响应的MATLAB实现
《MATLAB Simulink与控制系统仿真(第4版)》的课件 第7章 频域分析法

极坐标图(Nyquist图)
7.3.2 对数坐标图(Bode图)
Bode图的优点可概括如下: (1)将幅值相乘化为对数相加运算,大大简化了系统频率特性 的绘制工作。 (2)由于横轴采用了对数分度,缩小了比例尺,从而扩大了频 率视野,可以在较大的频段范围内表示系统频率特性。在一张 Bode图上,既画出了频率特性的中、高频段,又能清楚地画出其 低频段,在分析和设计系统时,低频段特性也是非常重要的。 (3)可以绘制渐近的对数幅频特性;也可以制作标准样板,画 出精确的对数频率特性。
第7章 频域分析法
7.1 引言 7.2 频率特性基本概念 7.3 频率特性的表示方法 7.4 系统开环频率特性作图 7.5 频率响应分析 7.6 MATLAB在频率法中的应用 7.7 频率法的稳定性分析 7.8 综合实例及MATLAB/SIMULINK应用 习题
内容提要
控制系统的频率特性反映的是系统对正弦输入信号的 响应性能。频域分析法是一种图解分析法,它依据系 统频率特性对系统的性能(如稳定性、快速性和准确 性)进行分析。
频域分析法的突出优点是可以通过试验直接求得频率 特性来分析系统的品质,应用频率特性分析系统可以 得出定性和定量的结论,并具有明显的物理含义。
对数幅相图(Nichols图)
7.3.3 对数幅相图(Nichols图)
对数幅相图也称Nichols图,它是将对数幅频特性和相频特性两张图在角频率 为参变量的情况下合成为一张图。
实验八 用MATLAB进行系统频率特性分析

实验八用MATLAB进行系统频率特性分析
实验目的:
了解MATLAB的系统频率特性分析工具,掌握Bode图和Nyquist图的绘制方法。
实验设备:计算机、MATLAB软件。
实验步骤:
1.打开MATLAB软件,新建一个m文件,输入以下代码:
%定义传递函数
sys=tf([1],[1 1]);
%绘制Bode图
bode(sys)
%绘制Nyquist图
nyquist(sys)
2.运行代码,观察Bode图和Nyquist图的绘制结果。
3.尝试更改传递函数的参数,比如改变分母或分子多项式的系数,再次运行代码,观察绘图结果的变化。
实验原理:
系统频率特性分析是指对于输入信号的不同频率,系统对这些频率的响应情况进行分析。
MATLAB软件能够通过系统传递
函数的输入,绘制系统的Bode图和Nyquist图。
Bode图是一种常用于描述系统频率特性的图形,它将系统的
幅频特性和相频特性绘制在同一个图中。
在Bode图上,水平
轴为对数频率,纵轴为幅值(dB)和相位角(度数)。
Nyquist图也是一种用于描述系统频率特性的图形,它通过绘
制系统的复数频率响应函数对应的极点和零点的轨迹,来分析系统的稳定性。
在Nyquist图上,水平轴为实部,纵轴为虚部。
实验结果:
通过运行MATLAB程序,成功绘制了传递函数对应的Bode
图和Nyquist图,并且观察到了更改参数后绘图结果发生了相
应的变化。
如何使用Matlab技术进行时间频率分析

如何使用Matlab技术进行时间频率分析使用Matlab技术进行时间频率分析1. 引言时间频率分析是信号处理的一个重要分支,用于研究信号在时间和频率上的变化规律。
Matlab作为一种强大的数学计算工具,在时间频率分析方面提供了丰富的函数和工具包,使得研究人员能够更加方便地进行时间频率分析研究。
本文将介绍如何使用Matlab技术进行时间频率分析,并探讨其中的一些常用方法和技巧。
2. 数据准备在进行时间频率分析之前,我们首先需要准备好要分析的数据。
这可以是从实验中测得的信号数据,也可以是从其他数据源获得的数据。
在Matlab中,我们可以通过多种方式导入数据,如直接从文本文件中导入、从工作空间变量中导入等。
导入数据后,我们可以使用一系列的函数和工具包对数据进行初步的处理,如去噪、滤波、降采样等。
3. 条件谱分析条件谱分析是一种常用的时间频率分析方法,它通过将信号分解成一系列小波分量来研究信号在时间和频率上的变化规律。
在Matlab中,我们可以使用cwt函数来进行条件谱分析。
该函数接受一个信号序列和一组尺度作为输入,返回条件谱系数矩阵。
我们可以通过设置不同的尺度来观察信号在不同频率上的变化情况,从而获得信号的频率谱。
4. 傅里叶变换傅里叶变换是一种经典的时间频率分析方法,它将信号分解成一组正弦波成分,从而得到信号的频谱信息。
在Matlab中,我们可以使用fft函数进行傅里叶变换。
该函数接受一个信号序列作为输入,返回信号的频谱。
我们可以通过对频谱进行逆变换,将信号恢复到时域,或者对频谱进行滤波,去除不需要的频率成分。
5. 小波变换小波变换是一种将信号分解成一组小波分量的时间频率分析方法,它具有局域性和多分辨率分析的特点。
在Matlab中,我们可以使用wavedec函数进行小波变换。
该函数接受一个信号序列和小波函数作为输入,返回信号的小波系数和小波基函数。
我们可以通过设置不同的分解层数和选择不同的小波函数来观察信号在不同尺度和频率上的变化情况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Matlab控制系统频率特性分析法本文主要介绍了基于Matlab控制系统的频率特性分析方法、频域稳定性判据以及开环频域性能分析,并获得频率响应曲线等。
通过本章的学习,可以利用MATLAB对各种复杂控制系统进行频率分析,以此获得系统稳定性及其它性能指标。
一、频率特性基本概念如果将控制系统中的各个变量看成是一些信号,而这些信号又是由许多不同频率的正弦信号合成的,则各个变量的运动就是系统对各个不同频率信号响应的总和。
系统对正弦输入的稳态响应称频率响应。
利用这种思想研究控制系统稳定性和动态特性的方法即为频率响应法。
频率响应法的优点为:⑴物理意义明确;⑵可利用试验方法求出系统的数学模型,易于研究机理复杂或不明的系统,也适用于某些非线性系统;⑶采用作图方法,非常直观。
1. 频率特性函数的定义对于稳定的线性系统或者环节,在正弦输入的作用下,其输出的稳态分量是与输入信号相同频率的正弦函数。
输出稳态分量与输入正弦信号的复数比,称为该系统或环节的频率特性函数,简称为频率特性,记作G(jω)=Y(jω)/R(jω)对于不稳定系统,上述定义可以作如下推广。
在正弦输入信号的作用下,系统输出响应中与输入信号同频率的正弦函数分量和输入正弦信号的复数比,称为该系统或环节的频率特性函数。
当输入信号和输出信号为非周期函数时,则有如下定义。
系统或者环节的频率特性函数,是其输出信号的傅里叶变换像函数与输入信号的傅里叶变换像函数之比。
2. 频率特性函数的表示方法系统的频率特性函数可以由微分方程的傅里叶变换求得,也可以由传递函数求得。
这三种形式都是系统数学模型的输入输出模式。
当传递函数G(s)的复数自变量s沿复平面的虚轴变化时,就得到频率特性函数G(jω)=G(s)|s=jω。
所以频率特性是传递函数的特殊形式。
代数式:G(jω)=R(w)+jI(ω)R(w)和I(w)称为频率特性函数G(jw)的实频特性和虚频特性。
指数式:G(jω)=A(w)eΦ(ω)式中A(ω)=| G(jω)|是频率特性函数G(jw)的模,称为幅频特性函数。
Φ(w)=arg G(jω)是频率特性函数G(jω)的幅角,称为相频特性函数。
3.频率响应曲线系统的频率响应可以用复数形式表示为G(jω),常用的频率响应表示方法是图形表示法。
根据系统频率响应幅值、相位和频率之间的不同显示形式,有伯德(Bode)图、奈魁斯特(Nyquist)图和尼柯尔斯(Nichols)图。
3.1 伯德图伯德(Bode)图又称对数频率特性图,由对数幅频特性图和相频特性图组成。
伯德图的横坐标为角频率ω,按常对数lgω分度。
对数幅频特性的纵坐标是对数幅值。
L(ω)=20lg A(ω),单位为分贝(dB),线性分度。
对数相频特性的纵坐标为φ(ω),单位为度,线性分度。
一般情况下,控制系统开环对数频率特性图的绘制步骤如下:⑴将开环频率特性按典型环节分解,并写成时间常数形式;⑵求出各转角频率(交接频率),将其从小到大排列为ω1,ω2,ω3,……,并标注在ω轴上;⑶绘制低频渐近线(ω1左边的部分),这是一条斜率为-20νdB/decade(ν为系统开环频率特性所含1/jw因子的个数)的直线,它或者它的延长线应通过点(1,20lgK);⑷各转角频率间的渐近线都是直线,但自最小的转角频率ω1起,渐近线斜率发生变化,斜率变化取决于各转角频率对应的典型环节的频率特性函数。
例1 绘制一阶惯性环节G(s)=1/(4s+1)的伯德图。
程序代码如下:num=1;den=[4 1];G=tf(num,den);bode(G,'r')3.2奈魁斯特图奈魁斯特图又称为极坐标图或者幅相频率特性图。
频率特性函数G(jω)的奈魁斯特图是角频率ω由0变化到∞时,频率特性函数在复平面上的图像。
它以ω为参变量,以复平面上的向量表示G(jω)的一种方法。
G(jω)曲线的每一点都表示与特定ω值相应的向量端点,向量的幅值为|G(jω)|,相角为argG(jω);向量在实轴和虚轴上的投影分别为实频特性R(ω)和虚频特性I(ω)。
一般情况下,系统开环频率特性函数奈魁斯特图的绘制步骤如下:⑴将系统的开环频率特性函数G0(jω)写成G(jω)=A(w)eΦ(ω);⑵确定奈魁斯特图的起点(ω=0+)和(ω→+∞)。
起点与系统所包含的积分环节个数( )有关,终点的A(ω)与系统开环传递函数分母和分子多项式阶次的差有关;⑶确定奈魁斯特图与坐标轴的交点;⑷根据以上的分析并且结合开环频率特性的变化趋势绘制奈魁斯特图。
例5-3 绘制一阶惯性环节G(s)=3/(5s+1)的奈魁斯特图。
程序代码如下:G=tf(3,[5 1]);nyquist(G);hold on;set(G,'inputdelay',5);nyquist(G);hold on;set(G,'inputdelay',10);nyquist(G);hold on;title('Nyquist图');3.3 尼柯尔斯图尼科尔斯图又称为对数幅频率特性图,它以开环频率特性函数的对数幅值为纵坐标,以相角值为横坐标,以角频率为参变量绘制的频率特性图。
采用直角坐标。
纵坐标表示20lg| G(jω)|,单位是dB,线性刻度。
横坐标表示∠G(jω),单位是度,线性分度。
在曲线上一般标注角频率ω的值作为参变量。
通常是先画出Bode图,再根据Bode图绘制尼科尔斯图。
4频率响应分析时域分析中的性能指标直观反映控制系统动态相应的特征,属于直接性能指标,而系统频率特性函数的某些特征可以用作间接性能指标。
⑴开环频率特性的性能分析基于开环频率特性函数的性能分析指标有如下两个:一是相角裕量γ,反映系统的相对ω,反映系统的快速性。
cω是A(cω)=1所对应的角频率,或稳定性;另一个是截止频率c对数幅频特性图上L(ω)穿越0分贝线的斜率,在采用渐近线作图时,两者略有不同。
⑵闭环频率特性的性能分析基于闭环频率特性函数的常用指标有两个:一是谐振峰值Mr,反映系统的相对稳定性;ω,定义为闭环幅频特性幅值M(ω)下降到0.707M(0)时另一个是频带宽度或者带宽频率B对应的角频率,它反映了系统的快速性。
例2 用直接计算法,确定系统的谐振振幅和谐振频率。
已知一控制系统开环传递函数Go (s)=5.5/(s2+3s+5),试求此系统的谐振振幅Mr和谐振频率ωr。
程序代码如下:Go=tf(5.5,[1 3 5]);[Mr,Pr,Wr]=mwr(Go)mwr函数程序如下:function [Mr,Pr,Wr]=mwr(G)[mag,pha,w]=bode(G);magn=mag(1,:);phase=pha(1,:);[M,i]=max(magn);Mr=20*log10(M);Pr=phase(1,i);Wr=w(i,1);运行结果:Wr = 0.6915Mr = 0.8714Pr = -24.6446结果中的单位分别是分贝(dB)、rad/s和度。
例3 利用LTIView工具,获得系统频率响应的谐振振幅和谐振频率。
以例2中的传递函数为例,确定系统的谐振振幅Mr和谐振频率ωr。
在命令窗口界面键入如下命令:>> Go=tf(5.5,[1 3 5])>> ltiview进入LTIView工具箱界面,对此系统进行分析。
Matlab控制仿真的简单例子sys=tf(1,[3 1 0],'inputdelay',6/100); %10/s(s+2) tf-----建立传递函数模型Ts=0.25;sysd=c2d(sys,Ts,'z'); % c2d ---连续的时间系统转化为离散的时间系统,即离散化.'t'表示双线性变换法% Find critical valuecrs Kcr,Wcr % 'z'表示带零阶保持器的Z变换法,可缺省% =============================figure(1);bode(sysd);grid on % 画伯德图[Gm,Pm,Wc,Wg]=margin(sysd) % margin---计算增益和相位裕度函数% Gm--增益裕度(即相位-180度处所对应的幅频特性绝对值的倒数)% Wg--增益裕度对应的频率(即相位-180度处的频率)% Wc--剪切频率(即幅频特性增益为0时的频率)% Pm--相角裕度(即剪切频率处,使系统达到临界稳定状态时所需的附加相移)Kcr=Gm;Wcr=Wg;Tcr=2*pi/Wcr; % 求临界状态时对应的周期pause % 暂停% Design PID Controller% =====================disp('parameters of PID')Kp=0.6*Kcr;Ti=0.5*Tcr;Td=0.125*Tcr;Ki=Kp*Ts/Ti;Kd=Kp*Td/Ts;disp('Model of PID Controller:')sysc=Kp+tf(Ki*[1 0],[1 -1],Ts)+tf(Kd*[1 -1],[1 0],Ts)% sysc=Kp+Ki*z/(z-1)+Kd*(z-1)/z% Check the Controller% ====================sysopen=sysc*sysd;sysclose2=feedback(sysopen,1); % feedback-----求闭环反馈figure(2);step(sysclose2,'b') % step----------作单位阶跃响应函数曲线grid onhold on。