Difference in simulation results of continuous and discrete transfer function in simulink

5 views (last 30 days)
Hi,
I am trying to compare the continuous (s-domain) and discrete (z-domain) implementation of a system in simulink. My model is simple as shown.
My input signal is a sine of amplitude = '1' and frequency = '2*pi*1e3' rad/sec. The discrete domain TF is obtained by using 'c2d' function of Matlab with a sampling time of '1e-5' seconds. But I am getting entirely different responses to the same. It would be of great help if someone can clarify why this is happening.
Many thanks in advance
Karthik R
  1 Comment
Reyad El-Khazali
Reyad El-Khazali on 16 Jan 2018
Your discrete-time transfer function is wrong. The correct one is: G(z) = [ 0.000986 z^2 + 0.001972 z + 0.000986 ]/[z^2 -1.996z + 0.9999 ] obtained using c2d (N,D, 10^-5, 'Tustin') The simulation of both the continuous and the discrete one were identical.

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 8 Jul 2015
Edited: Azzi Abdelmalek on 8 Jul 2015
Check the poles of your discrete model, they are unstable while your continuous model is stable. That means the discretization was unsuccessful. I think it's due to numeric calculation error. The denominator of your continuous model, maybe is the cause. D=[1 a b] with b very big then 1 and a. Try to make a discretization manually.

More Answers (0)

Categories

Find more on General Applications in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!