Frame/sample rate matching in Simulink

2 views (last 30 days)
My Simulink model has a Matlab function that outputs one 1x13 vector and another 1x1300 vector. I want to interpolate the 1x13 vector by a factor of 100, and then add the two vectors together. The interpolation filters (I'm using the "Fir Interpolation" block from the DSP toolbox) don't change the size, though. I assume that they change the sample rate instead.
So I tried to serialize the data with an "Unbuffer" block. The Unbuffer block did not change the signal dimensions. I thought that maybe the vector needed to be 13x1 instead for the Unbuffer block to work, so I put in a Transpose block before it. That caused the following error:
Error in 'GenNbfm_Sim/Unbuffer': All sample times must be discrete. No continuous or constant sample times are allowed.
I tried double-clicking on the Transpose block to inspect/modify its sample rate, but as far as I can tell it doesn't allow you to do anything with its sample rate.
Thanks for taking the time to read this, and I appreciate any help that you can offer.

Accepted Answer

Kaustubha Govind
Kaustubha Govind on 15 Nov 2012
It looks like your input to the Unbuffer block has either constant or continuous sample time. You need to force it to be discrete. Turn on Sample Time Colors to see what sample time each of your blocks/signals has.
  1 Comment
Namrata Biranje
Namrata Biranje on 19 Sep 2019
Edited: Namrata Biranje on 19 Sep 2019
Change the sample time of Input block of Descrete block to Descrete sample time (e.g. try 0.01) or use Rate transiition block before descrete block and change the sample time of Rate transition block other than continous and constant i.e. other than "-1 /inf" (e.g. try 0.01)

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!