Unit Delay block is supposed to be NOT a DIRECT FEEDTHROUGH But in documentation it is said YES

3 visualizzazioni (ultimi 30 giorni)
In algebraic loop descrption here it is mentioned that:
"Examples of blocks that do not have direct feedthrough include the Integrator block and the Unit Delay block."
But
if we see in the"help" of Unit Delay block it says YES it is a direct feedthrough block. (see the snapshot of Unit Delay help)

Risposta accettata

Andy Bartlett
Andy Bartlett il 6 Giu 2023
Modificato: Andy Bartlett il 6 Giu 2023
The Delay Block and the Unit Delay Block are subtly complicated especially with regard to Direct Feedthrough.
Whether or not Direct Feedthrough is present depends how the block is configured and which input is being discussed as having Direct Feedthrough.
If the delay length will definitely be one or greater, and the frame-based processing mode is not used, then the main data input port (aka first input) will not involve direct feedthrough. But there may be direct feedthrough for other input ports such as Reset.
If the delay length can be zero or if the delay length can be less than the frame length, then direct feedthrough from the main input would happen.
I believe the document image you showed is just saying Yes, direct feedthrough can happen in SOME configurations. This confusion is a consequence of the subtle complications of the blocks.
FYI: For the Delay Block, take a look at the parameter Prevent direct feedthrough to make sure the main input will not have direct feedthrough. This should enforce a minimum delay length that will make direct feedthrough on the main input port impossible.
  4 Commenti
Andy Bartlett
Andy Bartlett il 7 Giu 2023
Unit delay can have direct feed through when doing frame based processing, aka columns as channels. In frame based mode, suppose the input Uvec is length 2. Conceptually, this vector is made up two samples of a scalar signal u at two different times, k and k-1. I am too lazy too look it up, so let me guess the oldest element is the first element in the vector. Uvec = [ u(k-1); u(k) ] The corresponding output should be two samples of the input delayed by one time step. Yvec = [ u(k-2); u(k-1) ] Notice, the second element of Yvec is the first element of Uvec. That's why framebased processing has direct feedthrough.
Paul
Paul il 7 Giu 2023
Thanks for the repsonse. I'm not as familiar with frame based processing as I'd like to be.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su General Applications in Help Center e File Exchange

Prodotti


Release

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by