leeqy 发表于 2007-11-4 22:40

问个Matlab,Simulink中实时判断的问题

我现在在做个控制系统,用了PID控制器。

仿真时间从1到10秒

但问题不是每秒都要用到PID控制,取决于其中的一个输出型号,比如说输出信号为s吧。先对信号s进行FFT,FFT的时间窗口是1秒,先在频率上分析,如果s在低频率上没有FFT分量,下一秒不用PID。如果有,下一秒用PID

比如说先分析
0->1秒,s有低频分量,那么1->2秒用PID.并同时在1->2秒进行数据采量和fft,用于2->3秒是否用PID的判断。

问题是如果offline的话,等10秒仿真结束后,保存s和时间t为Matfile,然后很好编程,我已编了一个m文件

想请教大家
1.如何进行每秒的Online判断。最好在仿真的同时进行FFT,看看这一秒有没有低频分量,下一秒要不要PID。有什么设置让Simulink每秒保存或提供这一秒的数据s.(ps:系统数据采样时间为1/25000<<1秒)

2.Simulink里现有fft模块,但如何进行低频分量的判断呢,这个'有'和'没有'如何编程呢?

3.还有我写的offline的m文件在Simulink里能直接调用吗?

谢谢了
页: [1]
查看完整版本: 问个Matlab,Simulink中实时判断的问题