vectors to scalars with an Embedded Matlab Function
1 view (last 30 days)
Show older comments
Hello,
can anyone show me how to convert a 10x1 vector into 10 scalars with an Embedded Matlab Function?
I just don't know how to upsample the incoming vector, that is, the sample frequency at the output must be 10 times greater than at the input.
Thanks Senmeis
0 Comments
Accepted Answer
Kaustubha Govind
on 15 Nov 2012
Are you attempting to use the Embedded MATLAB Function block to perform upsampling? If so, I don't think that is possible, because the Embedded MATLAB Function block runs at an "inherited" sample-time, which means that the output must have the same sample rate as the input. It looks like what you really need is an Unbuffer block.
2 Comments
Kaustubha Govind
on 15 Nov 2012
Sure, you have a lot of flexibility with S-functions, so you should be able to use them too.
More Answers (2)
Azzi Abdelmalek
on 16 Nov 2012
Edited: Azzi Abdelmalek
on 16 Nov 2012
You can use a Demux block from Simulink/Signal Routing. At the output of Demux you will have 10 scalar at the same time. If you want them one after one, add an Index Vector block.
look at the use of Index Vector at http://www.mathworks.com/matlabcentral/answers/53615-how-can-i-convert-a-raw-matrix-into-a-sequence-of-digits
5 Comments
Azzi Abdelmalek
on 19 Nov 2012
Edited: Azzi Abdelmalek
on 19 Nov 2012
Ah, I did'nt understand, I confused with variable step size. Then try Kaustubha's suggestion, you will need a communication system toolbox
Kaustubha Govind
on 19 Nov 2012
Azzi: I didn't recommend Demux block originally because Owen wants to effectively "upsample" (or Unbuffer) the signal.
See Also
Categories
Find more on String in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!