Prashant Kumar answered . 2024-11-24 03:32:48
Yes, several suggestions/questions.
First of all, your workflow does not quite make sense. Frequency Response Estimation capability in the Linear Analysis tool is designed for computing frequency response of nonlinear Simulink models that cannot be linearized using exact linearization due to discontinuities such as PWM or triggered subsystems. It does not make sense to use it in your case - you can if you want to, but it is meaningless.
Let me explain why. What you have is a linear system - a transfer function. There is no need to linearize Simulink model that consists only of a transfer function - you already have this transfer function to start with! Also, there is no need to use frequency response estimation. What it does is that it injects a signal into the model, logs the output, and computes the FFT of system response from the input and output signals. Again, as you already have your transfer function, there is no need to use frequency response estimation.
In your case, it seems you are trying to simulate a transfer function output to a random signal. You already know how to do it in MATLAB. To do it in Simulink, you just run the simulation, you do not need to linearize the model or use frequency response estimation. Just double check that your Random number block generates the same signal as input signal you designed in MATLAB, replace the outport block with "To workspace" block, and run the simulation. The output of the simulation will match what you got in MATLAB (you'll need to change solver's step to be fixed step with the same sampling time you use in MATLAB code).
Now, if you really want to know why the time response you are getting in Frequency Response Estimation tool is different, read on.
1. First of all, when you use frequency response estimation, and generate an excitation signal, this excitation signal is added to the signal you already have in your Simulink model . In your case, this means that the input to your Simulink model, when you run frequency response estimation, will be the random signal you specify in frequency response estimation tool added to the output of Random Number block you have in your model. So what the model sees is a different input signal than what you have in your MATLAB code.
2. Even if you replace Random Number block with zero constant (so when you run frequency response estimation, model will only see the excitation signal you define in Frequency Response Estimation tool), (actually, a better way is to tell the tool to hold the output of this block constant, using BlocksToHoldConstant option ) you need to be careful with this random signal you specify in Frequency Response Tool. To get the same results as what you got with MATLAB code, that random signal from Frequency Response Estimation tool needs to match your input signal in MATLAB exactly. What you use in MATLAB is a random number, normal distribution with standard deviation of 1. The random signal in Frequency Response Estimation is a uniform random number spanning from 0 to Amplitude, so it will be a different signal than what you have in MATLAB, and therefore, you will get a different output.
Not satisfied with the answer ?? ASK NOW