Why is this simple Simulink System unstable for low sampling frequencies?

3 views (last 30 days)
Hello Community!
I have a simple Simulink System which appears to be unstable for low sampling rates.
The model looks like this (.slx file was created in 2020a release and is attached to this thread)
  • The model is simulated with fixed time steps (no continuous states)
  • The sampling frequency is an integer multiple of audio sampling frequency, e.g. 44100 * 64
  • The z-transfer-function Y(z)/U(z) in the middle is calculated depending on the sampling rate. It is a first-order system in the s-domain that is converted as follows:
clc; clear; close all;
s = tf('s');
fs_sim = 44100*64;
T = 1/(s*1.1e-9+0.0002288);
model = 'tustin';
[N4 D4] = tfdata(c2d(T, 1/fs_sim, model),'v')
Now I observe the following behaviour:
For high sampling rates, e.g.
fs_sim = 44100*128;
the model does what it is supposed to do.
For low sampling rates, e.g.
fs_sim = 44100*64;
the system becomes unstable.
Can someone explain why this happens?
Thanks for any advice!
  1 Comment
Maycon Klann
Maycon Klann on 10 Jun 2022
Hello Dominik!
Any progress with this issue?
I'm having the same problem... I've simulated an electrical closed loop space state system in lsim and the result is as expected.
When a tried to reproduce it in simulink simscape electrical I cannot get the same answer for lower sample frequencies (although in lsim the same frequency has a stable result), and the system gets unstable just like the picture you posted...
The SS model is correct, just as the electrical circuit in simulink (in some frequencies both lsim and simulink return the same result).
In both situations i'm running discrete models. I've already tried to change many solver parameters, but without success.
Best regards,

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by