基于MATLAB的电路频率响应分析-施晨程

合集下载

基于MatLab的控制系统运动响应分析

基于MatLab的控制系统运动响应分析

[y, x] = dstep ( a, b, c, d)
得到MIMO系统的单位阶跃响应数据值
a、b、c、d分别对应于系统矩阵的系统矩阵、输入矩阵、输出矩阵、前馈矩阵。 响应点数N可默认,默认时由系统自动确定。 y为输出向量;x为状态向量,可省略。
[例3.2] 已知线性定常离散系统的状态空间模型为
5 4 采样周期Ts=0.1 s,试绘制其零输入响应曲线。 3
Response to Initial Conditions
1 x(0) 0
在MATLAB命令窗口中输入
Amplitude
2
>> a=[0.9429 -0.07593; 0.07593 0.997]; 1 >> b=[0; 0]; c=[1.969 6.449]; d=0; 0 >> dinitial( a, b, c, d, [1 ; 0] )
Response to Initial Conditions 7 6 5
运行结果如图所示
Amplitude
4 3 2 1 0 -1 -2
0
0.2
0.4
0.6 Time (sec)
0.8
1
1.2
1.2 dinitial( )函数
dinitial ( a, b, c, d, x0, N) 绘制系统(a, b, c, d)在初始条件x0作用下的响应曲线 [y, x, N] = dinitial ( a, b, c, d, x0)
>> wn=6; >> kosi=[0.1 0.2 0.707 1 2]; >> hold on; %保持曲线不被刷新 >> for kos=kosi num=wn.^2; %数组运算采用点乘 den=[1, 2*kos*wn, wn.^2]; step( num, den ) end

Matlab课程设计-基于Matlab的RC串联电路频率响应特性分析

Matlab课程设计-基于Matlab的RC串联电路频率响应特性分析

课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 题目 : Matlab 应用课程设计-基于 Matlab 的 RC 串联电路频率响应特性分析初始条件:1. Matlab6.5以上版本软件;2. 先修课程:电路原理等;3. 2, 0.5R C F =Ω=。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求1、在 RC 串联电路中 , 求该电路的频率响应10( ( ( C U j H j U j ωωω=和 20( ( ( R U j H j U j ωωω=,并绘出其特性曲线; 2、画出程序设计框图,编写程序代码,上机运行调试程序,记录实验结果 (含计算结果和图表等 ,并对实验结果进行分析和总结;3、课程设计说明书按学校统一规范来撰写,具体包括:⑴目录; ⑵理论分析;⑶程序设计; ⑷程序运行结果及图表分析和总结; ⑸课程设计的心得体会(至少 500字 ;⑹参考文献(不少于 5篇。

时间安排:周一、周二查阅资料,了解设计内容;周三、周四程序设计,上机调试程序;周五、整理实验结果,撰写课程设计说明书。

指导教师签名: 年月日系主任(或责任教师签名: 年月日目录1.Matlab 软件简介 (1)2.RC 串联电路频率响应特性分析 (2)3. 程序设计 (3)4. 程序运行结果及结果分析 (5)5. 课程设计的心得会 (7)6. 参考文献 (8)1.Matlab 软件简介1.1Matlab 语言的历史70年代后期 , 身为美国 New Mexico大学计算机系系主任的 Cleve Moler发现学生用 FORTRAN 编写接口程序很费时间 , 于是他开始自己动手 , 利用业余时间为学生编写 EISPACK 和 LINPACK 的接口程序。

Cleve Moler给这个接口程序取名为 Matlab 。

1984年, 为了推广 Matlab 在数值计算中的应用, Cleve Moler、 Johon Little 等正式成立了 Math works公司, 从而把 Matlab 推向市场, 并开始了对 Matlab 工具相等的开发设计。

基于Matlab对信号进行频域分析的方法

基于Matlab对信号进行频域分析的方法

基于Matlab对信号进行频域分析的方法Matlab可以说是一个非常有用且功能齐全的工具,在通信、自控、金融等方面有广泛的应用。

本文讨论使用Matlab对信号进行频域分析的方法。

说到频域,不可避免的会提到傅里叶变换,傅里叶变换提供了一个将信号从时域转变到频域的方法。

之所以要有信号的频域分析,是因为很多信号在时域不明显的特征可以在频域下得到很好的展现,可以更加容易的进行分析和处理。

FFTMatlab提供的傅里叶变换的函数是FFT,中文名叫做快速傅里叶变换。

快速傅里叶变换的提出是伟大的,使得处理器处理数字信号的能力大大提升,也使我们生活向数字化迈了一大步。

接下来就谈谈如何使用这个函数。

fft使用很简单,但是一般信号都有x和y两个向量,而fft只会处理y向量,所以想让频域分析变得有意义,那么就需要用户自己处理x向量一个简单的例子从一个简单正弦信号开始吧,正弦信号定义为:我们现在通过以下代码在Matlab中画出这个正弦曲线fo = 4; %frequency of the sine waveFs = 100; %sampling rateTs = 1/Fs; %sampling time intervalt = 0:Ts:1-Ts; %sampling periodn = length(t); %number of samplesy = 2*sin(2*pi*fo*t); %the sine curve%plot the cosine curve in the TIme domainsinePlot = figure;plot(t,y)xlabel(‘TIme (seconds)’)ylabel(‘y(t)’)TItle(‘Sample Sine Wave’)grid这就是我们得到的:当我们对这条曲线fft时,我们希望在频域得到以下频谱(基于傅里叶变换理论,我们希望看见一个幅值为1的峰值在-4Hz处,另一个在+4Hz处)使用FFT命令我们知道目标是什么了,那么现在使用Matlab的内建的FFT函数来重新生成频谱%plot the frequency spectrum using the MATLAB fft commandmatlabFFT = figure; %create a new figureYfreqDomain = fft(y); %take the fft of our sin wave,y (t)stem(abs(YfreqDomain)); %use abs command to get the magnitude%similary,we would use angle command to get the phase plot!%we‘ll discuss phase in another post though!xlabel(’Sample Number‘)ylabel(’Amplitude‘)TItle(’Using the Matlab fft command‘)gridaxis([0,100,0,120])效果如下:但是注意一下,这并不是我们真正想要的,有一些信息是缺失的x轴本来应该给我们提供频率信息,但是你能读出频率吗?幅度都是100没有让频谱中心为为FFT定义一个函数来获取双边频谱以下代码可以简化获取双边频谱的过程,复制并保存到你的.m文件中function [X,freq]=centeredFFT(x,Fs)%this is a custom function that helps in plotting the two-sided spectrum%x is the signal that is to be transformed%Fs is the sampling rateN=length(x);%this part of the code generates that frequency axisif mod(N,2)==0k=-N/2:N/2-1; % N evenelsek=-(N-1)/2:(N-1)/2; % N oddendT=N/Fs;freq=k/T; %the frequency axis%takes the fft of the signal,and adjusts the amplitude accordinglyX=fft(x)/N; % normalize the dataX=fftshift(X); %shifts the fft data so that it is centered这个函数输出正确的频域范围和变换后的信号,它需要输入需要变换的信号和采样率。

实验一基于MATLAB的计算机控制系统时间响应分析

实验一基于MATLAB的计算机控制系统时间响应分析

课程研究项目实施方案本课程研究项目主要完成《智能车系统的设计与制作》。

一、研究目的1、掌握智能自动车的结构、控制电子元器件组成及其工作原理;2、掌握传感检测系统的设计方法,掌握常用传感器的原理和使用方法;3、掌握基本电路的原理图和电路连线图;4、掌握编程软件的使用、仿真调试以及单片机程序的烧写;5、掌握常用电机的选型、驱动及控制方法;6、掌握单片机的选型及系统搭接方法;7、掌握机电一体化系统的设计、制作和调试方法。

二、主要内容1、智能车本体组装;2、电路板焊接、测试;3、编程仿真软件学习和程序烧写软件学习;4、练习数码管显示编程;5、练习驱动模块驱动电机正反转;6、练习脉宽速度调制;7、练习红外避障模块;8、练习红外循迹模块;9、练习测速模块;10、多功能综合练习和扩展练习。

三、项目小组分工安排1、每4个同学一组,相互协作完成所规定的研究内容,内容可以包括上述内容但并不限于这些内容。

2、每个小组要在项目报告中标明每个人在总体工作中的贡献和工作比例或者每个人负责的内容。

3、研究内容的多少会影响到每组的最终成绩,鼓励学生自己选取感兴趣的研究内容进行创新设计和深入研究。

四、项目进程安排时间安排:自第二周开始:《机电一体化系统》每周周五的课程安排为课程项目实训;《单片机》双周周五的课程安排为课程项目实训。

实训地点:机械馆4楼创新实验室。

五、设计说明(一)方案论述1、电动机的选择方案一:采用步进电机,步进电机的一个显著特点就是具有快速启停能力,如果负荷不超过步进电机所能提供的动态转矩值,就能够立即使步进电机启动或反转。

另一个显著特点是转换精度高,正转反转控制灵活。

方案二:采用普通直流电机。

直流电动机具有优良的调速特性,调速平滑、方便,调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无级快速启动、制动和反转;能满足各种不同的特殊运行要求。

2、电动机驱动方案的选择方案一:采用电阻网络或数字电位器调整电动机的分压,从而达到调速目的。

基于MATLAB的电路频率响应分析-施晨程

基于MATLAB的电路频率响应分析-施晨程
3.2MATLAB
3.2.1
(1)程序设计框图:
(2)获取 函数的频率响应的编程:
Clear
fz=[0.2 0.2 0];% 表达式分子的系数向量
fm=[0.35 3.23];% 表达式分母的系数向量
w=0:0.1:50;%设定频率的变化范围
g=freqs(fz,fm,w);%求其频率响应
x=angle(g);%求其相频响应
先求 : =1.5+ =1.5+ ,又因为给出了电源的ω=1,所以 =1.5+ =1.5061+j0.1025=1.5061 ,所以根据欧姆定律得到 = = =37.5596
然后求出 : = - * =3.85 ,于是:
可以求出: = =38.5
又根据基尔霍夫电流定律可以求出: = - =1.355
3
3.1
(1)对于第一小题,我采用编程的方法来求得频率响应的曲线,具体的程序设计思路如下:首先输入H的关于频率的表达式,然后分别列出分子分母的系数行列式,调用angle函数来计算电路的相频特性,然后再调用abs函数来计算电路的幅频特性,调用freqs函数计算频率特性,最后用plot函数来描绘曲线。
(2)对于第二小题,由第一小题求出了 和 函数,根据其关系式,将ω=1带入可以得到 和 的向量值,接着可以求出所要求的各个值,所得到的表达式用matlab化简,最后得出结果。
关键词:电路原理,传递函数,MATLAB,向量图
基于MATLAB的电路频率响应分析
1
1.1
本次基础强化训练,我将利用MATLAB软件进行对频率响应电路进行原理分析、建模以及必要的推导和可行性分析。通过这一过程,掌握MATLAB软件的基本操作,体会MATLAB在实际中的应用价值,并且在以后的学习工作中利用MATLAB为自己服务,解决自己遇到的问题。

基于MATLAB自动控制系统时域频域分析与仿真

基于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进行系统频率特性分析

用MATLAB进行系统频率特性分析
稳定裕度:相角裕度 、增益裕度 。
内容:绘制控制系统博得图 格式一:Bode(num,den) 格式二:Bode(num,den,w)
格式三:[re,im,w]=Bode(num,den) a.开环开环传递函数 ,绘制其Bode图。
计算系统的稳定裕度,包括增益裕度 和相位裕度 。函数margin( )可以从系统频率响应中计算系统的稳定裕度及其对应的频率。格式一:margin(num,den),给定开环系统的数学模型,作Bode图,并在图上标注增益裕度 和对应频率 ,相位裕度 和对应频率 ,格式二:[Gm,Pm,wg wc]=margin(num,den),返回变量格式,不作图,格式三:[Gm Pm wg wc]=margin(m,p,w)
b. 已知单位负反馈系统的开环传递函数 ,求系统的稳定裕度,并分别用格式二与格式三计算,比较误差。
系统对数频率稳定性分析
c.系统开环传递函数为 ,试分析系统的稳定性。
4、实验方法、步骤:
a)num=[10],den=[1 2 10];bode(num,den)
[m,p,w]=bode(num,den);mr=max(m) wr=spline(m,w,mr)
2、实验主要仪器设备和材料:
计算机一台 matlab软件2010a版本
3、实验内容和原理:
原理:对数频率特性曲线,对数频率特性曲线分为对数幅频特性、相频特性曲线,对数稳定判据:对数频率特性曲线是奈氏判据移植于对数频率坐标的结果。对数频率稳定判据的内容为:闭环系统稳定的充要条件是当 从零变化到 时,在开环系统对数幅频特性曲线 分贝的频段内,相频特性 穿越 的次数 为 。其中, , 是正穿越次数, 是负穿越次数, 为开环传递函数的正实部极点的个数。
黄淮学院电子科学与工程系自动控制原理课程验证性实验报告实验名称用matlab进行系统频率特性分析实验时间201412月24学生姓名实验地点070312同组人员专业班级新能源1201b1实验目的1熟练掌握运用matlab命令绘制控制系统伯德图的方法

基于MATLAB的线性电路频率响应特性分析 -朱亮

基于MATLAB的线性电路频率响应特性分析 -朱亮

课程设计任务书学生姓名: 朱亮 专业班级: 电子科学与技术0603 指导教师: 梁 小 宇 工作单位: 信息学院 题 目:基于MATLAB 的线性电路频率响应特性分析初始条件:MATLAB 软件、微机 主要任务:利用MATLAB 强大的图形处理功能、符号运算功能和数值计算功能,实现线性电路频率响应特性的仿真波形。

1)绘出RLC 串联电路中AuR=UR/U1的幅频特性及相频特性曲线;2)绘出RLC 串联电路中AuC=UC/U1的幅频特性及相频特性曲线;3)绘出RLC 串联电路中AuL=UL/U1的幅频特性及相频特性曲线;4)设L=1H ,C=1F ,,/10s rad =ω改变R 之值,观察各特性曲线的变化情况;5)撰写MATLAB 课程设计说明书。

时间安排:学习MATLAB 语言的概况 第1天学习MATLAB 语言的基本知识 第2、3天学习MATLAB 语言的应用环境,调试命令,绘图能力 第4、5天课程设计 第6-9天答辩 第10天指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘要 (3)Abstract (4)1 Matlab 软件介绍 (5)1.1 Matlab 简介 (5)1.2 Matlab 的工作环境 (7)2 线性电路频率响应的理论知识 (10)2.1 网络函数 (10)2.1.1 网络函数)(ωj H 的定义 (10)2.1.2 网络函数)(ωj H 的物理意义 (10)2.2 RLC 串联电路的频率响应 (11)2.3 RLC 串联电路的谐振 (14)2.3.1 RLC 串联电路 (14)2.3.2 串联谐振的特征 (14)3 Matlab 程序设计及仿真 (16)3.1 绘出A uR =U R /U I 的幅频特性及相频特性曲线 (16)3.2 绘出A uC =U C /U I 的幅频特性及相频特性曲线 (17)3.3 绘出A uL =U L /U I 的幅频特性及相频特性曲线 (18)3.4 设L=1H ,C=1F, w=1rad/s,改变R 之值,观测各特性曲线的变化情况 (19)结束语 (21)参考文献 (22)附录 (23)当电路中激励源的频率变化时,电路中的感抗、容抗将跟随频率变化,从而导致电路的工作状态亦跟随频率变化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
y=abs(g);%求其幅频响应
subplot(2,1,1),
plot(w,x*180/pi)%画相频响应曲线
xlabel('w');
ylabel('角度');
grid;
subplot(2,1,2),
plot(w,y)%画幅频响应曲线
xlabel('w');
ylabel('abs(H)');
grid
而MATLAB实现功能主要依靠编程,它是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
(3) 的频率响应曲线如图1所示:
图1
(4)获取 函数的频率响应的编程:
Clear
fz=[0.2 0.2 0];% 表达式分子的系数向量
fm=[0.35 3.55 6.2 3];% 表达式分母的系数向量
w=0:0.1:50;%设定频率的变化范围
g=freqs(fz,fm,w);%求其频率响应
x=angle(g);%求其相频响应
3
3.1
(1)对于第一小题,我采用编程的方法来求得频率响应的曲线,具体的程序设计思路如下:首先输入H的关于频率的表达式,然后分别列出分子分母的系数行列式,调用angle函数来计算电路的相频特性,然后再调用abs函数来计算电路的幅频特性,调用freqs函数计算频率特性,最后用plot函数来描绘曲线。
(2)对于第二小题,由第一小题求出了 和 函数,根据其关系式,将ω=1带入可以得到 和 的向量值,接着可以求出所要求的各个值,所得到的表达式用matlab化简,最后得出结果。
2
2.1
2.2
(1)频率响应:电路中的感抗、容抗跟随激励源的频率变化,导致电路的工作状态亦随着频率变化,称此为频率特性,又称为频率响应。
(2)网络函数的定义:在线性正弦稳态网络中,当只有一个独立的激励作用时,网络中的某一响应(电压或电流)与网络输入之比,称为该响应的网络函数。
(3)本题中的电路中,只有一个激励源作用,并且电路属于线性稳态电路,电路中的电感 ,电容的等效阻抗为 ,这两个原件的工作状态会随着频率的变化而变化,进而改变电路的工作状态,通过列出对应的网络函数就可以容易的得出对应的幅频响应和相频响应。
2.3
第(1)小题:我们约定电感的支路为支路1,对应的阻抗记为 ,电容所在的支路记为支路2,其阻抗记为 ,总阻抗记为 。于是:
=jω*0.1,
=2+ ,
=1.5+ 。
然后列出传递函数: =
=
=
= = =
=
=
第(2)小题:已知电源的参数和各个元件的具体的数值,所以只要将各个元件的等效阻抗算出来,根据分压原理算得各个的电压值就可以把所求的各个量给解出来了。
先求 : =1.5+ =1.5+ ,又因为给出了电源的ω=1,所以 =1.5+ =1.5061+j0.1025=1.5061 ,所以根据欧姆定律得到 = = =37.5596
然后求出 : = - * =3.85 ,于是:
可以求出: = =38.5
又根据基尔霍夫电流定律可以求出: = - =1.355
y=abs(g);%求其幅频响应
subplot(2,1,1),
plot(w,x*1w');
ylabel('角度');
grid;
subplot(2,1,2),
plot(w,y)%画幅频响应曲线
xlabel('w');
ylabel('abs(H)');
关键词:电路原理,传递函数,MATLAB,向量图
基于MATLAB的电路频率响应分析
1
1.1
本次基础强化训练,我将利用MATLAB软件进行对频率响应电路进行原理分析、建模以及必要的推导和可行性分析。通过这一过程,掌握MATLAB软件的基本操作,体会MATLAB在实际中的应用价值,并且在以后的学习工作中利用MATLAB为自己服务,解决自己遇到的问题。
1.2
Simulink是MATLAB最重要的组件之一,他的实现功能是图像模拟,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
3.2MATLAB
3.2.1
(1)程序设计框图:
(2)获取 函数的频率响应的编程:
Clear
fz=[0.2 0.2 0];% 表达式分子的系数向量
fm=[0.35 3.23];% 表达式分母的系数向量
w=0:0.1:50;%设定频率的变化范围
g=freqs(fz,fm,w);%求其频率响应
x=angle(g);%求其相频响应
摘要
《电路原理》是电类专业必修的一门重要的技术基础课,它具有基础科学和技术科学的二重性,不仅是电类学生学习后续课程的基础,也直接为解决电工电子工程中的一些实际问题服务。大一下学期开始,通过对本课程的学习,我初步掌握了近代电路理论的一些基本知识和概念,能分析计算一些常见的,比较简单的基本电路,初步具有了解决实际问题的能力,并为后续课程的学习准备了必要的电路理论知识。其分析电路的常见方法有:节点电压法,网孔电流法,叠加原理分析法,戴维宁定理和诺顿定理等等。本文主要讨论用用传递函数法来分析交流稳态电路中关于频率响应的计算方法。在这个分析解决问题的过程中需要运用到MATLAB软件。MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。本文主要用到matlab的编程来解决电路中的频率响应和向量图的表示。
相关文档
最新文档