starting Simulink -- the output from Repeat and Integrate blocks

I have some basic questions related to Simulink blocks: Repeat and Integrate and Dump.
My scheme looks like this:
Bernoulli Binary generator -> Repeat(10x) -> Integrate and Dump (10 samples).
So, I'd like to simply generate a random sequence, repeat each sample 10 times, then integrate every 10 samples to produce 1 output sample. But, it doesnt work this way. At the output of Bernoulli generator I see that each sample is already repeated 10 times. Why? Then, it goes to the Repeat block, so the outputs from Bernoulli and Repeat block look indentical. Then, after Integrate and Dump block, I dont get 10 times less samples but the same number of samples as the input sequence (original sequence*10). Why?
Any explanation is wellcome. Thank you.

Answers (2)

If you want to check your model, add a to, workspace block, repeat your sequence 2 times, and 4 times, then compare your two y
I'm not sure how I can post my model, but I can try to explain it better:
Bernoulli Binary Generator --> Repeat (10x) --> Integrate and Dump (10x)
a(n) x(n) y(n)
So, at the output of Bernoulli generator I have a sequence a(n).
At the output od Repeat block I have x(n).
At the output of Intergate and Dump block I have y(n).
These outputs look like this:
a(n) 11111111110000000000111111111111111111110000000000 ....
x(n) 11111111110000000000111111111111111111110000000000 ....
y(n) 12345678910000000000012345678910123456789100000000000....
And I expected the following:
a(n) 10110
x(n) 11111111110000000000111111111111111111110000000000 (a(n) repeated 10x)
y(n) 10 0 10 10 0

6 Comments

What is the "Sample Time" setting of the Bernoulli Generator, and what is the sample time of the model? Try increasing the "Sample Time" setting of the Bernoulli Generator to 10 times its current value and see if that fixes things?
How did you check those result? (use to workspace blocks for each output)
In parameter configuration, set the step time to fixed. If at instant n, the output of Bernoulli block is 1, your repeat block output should be an array [1 1 1 1 1 1 1 1 1 1]; check this by using to workspace block
After each block I have the Out block so I can see the values generated. I don't see where I can set the Step time to "fixed" in Configuration Parameters, sorry. I set the Start time to 0 and Stop time to 5. The sample time in Bernoulli Generator is set to 0.1 sec. Thank you.
Just under start time change type from variable step to fixed step, then just under it, set the fixed step size to 0.1. change also, the solver from continuous to discrete.
In your blocks set all sample time to -1(inherited).
Now I'm getting the erro on Repeat block:
Error reported by S-function 'sdspupsamp2' in 'test2/Repeat':All sample times for this block must be discrete. No continuous or constant sample times are allowed.
Then change the setting of the repeat block

Sign in to comment.

Tags

Asked:

on 4 Feb 2013

Community Treasure Hunt

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

Start Hunting!