Issue with doing FM on SIMULINK

4 vues (au cours des 30 derniers jours)
Abdelrhman Abdelfatah
Abdelrhman Abdelfatah le 29 Oct 2022
Modifié(e) : Jim Riggs le 31 Oct 2022
Hello, I want to run the following Model, but it keeps giving me that error how can I fix it please?
Secondly, I want to replace that Message 1 Box, with the following input from my code, how can I do this?
fs=1000;
t = 0:1/fs:2;
% Defining the messages signal m(t)
message =@(t) -sawtooth(2*pi*(t+0.5)) ;
Thank you

Réponse acceptée

Jim Riggs
Jim Riggs le 31 Oct 2022
Modifié(e) : Jim Riggs le 31 Oct 2022
1) The error is generated because the integration block is a continuous block, and you have specified a discrete solver.
Change the solver type to "Auto" in the model settings.
2) You can code the function that you want using a "MATLAB Function" block (found under the user-defined functions tab).
Assuming that variable "t" is time in your function, you will have to supply t as an input;
Inside the MATLAB function block you provide the following code:
function y = fcn(t)
y = -sawtooth(2*pi*(t+0.5));
You can control the signal by setting the parameters for the solver. For example, set the solver to "fixed time step" and specify a time step of .001. Set the simulation stop time to 2. This will create a sawtooth signal from 0 to 2 with a 0.001 step size.

Plus de réponses (0)

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by