Issue with doing FM on SIMULINK

3 views (last 30 days)
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

Accepted Answer

Jim Riggs
Jim Riggs on 31 Oct 2022
Edited: Jim Riggs on 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.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!