流式时域信号的幅度和相位工具,挺适合做非线性系统建模的朋友,尤其是想搞清楚系统输入输出之间到底差了多少的时候。用的是 FFT 搞频域,结果能直观看出非线性控制系统的“波特图”效果,虽然不是真正意义上的波特图,但也蛮接近了。你可以丢进输入输出的音频信号,抓感兴趣频点的相位和增益,挺实用的。
FFT时域数据,换句话说,就是把时间序列变成频率维度的,这样你就能知道某个频率段信号到底有没有被放大或者相位偏移。输入是两个 wav 流,比如系统输入和输出,完就能看差距。挺适合做动态系统响应的,尤其是非线性那种,不像传统波特图只能线性系统用。
如果你做过控制系统建模,尤其是那种黑盒建模,应该知道用频响
数据搞推断有多香。有了这个工具,就不用死盯传递函数了,非线性系统也能看得清清楚楚。想试试用它生成你自己的“等效波特图”?只需要拿系统输出 wav 和输入 wav 丢进去就行。
工具本身用的是 Matlab 写的 s 函数,代码也比较直白,FFT 部分写得清晰,计算增益和相位的逻辑也没绕。你想深度搞非线性系统建模,尤其是做动态响应特性的话,建议和 Simulink 或者 BP 神经网络一块用,会更有意思。
哦对了,这里还有一些相关资源你可以看看:Matlab 绘制传递函数 Bode 图、BP 神经网络非线性系统建模、Simulink 非线性系统模块,搭配用效果更稳。
如果你平时搞信号、控制系统建模或者音频系统,这工具可以省你不少试错时间。尤其是面对“不知道系统干了啥”的时候,用它先大致搞清楚增益和相位,也挺香的。