Задержка поиска сигнала

Можно использовать блок Find Delay, чтобы найти задержку между двумя сигналами и определить, когда длина окна корреляции недостаточно велика.

Исследуйте модель

Блок Bernoulli Binary Generator сконфигурирован для вывода одной выборки в секунду. Выход ветвей к верхнему и нижнему пути. Верхний путь обеспечивает опорный сигнал к блоку Find Delay. Нижний путь обеспечивает путь задержки к блоку Find Delay. Блок Delay (Simulink), сконфигурированный для обработки основанных на дискретизации входов и для задержки сигнала на 10 выборки, находится в нижнем пути. Блок Find Delay сравнивает два входных сигналов и выводит вычисленную задержку и флаг изменения задержки. Временные возможности отображения отображают delay и chg выходы блока Find Delay.

model = 'cm_find_delay_mdl';
open_system(model);

Запустите модель

Запустите модель с параметром Correlation window length блока Find Delay, равным 15 выборкам.

The chg выходы порта 0 когда значение вычисленной задержки остается постоянным дольше, чем длина окна корреляции. Игнорируйте выходы блока Find Delay для первого периода окна корреляции, потому что нет данных предыдущего периода корреляции для сравнения. После первого периода окна корреляции вычисленный выход задержки показывает изменение задержки с течением времени и chg выходы порта 1, что указывает на изменение задержки в предыдущем окне корреляции для всех окон, за исключением одного из них. Этот результат указывает, что длина окна корреляции слишком короткая для блока Find Delay, чтобы точно вычислить задержку между этими двумя сигналами.

set_param([model,'/Find Delay'],'corrLength','15')
sim(model)

Запустите модель с параметром Correlation window length блока Find Delay, установленным на 40 выборок.

Для этого запуска выхода вычисленная задержка оседает на 10 образцах на 50-секундной отметке и chg порт переключается на 1 только для одного из периодов длины окна корреляции. После второго периода окна корреляции (на отметке 100 секунд) вычисленная delay выход стабилизируется и chg выводные переключатели в 0 для оставшейся части запуска.

set_param([model,'/Find Delay'],'corrLength','40')
sim(model)

close_system(model,0);