Unit Delay block is supposed to be NOT a DIRECT FEEDTHROUGH But in documentation it is said YES
조회 수: 3 (최근 30일)
이전 댓글 표시
"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)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1403404/image.png)
댓글 수: 0
채택된 답변
Andy Bartlett
2023년 6월 6일
편집: Andy Bartlett
2023년 6월 6일
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
Andy Bartlett
2023년 6월 7일
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
2023년 6월 7일
Thanks for the repsonse. I'm not as familiar with frame based processing as I'd like to be.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 General Applications에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!