Matlab采样点频率

时间:2014-03-06 13:34:27

标签: matlab simulink

我使用函数frestimate来查找模型中某些块的频率响应。似乎代码工作正常,但我得到以下警告。

警告:在“sysest = frestimate(modelname,op,io,in)”中,线性化I / O点(i)(2)位于 在连续或固定的次要时间步骤Simulink信号和线性化I / O点(s)io(1)是 位于离散采样时间的Simulink信号,采样时间为0.004。样本时间 估计结果“sysest.Ts”被设置为0.004,但是,这可能有一些渠道 频率响应数据是连续的。要停止此警告,请确保所有线性化输入 输出I / O点具有相同的采样时间或将它们分成组,以便每个I / O点 group具有相同的采样时间,并为每个组运行单独的FRESTIMATE命令。

我完全不知道应该如何修复它。我总是照顾采样频率。我正在使用固定步长为0.004(Fs = 250)的Runge-Kutta求解器,并且我的fretimate函数的输入也定义如下:

input = frest.createFixedTsSinestream(0.004,{1 100});

我的输入端口输出“常量”块(io(1)),输出端口(io(2))是加法块的输出。任何的想法?我不知道这个警告给出的线索。

这是我的模型的快照,如果有帮助的话。

可能不是很清楚,但我的输入和输出是洋红色块的最后输入和输出。它将我的所有操作点返回到零而不是真的。

enter image description here


当我运行此代码时:

op = findop(SimFile,15)

我得到以下结果。

(1。)Cortex / Transfer Fcn1       x:-3.31e-19
      x:2.46e-05
(2.)Cortex / Transfer Fcn2       x:-4.25e-19
      x:7.39e-05
(3.)Cortex / Transfer Fcn3       x:-7.2e-21
      x:3.63e-07
(4.)Cortex / Transfer Fcn4       x:0
      x:0
(5.)Cortex / Transfer Fcn5       x:-4.72e-19
      x:1.62e-05
(6.)Cortex / Transfer Fcn6       x:3.02e-18
      x:0.0002

在15时,我所有传递函数的输出都没有零值。哪个可能是问题?

1 个答案:

答案 0 :(得分:0)

documentation中详细说明模型中的采样时间,并确保线性化点位于具有相同采样时间的信号上(此时看起来并非如此)。如有必要,请使用Rate Transition块在整个模型中强制执行正确的采样时间。