Why do I receive unexpected results when using the Buffering-Unbuffering blocks in the Signal Processing Blockset?

1 次查看(过去 30 天)
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.

采纳的回答

MathWorks Support Team
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 个)

类别

Help CenterFile Exchange 中查找有关 Conditionally Executed Subsystems and Models 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by