Clear Filters
Clear Filters

Info

This question is closed. Reopen it to edit or answer.

Simulink - Apply different Delay to different columns of input data

2 views (last 30 days)
Hi,
In Simulink, My input data 'X' is a matrix and I want to apply different delay values to each column of Matrix 'X'.
Eg. X = [ 1 2 3; 4 5 6 ; 7 8 9] and delay_vector = [100 200 300]
So, Delay of 100 samples should be applied to 1st column of X, 200 samples of delay to 2nd column and 300 samples of delay to 3rd column.
I tried using Simulink Delay block but it supports delay length as scalar only and not vector.
Does anyone have idea how to acheive the same?
Thanks,

Answers (1)

Walter Roberson
Walter Roberson on 3 Dec 2019
If you are using From File or From Workspace, then the first column of the array must be the timestamp, and the timestamp applies to all columns of the same row.
You can split your array into different arrays so that you can use different timestamps.
Alternately, you could potentially use blocks to split your signal (which would be a vector at any one time) and run the second through a delay block of (200-100) and the third through a delay block of (300-100)
  1 Comment
Bhavin Shiyani
Bhavin Shiyani on 3 Dec 2019
Thansk Roberson, for your answer.
But the issue is I want to implement it using single Delay block and it is important when I generate code from the Simulink model.
Suppose if I use 3 different delay blocks then generated code will create 3 buffer and will need more memory.
So I want to use single delay block.
Thanks

This question is closed.

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!