Why do I receive unexpected results when using the Buffering-Unbuffering blocks in the Signal Processing Blockset?
1 view (last 30 days)
Show older comments
I am using the buffer block and then unbuffering my signal. I observe that my model works correctly with the variable step solver but not with the fixed step solver. I am unable to understand why this happens. As an example, view the attached model edge_detection_elaborate1.mdl and simulate this model using variable-step solver and then the fixed-step solver. You will notice that the difference between the original and reconstructed images is much higher when using the fixed-step solver.
Accepted Answer
MathWorks Support Team
on 27 Jun 2009
This is expected behavior.
When using a fixed step solver, it is possible to select the tasking mode. If the tasking mode is selected to be "MultiTasking", the Unbuffer block's buffer is initialized with the value specified by the Initial condition parameter, and the block begins unbuffering this frame at the start of the simulation. Inputs to the block are therefore delayed by one buffer length. This causes the difference between the original and reconstructed signals to be higher. If the "SingleTasking" mode is selected for unbuffering, there is no delay introduced and the error between the two images is lower.
0 Comments
More Answers (0)
See Also
Categories
Find more on Conditionally Executed Subsystems and Models in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!