MATLAB Answers

How to set a Simulink block parameter as a variable and update using Matlab?

20 views (last 30 days)
Amanda Q
Amanda Q on 16 Aug 2019
Commented: Amanda Q on 19 Aug 2019
I'm trying to replicate using Matlab variables for parameters in Simulink blocks, like what was used in the Simulink QPSK example:
RRC Tx Filter Simulink QPSK Ex.JPG
I would like to be able to define a variable in Matlab, update it in the Matlab code, and have it update automatically in Simulink (especially with variables that are mathematical expressions). The QPSK example source code seems to show this here (my assumption is that Simulink is grabbing the parameter values from this code):
QPSK Tx code ex.JPG
When I tried to do this myself, I had to manually update the parameters in the Model Explorer in order for it to change in Simulink. I've looked around at a lot of documentation (here, here, here & here for example) and past questions (here), but I'm not seeing the exact answer. It may be a more complicated solution than I anticipated, but I was hoping to keep my Simulink models simple and easy to update. (I'm still learning the intricacies of Simulink and Matlab right now.)
My basic transmitter and Matlab code is shown below for reference. The Matlab file I created (qpsktxinit) is currently located in the model workspace, and is a 1x1 struct with 10 variables.
I appreciate any help/direction you can offer for this issue.
QPSK TX Simulink.JPG
RRC filter.JPG
QPSK TX Init code.JPG

Accepted Answer

Archit Dhanani
Archit Dhanani on 16 Aug 2019
You could use a model callback in this case if you have not already tried this:
  1 Comment
Amanda Q
Amanda Q on 19 Aug 2019
Yes, I stumbled across this a few hours after I posted my question. It's exactly what I was looking to do. Thank you for your help!

Sign in to comment.

More Answers (0)




Community Treasure Hunt

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

Start Hunting!

Translated by