写在最前
标题举了一个例子,在Simulink中,使用固定步长0.01秒来输出一个3S内占空比逐渐降为0的频率为400Hz的PWM波,这意味着每个PWM周期将包含40个固定步长,因为
。这通常是不可取的做法,因为PWM信号的频率应该远高于求解器步长,以避免时间分辨率不足导致的失真。simulink也无法在0.025步进行一次采样,步长即最小采样单位。
我们知道,当求解器设置为固定步长时,模型中所有模块的采样时间应该为固定步长的整数倍,这是因为固定步长求解器在每个步长都会更新所有模块的状态,如果步长不是采样时间的整数倍,就无法保证所有模块能够按照其指定的速率正确更新。
然而在构建多速率系统时我们的模型中不同模块需要不同的采样频率。我们通常期望设置一个固定步长作为我们整个模型的主要步长,以综合匹配软硬件的性能需求,并便于我们进行实时性建模处理,在需要特殊采样频率的模块则设置另外的步长。
可以采取的建模方法大致如下:
一、多速率系统建模实现方法
1.采样率匹配
通过使用不同的采样率,可以更精确地模拟实际系统的行为,其中不同的物理过程可能以不同的速率变化。设置一个足够满足所有模块条件的固定步长求解器,确保所有模块的采样时间必须能够被固定步长的值整除。
缺点:各模块的采样时间范围较大时,难以兼容模型仿真时间和代码生成的软硬件开销。