为系统识别选择驱动信号?

信息处理 系统识别
2021-12-29 21:17:37

(我只是在学习一些关于系统识别的知识,如果这个问题措辞不当,请提前道歉)

您如何选择用于系统识别的驱动信号?我已经看到使用了 PRBS 信号,但它似乎适用于芯片速率附近的频率,但不是非常低的频率;我也见过频率扫描。

如果我有一个我知道的 SISO 系统接近一个具有一定范围内极点的二阶线性系统,并且我可以用任意信号驱动它,幅度 A 达到某个时间长度 T,我该如何选择一个信号可以为我提供确定传递函数准确性的最佳响应?

我尝试在谷歌上搜索“系统识别驱动信号”,但没有看到与我的问题有关的任何内容。


编辑:我处理过的一种特殊类型的 SISO 系统是用于功率半导体热行为的(输入=功耗,输出=温度)系统,它似乎很难建模,因为在非常低的频率下通常有一个主导极点( <1Hz),下一个可能会高 100 倍,因此任何高频驱动信号都会被严重衰减。

4个回答

对于线性系统,您可以使用其频率响应完全表征传递函数,因此频率扫描将是一种可能的选择。但是,您需要确保在每个测试频率下,在测量其稳态幅度/相位响应之前,您需要留出时间让系统的瞬态响应消失。

如果通过系统识别您的意思是确定实际系统的线性化模型的脉冲响应,那么伪随机二进制序列 (PRBS) 信号是一个不错的选择。以码片速率个码片,PRBS 信号的周期为 秒,重要的是选择以使 PRBS 信号的周期比您认为是脉冲响应的持续时间。然后,周期输入信号和周期输出信号 在整个周期内计算的周期(或循环或循环)互相关函数 正好等于T1NNTNTPRBS 信号的周期性自相关函数的线性化模型,它本质上是一个周期性的“脉冲序列”,每秒有一个“脉冲”。当然,它不是真正的脉冲,但如果 PRBS 信号的电平,其中必须选择小以免将系统驱动为非线性,则“脉冲”具有峰值(和下限或非峰值)。因此,您实际上拥有的“处理增益” 。如果“脉冲响应”在下一个“脉冲”之前消失,则该互相关本质上是脉冲响应或足够接近它的东西,以达到口香糖的目的。NT±AAANTATN

一旦你计算了脉冲响应,你就可以从脉冲响应中得到传递函数。

更多花里胡哨:如果你补充 PRBS 的交替筹码以获得一系列周期为的筹码,自相关函数再次是周期两倍的周期性“脉冲序列”,但脉冲仍然每秒出现一次,具有交替符号。这允许使用正脉冲和负脉冲对系统进行测试,因为被建模的实际非线性系统在工作点附近可能不是完全线性的,并且正信号的增益可能与负信号略有不同。2NNT

下面的想法被认为是非常不可靠的:我的控制理论知识充其量是微不足道的!

好吧,如果系统对您的 100Hz 左右的测试输入不敏感,那么在正常运行时它会对该频率的控制信号敏感吗?如果不是 - 将其建模为一阶系统。

我如何选择一个信号,以便为我确定传递函数的准确性提供最佳响应?

他们使用脉冲,步骤,正弦 - 我不知道哪个准确,但我想这取决于你实验中的瓶颈。

例如,通过缓慢的芯片加热,您可以以较高的相对精度测量时间,但在测量幅度时您会受到 ADC 的限制。我会在不到一秒的时间内传入一个高幅度的 100Hz 正弦(系统的主要时间常数)并确定一阶模型增益(时间常数已经定义为 1/100 秒)。如果增益很小,我会忽略这个极点,​​如果它对于手头的问题有很大的影响,那么寻找二阶模型(就像你在这个问题中所做的那样;P)

如果你有两个输入和输出样本序列并且你使用最小二乘,你需要你的输入来持续探索输入空间,即你必须反转矩阵HTH存在

H=(y(n)y(n1)y(1)u(n)...u(1)y(n+1)y(n)y(2)u(n+1)u(2)y(L1)y(L2)y(Ln1)u(L1)u(Ln1))

所以一个好的序列将是一系列不相关的样本,例如白噪声序列