基于MATLAB的电路频率响应分析-施晨程
- 格式:docx
- 大小:383.82 KB
- 文档页数:15
课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 题目 : 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对信号进行频域分析的方法。
说到频域,不可避免的会提到傅里叶变换,傅里叶变换提供了一个将信号从时域转变到频域的方法。
之所以要有信号的频域分析,是因为很多信号在时域不明显的特征可以在频域下得到很好的展现,可以更加容易的进行分析和处理。
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这个函数输出正确的频域范围和变换后的信号,它需要输入需要变换的信号和采样率。
课程研究项目实施方案本课程研究项目主要完成《智能车系统的设计与制作》。
一、研究目的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是一款强大的数学软件,也是自动控制系统设计的常用工具。
它不仅可以进行时域分析和频域分析,还可以进行相关仿真实验。
本文将详细介绍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)```通过绘制系统的阶跃响应曲线,我们可以观察到系统的稳态特性。
课程设计任务书学生姓名: 朱亮 专业班级: 电子科学与技术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)当电路中激励源的频率变化时,电路中的感抗、容抗将跟随频率变化,从而导致电路的工作状态亦跟随频率变化。
基于MATLAB的频率分析摘要电力系统在实际运行中,频率时时刻刻都在发生着大大小小的波动。
电力系统的安全运行要求使得仿真成为一种必不可少的手段。
MATLAB语言具备高效、可视化及推理能力强等特点,是目前工程界流行最广的科学计算语言。
特别是在电子通信领域,MATLAB常常被用于进行电路、信号与系统、数字信号处理等多个方面的理论验证与演算求解。
将MATLAB软件引入到电力系统分析中,大大地提高了计算精度和工作效率,为频率分析提供了一个有效的辅助工具,是电子工程人员不可或缺的辅助工具软件。
本文阐述了电力系统频率变化产生的原因及危害,进而分析了频率的不同对设备运行的影响,还利用了傅里叶变换对多波段频率进行了分析。
论文中还简单介绍了Matlab 软件中的仿真工具Simulink,以及其中的Power System工具箱,并结合了事例说明。
通过Matlab对电力系统频率变化的仿真,进一步证明仿真的必要性和可行性,证明了Matlab是实验室中不可或缺的仿真工具,为今后对电力系统的深入研究打下基础。
关键词:频率分析傅里叶变换仿真电力系统AbstractPower systems in actual operation, the frequency at all times in the event of large and small fluctuations. Safe operation of the power system as an essential requirement that the simulation means.MATLAB language with efficient, visualization and reasoning ability and other characteristics, is currently the most widely popular science engineering puting language. Especially in the field of electronic munications, MATLAB is often used for circuits, signals and systems, digital signal processing and other aspects of the theory and algorithms for solving verification. MATLAB software will be introduced to the power system analysis, greatly improved the accuracy and efficiency of frequency analysis provides an effective support tool is indispensable electronic engineering personnel supporting tools.This paper describes the power system frequency variation causes and hazards, and then analyzes the frequency of the different impact on equipment operation, but also the use of the Fourier transform of the multi-band frequency were analyzed. Paper also introduces the Matlab software simulation tool Simulink, as well as the Power System Toolbox, bined with examples to illustrate.By changing the frequency of the power system Matlab simulation, further evidence of the necessity and feasibility of the simulation proved indispensable laboratory Matlab simulation tools for future in-depth study of the power system to lay a foundation.Keywords: Frequency analysis Fourier transform Simulation Power system前言现代电力系统是一个超高压、大容量、跨区域的巨大联合动力系统,频率是衡量电力系统质量的一个重要指标。
3.6 用Matlab 进行动态响应分析利用Matlab 可方便地进行控制系统的时域分析。
若读者对Matlab 的基本功能尚不了解,请先阅读本书的附录部分。
3.6.1绘制响应曲线Matlab 提供了求取线性定常连续系统单位脉冲响应和单位阶跃响应的函数。
分别为impulse ,step 。
对单位斜坡响应,可间接求取。
如果已知闭环传递函数的分子num 与分母den ,则命令impulse (num ,den ),impulse (num ,den ,t )将产生单位脉冲响应曲线。
命令step (num ,den ),step (num ,den ,t )将产生单位阶跃响应曲线。
(t 为用户指定时间)例3-5 用Matlab 绘制系统25425)()()(2++==Φs s s R s C s 的单位阶跃响应曲线。
解 首先得到模型,再绘制阶跃响应曲线。
Matlab Program 3-1num=[0 0 25];%分子多项式系数den=[1 4 25];%分母多项式系数step(num,den);%产生阶跃响应grid; title(‘unit-step response of 25/(s^2+4s+25)’); %添加标题程序运行结果如图3-20所示。
若希望求取单位脉冲响应曲线,只需将step(num,den)命令改成impulse (num ,den )函数即可。
图3-20 单位阶跃响应曲线Matlab 中没有直接求取单位斜坡响应的命令,我们可利用单位斜坡函数为单位阶跃函数的积分来间接求得单位斜坡响应。
方法是将待求系统传递函数乘以积分因子1/s ,求其单位阶跃响应,即为原系统的单位斜坡响应。
利用该方法也可通过单位脉冲响应命令来求取系统的单位阶跃响应。
例如,求系统25425)()()(2++==Φs s s R s C s 的单位斜坡响应曲线。
此时,系统输出的拉氏变换为ss s s s s s s C 1)254(25125425)(222⋅++=⋅++=为此,求该系统单位斜坡响应曲线的程序如下: Matlab Program 3-2num=[0 0 0 25];den=[1 4 25 0];step(num,den,3)gridtitle('unit-step response of 25/(s^2+4s+25)');程序运行结果如图3-21所示。