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

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

Библиотека

Служебные блоки

Описание

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

Входной порт sRef получает исходный сигнал, в то время как входной порт sDel получает задержанную версию сигнала. Эти два входных сигнала должны иметь те же размерности и шаги расчета.

Выходной порт маркировал delay выходными параметрами задержка модулей выборок. Если вы выбираете Include "change signal" output port, то выходной порт маркировал chg, появляется. Выходные параметры выходного порта chg 1, когда существует изменение от задержки, вычисленной на предыдущей выборке, и 0, когда нет никакого изменения. Выходной порт delay выходные сигналы, типа double, и выходной порт chg выходные сигналы булевской переменной типа.

Параметр Correlation window length блока задает сколько выборок сигналов использование блока, чтобы вычислить взаимную корреляцию. Задержка вывод является неотрицательным целым числом меньше, чем Correlation window length.

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

Можно заставить блок Find Delay прекратить обновлять задержку после того, как это вычислит то же значение задержки для конкретного количества выборок. Для этого выберите Disable recurring updates и введите положительное целое число в поле Number of constant delay outputs to disable updates. Например, если вы установите Number of constant delay outputs to disable updates на 20, блок прекратит повторно вычислять и обновлять задержку после того, как это вычислит то же значение 20 раз по очереди. Отключение повторяющихся обновлений заставляет симуляцию запускаться быстрее после того, как целевое количество постоянных задержек произойдет.

Советы для Использования блока эффективно

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

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

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

Примеры

Нахождение задержки перед вычислением коэффициента ошибок

Типичное использование этого блока должно определить правильный параметр Receive delay в блоке Error Rate Calculation. Это проиллюстрировано в Использовании Блок Задержки Находки. В том примере операция модуляции/демодуляции вводит вычислительную задержку в полученный сигнал, и блок Find Delay решает, что задержка является 6 выборками. Это значение 6 становится параметром в блоке Error Rate Calculation, который вычисляет частоту ошибок по битам системы.

Другой пример этого использования находится в Задержках.

Нахождение, что задержка помогает выровнять слова

Другое типичное использование этого блока должно определить, как выровнять контуры кадров с контурами кодовых комбинаций или другими типами блоков данных. Задержки описывают, когда такое выравнивание необходимо и также иллюстрирует в Выравнивающихся Словах обсуждения Блочного кода, как использовать блок Find Delay, чтобы решить проблему.

Установка длины окна корреляции

Следующий пример иллюстрирует, как сказать, когда Correlation window length не является достаточно большим. Загрузите эту модель путем ввода doc_find_delay_example в командной строке.

Модель использует блок Delay, чтобы задержать сигнал 10 выборками. Блок Find Delay сравнивает исходный сигнал с задержанной версией. В этой модели параметр Input processing блока Delay устанавливается to Columns as channels. Модель затем отображает вывод блока Find Delay в осциллографе. Если Correlation window length является 15, осциллограф показывает, что расчетная задержка не является постоянной в зависимости от времени, как вы видите в следующем изображении.

Этот результат говорит вам увеличивать Correlation window length. Если вы увеличиваете его до 50, расчетная задержка стабилизировалась в 10, как показано ниже.

Параметры

Correlation window length

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

Include "change signal" output port

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

Disable recurring updates

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

Number of constant delay outputs to disable updates

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

Алгоритм

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

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Представленный в R2012a