控制系统工程和数字信号处理都是电气工程的重要课程/主题,但是这两个主题/课程如何相互关联?
还请告诉我,关于控制系统工程的一些推荐资源(书籍,教程,讲座等)是什么,以及如何在技术水平上开始使用它?
控制系统工程和数字信号处理都是电气工程的重要课程/主题,但是这两个主题/课程如何相互关联?
还请告诉我,关于控制系统工程的一些推荐资源(书籍,教程,讲座等)是什么,以及如何在技术水平上开始使用它?
Answers:
有很多重叠之处,但重点有所不同。控制工程也早于DSP。如果您拥有传统的EE教育,那么您实际上并没有太大的区别。
状态变量是控件中更典型的视角。Oppenheim和Schafer的第一版(1975年)有一章介绍了状态变量,但是这些年来,它们一直被弃用。您需要了解状态变量才能进行卡尔曼滤波,这是一个重叠的区域。线性估计和线性控制是彼此的对偶。
我还要说,混合连续/离散时间系统在控制系统中更为常见,但对于DSP也有很多示例。
DSP几乎总是在统一采样上完成。状态变量也可以用于非均匀采样。
我从未听说过反因果控制系统,但是及时向前进行反向过滤在DSP中很常见。控制本质上是因果关系。单面Laplace变换在控件中更为常见。
反馈回路的稳定性在两个方面都很重要。高级控制系统课程将涵盖Lyaponov稳定性等主题。您通常看不到DSP涵盖的内容,但是有使用该技术的DSP论文。
控制理论出现在机械工程中。DSP出现在金融领域。机器人技术中有很多方面都使用计算机视觉。
在RADAR中,波形和滤波在前端使用较多的DSP,但在后端使用的跟踪系统则更多。
如果我必须用一个单词来形容每个单词。
控制:反馈
信号处理:感应
或使用一个短语
控件:当前
DSP:槽内
我做了信号处理博士学位。在控制系统部门。我认为信号处理是开环的。控制系统闭环。
除此之外,两者背后的数学非常相似。通常是非常不同的应用程序。
两者都基于线性系统理论(又名“信号和系统”)。所以也做通讯系统和线性电子电路,电子电路,以及分布式网络(又名输电线路)。
两者都担心系统稳定性。极点必须在单位圆内。实际上,DSP的范围比控件或通讯的范围广。
控制系统通常对时域行为更感兴趣。脉冲响应和阶跃响应。Routh-Hurwitz准则(或其离散时间准则)和Root-Locus技术是控制人员担心的问题。我从来没有真正担心过。
过去,状态可变系统处于控制范围之内,但是自卡尔曼滤波器以来,我就看到状态可变表示(带有A,B,C,D矩阵)在DSP中的出现频率更高。
控件之外的许多DSP问题都不太关心时域行为,而更关心频域行为。
图像处理与DSP的关系比与控件的关系更紧密。
我不知道控制人员完全担心FFT等问题。
所有这些学科都有一个实际的目标,那就是电子学。担心DSP或CPU芯片如何连接到A / D和D / A转换器以及内存和其他外围设备。我不知道有多少控制人员担心量化误差,但他们应该这样做。
有一个相当简单的区别。
控制工程是要使某件事情按照您希望的方式移动。某些信号处理工具将对此有所帮助(有些则不会;没有TARDIS,后向滤波不会实时发生)。
信号处理在很大程度上与频率响应(增益)有关,因为这是影响您所听到声音的大部分因素。相位和群延迟是问题,但通常不是主要问题。
但是,在控制工程中,您通常希望将某些东西移动到某个位置然后再不移动。这样做有一个基本原则- 如果看不到,就无法纠正。如果您的位置测量结果以严重延迟测量结果的方式进行过滤,则控制回路将不知道它在哪里(或者没有足够快地获得该信息),因此无法正确移动。或更糟糕的是,如果它太晚获取信息,那么它甚至可能试图朝错误的方向前进。
因此,控制工程倾向于使用像Butterworth这样的滤波器,虽然滤波器的滤波效果不佳,但是对信号的影响却更大。否则它甚至可能根本不使用滤波器,因为如果您的控制环速度较慢或系统惯性很大,则信号上的噪声可能不会影响系统的运动。
我所知道的最好的教科书是绪方(Ogata )的《现代控制工程》。我可以完全建议。它仅停留在状态空间控制之外,但是对于大多数控制工作来说,您几乎不需要它。
控制工程课程通常以相似甚至相同的课程(硕士学位)授课。在一般的系统建模方法,在这里输入()和输出()通过系统(涉及),我要说的是,对于一个目标,他们要么在工作,或:
结果,它们的工具非常相似,就像有时使用它们是双重方式一样。即使他们的背景非常接近,我也注意到他们之间的交流有些困难。从某种程度上说,这种情况让我想起了乔治·伯纳德·肖的作品:
美国和英国是两个用共同语言隔开的国家。
因此,信号/图像处理和控制工程是两个紧密的学科,由一组通用工具隔开。
对于因果关系的实时系统实现(其中时间是独立参数)的要求,该要求相对于参考标准不断地使输出误差最小,从而区分了控制系统领域。
您可以搜索MIT开放式课件,例如https://ocw.mit.edu/courses/aeronautics-and-astronautics/16-30-feedback-control-systems-fall-2010/
自由MATLAB workalike 的Scilab(https://scilab.org)提供访问控制配套系统设计和分析许多成熟的库。
如果愿意,Python的NumPy和SciPy(https://scipy.org)可以替代Scilab,而SymPy(https://sympy.org)可以帮助进行符号(计算机代数系统)操纵。 Anaconda Jupyter笔记本(https://anaconda.org)将允许您使用Markdown排版和LaTeX表达式呈现以及交互式代码和输出块来记录您的开发。
要呈现经常概述控制系统的信号流图,可以使用Graphviz(https://graphviz.org)。
Roger Labbe非常有效地解释了Kalman过滤器:https : //github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python 估计的系统状态是Kalman过滤器的控制对象。