Frame/sample rate matching in Simulink
1 回表示 (過去 30 日間)
古いコメントを表示
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.
0 件のコメント
採用された回答
Kaustubha Govind
2012 年 11 月 15 日
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 件のコメント
Namrata Biranje
2019 年 9 月 19 日
編集済み: Namrata Biranje
2019 年 9 月 19 日
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)
その他の回答 (0 件)
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!