exponenta event banner

Найти задержку

Найти задержку между двумя сигналами

  • Библиотека:
  • Панель инструментов связи/служебные блоки

  • Find Delay block

Описание

Блок задержки поиска находит задержку между сигналом и задержанной и, возможно, искаженной версией самого себя. Это полезно, когда вы хотите сравнить переданный и принятый сигнал, чтобы найти частоту битовых ошибок, но не знаете задержки в принятом сигнале. Этот блок принимает вектор столбца или входной сигнал матрицы. Для матричного входа блок выводит вектор строки и независимо находит задержку в каждом канале матрицы. Для получения дополнительной информации о задержках сигналов см. раздел Задержки.

Порты

Вход

развернуть все

Исходный опорный сигнал, заданный как вектор или матрица. Размеры и время выборки sRef и sDel должны совпадать.

Типы данных: double

Задержанная или искаженная версия опорного сигнала, заданная как вектор или матрица. Размеры и время выборки sRef и sDel должны совпадать.

Типы данных: double

Продукция

развернуть все

Выходной порт, обозначенный как задержка, выводит задержку в единицах отсчетов.

Для матричного входа выходной сигнал является вектором строки и находит задержку в каждом канале матрицы независимо

Выходной сигнал задержки представляет собой неотрицательное целое число, меньшее длины окна корреляции.

Типы данных: double

Выходы выходного порта chg 1 при изменении задержки, вычисленной при предыдущей выборке, и 0 при отсутствии изменений

Зависимости

Этот выходной порт становится видимым только тогда, когда Include "change signal" output port выбран.

Типы данных: Boolean

Параметры

развернуть все

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

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

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

При выборе этой опции блок прекращает вычисление задержки после того, как он вычисляет одно и то же значение задержки для указанного числа выборок.

Положительное целое число, указывающее, сколько раз блок должен вычислять одну и ту же задержку перед прекращением обновления.

Зависимости

Это поле становится видимым, только если выбрано Отключить повторяющиеся обновления.

Характеристики блока

Типы данных

double | enumerated | integer[a] | single

Многомерные сигналы

no

Сигналы переменного размера

no

[a] Только подписанные целые числа.

Подробнее

развернуть все

Совет

  • Установите длину окна корреляции достаточно большой, чтобы вычисленная задержка в конечном итоге стабилизировалась на постоянном значении. Когда это происходит, сигнал от необязательного chg выходной порт стабилизируется при постоянном значении нуля. Если вычисленная задержка не является постоянной, необходимо увеличить длину окна корреляции. Если увеличенное значение длины окна Корреляция (Correlation) превышает длительность моделирования, необходимо также соответственно увеличить продолжительность моделирования. Если можно приблизительно оценить задержку, то длина окна корреляции даст стабильную оценку задержки, в четыре раза превышающую это значение.

  • Если взаимная корреляция между двумя сигналами широка, то значение длины окна корреляции должно быть намного больше ожидаемой задержки, иначе алгоритм может стабилизироваться при неправильном значении. Например, сигнал CPM имеет широкую автокорреляцию, поэтому он имеет широкую взаимную корреляцию с задержанной версией самого себя. В этом случае значение длины окна корреляции должно быть намного больше ожидаемой задержки.

  • Если блок вычисляет задержку, которая превышает 75% длины окна корреляции, сигнал sRef вероятно, задерживается относительно сигнала sDel. В этом случае следует переключить сигнальные линии, ведущие к двум входным портам.

  • Блок «Найти задержку» может остановить обновление задержки после того, как он вычислит одно и то же значение задержки для указанного числа выборок. Для этого выберите Отключить повторяющиеся обновления и введите положительное целое число в поле Количество выходных данных постоянной задержки, чтобы отключить обновления. Например, если для параметра Число выходов постоянной задержки задано значение 20, блок прекратит пересчет и обновление задержки после того, как он вычислит то же самое значение 20 раз за разом. Отключение повторяющихся обновлений приводит к более быстрому запуску моделирования после достижения целевого числа постоянных задержек.

Алгоритмы

Блок задержки поиска находит задержку путем вычисления перекрестных корреляций первого сигнала со сдвинутыми во времени версиями второго сигнала и затем нахождения индекса, при котором перекрестная корреляция максимизируется.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен до R2006a