vectors to scalars with an Embedded Matlab Function

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

 採用された回答

Kaustubha Govind
Kaustubha Govind 2012 年 11 月 15 日

0 投票

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 件のコメント

Owen
Owen 2012 年 11 月 15 日
What about Level-2 S Function?
Senmeis
Kaustubha Govind
Kaustubha Govind 2012 年 11 月 15 日
Sure, you have a lot of flexibility with S-functions, so you should be able to use them too.

サインインしてコメントする。

その他の回答 (2 件)

Azzi Abdelmalek
Azzi Abdelmalek 2012 年 11 月 16 日
編集済み: Azzi Abdelmalek 2012 年 11 月 16 日

0 投票

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.

5 件のコメント

Owen
Owen 2012 年 11 月 17 日
Thank you. You are really an expert in Simulink. I'll try it later and report my result.
Do you think this method works for variable-sized vectors? I noticed there are many limits on variable-sized data so variable-sized data cannot be processed as fixed-sized data in many situations.
Thanks Senmeis
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 11 月 18 日
Yes it works
Owen
Owen 2012 年 11 月 19 日
I've tried Demux block and I'm afraid it cannot be used with variable-sized data.
Senmeis
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 11 月 19 日
編集済み: Azzi Abdelmalek 2012 年 11 月 19 日
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
Kaustubha Govind 2012 年 11 月 19 日
Azzi: I didn't recommend Demux block originally because Owen wants to effectively "upsample" (or Unbuffer) the signal.

サインインしてコメントする。

Owen
Owen 2012 年 11 月 21 日

0 投票

I've made it with an Embedded Matlab Function. For the sample time for each element I use the Repeating Sequence Stair block. Thank you anyway.
Senmeis

カテゴリ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by