dsp.Delay

Задержка входа сигнала фиксированными выборками

Описание

Примечание

The Units свойство больше не поддерживает 'Frames' опция. Использование 'Samples' вместо этого. The InitialConditions свойство больше не поддерживает формат массива ячеек. Использование Length-by- numChans матрица вместо этого, где numChans количество входа каналов. Для получения дополнительной информации см. Вопросы совместимости.

The dsp.Delay Система object™ задерживает вход на заданное количество выборок вдоль каждого канала (столбца) входа. Можно задать начальный выход объекта через свойство InitialConditions. Чтобы сбросить задержку, включите ResetCondition через ResetInport.

Чтобы задержать вход:

  1. Создайте dsp.Delay Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

пример

delay = dsp.Delay создает системный объект, который задерживает вход на 1 выборку.

пример

delay = dsp.Delay(Name,Value) создает Системный объект задержки с каждым заданным набором свойств до заданного значения. Заключайте каждое имя свойства в одинарные кавычки.

Пример: delay = dsp.Delay('InitialConditionsPerChannel',true);

пример

delay = dsp.Delay(len,Name,Value) создает Системный объект задержки, delay, с Length значение свойства установлено в len, и другие заданные свойства устанавливаются на заданные значения. Заключайте каждое имя свойства в одинарные кавычки.

Пример: delay = dsp.Delay(10,'ResetInputPort',true,'ResetCondition','Rising edge');

Свойства

расширить все

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

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Модули измерения задержки, заданные как 'Samples'.

Величина задержки в выборках для применения к входному сигналу, указанная как одно из следующего:

  • Скалярное положительное целое число -- объект применяет равную задержку ко всем каналам.

  • Вектор положительных целых чисел -- Длина вектора должна равняться количеству входа каналов (столбцов). Объект задерживает каждый канал на величину, заданную соответствующим элементом в векторе задержки.

Включите различные начальные условия на канал, заданные как:

  • false - Объект применяет одинаковые начальные условия для всех каналов.

  • true - Объект применяет различные начальные условия для каждого канала.

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

Различные начальные условия на выборку, заданные как:

  • false - Объект применяет одинаковые начальные условия для всех выборок.

  • true - Объект применяет различные начальные условия для каждой выборки.

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

Начальный выход объекта системный объект виде скаляра, вектора или матрицы. Размерности матрицы начальных условий должны быть (Length значение свойства) -by- (количество входа каналов).

Если вход является M -by - N матрицей, размерности InitialConditions значение свойства должно быть следующим:

InputConditionsPerChannelInputConditionsPerSampleInitialConditions
falsefalseскаляр
truetrueLength-by- N матрица

Включите условие сброса, чтобы вы могли передать вход управления сбросом объекту, заданному как:

  • false - Объект не сбрасывает состояния задержки.

  • true -- Вы должны передать вход управления сбросом объекту с помощью свойства ResetCondition. Объект сбрасывает состояния задержки на основе значений ResetCondition свойство и управление сбросом, которое вводится в объект.

Событие, которое запускает сброс задержки, заданное как одно из следующего. Объект сбрасывает задержку всякий раз, когда событие сброса обнаруживается во входе сброса.

  • 'Non-zero' -- Запускает операцию сброса на каждой выборке, когда вход сброса не равен нулю.

  • 'Rising edge' -- Запускает операцию сброса, когда вход сброса делает одно из следующего:

    • Повышается с отрицательного значения до положительного значения или нуля.

    • Поднимается с нуля до положительного значения, где подъем не является продолжением подъёма с отрицательного значения до нуля.

  • 'Falling edge' -- Запускает операцию сброса, когда вход сброса делает одно из следующего:

    • Падает от положительного значения до отрицательного значения или нуля.

    • Падает с нуля до отрицательного значения, где падение не является продолжением падения с положительного значения до нуля.

  • 'Either edge' -- Запускает операцию сброса, когда вход сброса является восходящим ребром или падающим ребром.

Зависимости

Это свойство применяется только при установке ResetInputPort свойство к true.

Использование

Описание

пример

delayOut = delay(dataInput) добавляет задержку к входу данных и возвращает задержку выхода. Каждый столбец входа рассматривается как независимый канал.

пример

delayOut = delay(dataInput,resetInput) добавляет задержку к входным данным и выборочно сбрасывает состояние системного объекта на основе значения входов сброса и значения свойства ResetCondition.

Чтобы передать вход сброса, задайте значение свойства ResetInportPort true.

delay = dsp.Delay('ResetInputPort',true);
...
delayOut = delay(dataInput,resetInput);

Входные параметры

расширить все

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

Пример: [1; 2; 3; 4; 5]

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fi
Поддержка комплексного числа: Да

Сбросьте вход, заданный как скаляр.

Пример: 2

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Выходные аргументы

расширить все

Задержанный выход, возвращенный как вектор или матрица. Размер и тип данных выхода совпадают с размером и типом данных входных данных.

Пример: [0; 0; 1; 2; 3]

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fi
Поддержка комплексного числа: Да

Функции объекта

Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

Задержка входа на пять выборок при помощи dsp.Delay Системные object™. По умолчанию начальные условия 0.

Примечание.Если вы используете R2016a или более ранние версии, замените каждый вызов объекта эквивалентным синтаксисом шага. Например, obj (x) становится шагом (obj, x).

Задержка входа на 4 выборки.

delay = dsp.Delay(4);
input = [(1:10)' (11:20)'];
delayOut = delay(input) %#ok
delayOut = 10×2

     0     0
     0     0
     0     0
     0     0
     1    11
     2    12
     3    13
     4    14
     5    15
     6    16

release(delay);

Задайте начальные условия для каждого канала и для каждой выборки. The InitialConditions свойство должно быть матрицей (Length) -by- (NumChannels).

delay.InitialConditionsPerChannel = true;
delay.InitialConditionsPerSample = true;
delay.InitialConditions = [(0.1:0.1:0.4)' (0.5:0.1:0.8)'];
delayOut = delay(input) %#ok
delayOut = 10×2

    0.1000    0.5000
    0.2000    0.6000
    0.3000    0.7000
    0.4000    0.8000
    1.0000   11.0000
    2.0000   12.0000
    3.0000   13.0000
    4.0000   14.0000
    5.0000   15.0000
    6.0000   16.0000

release(delay);

Сбросьте задержку, установив значение события сброса 'Rising edge'. В этом режиме событие сброса происходит, когда вход сброса:

  • Повышается с отрицательного значения до 0.

  • Повышается с отрицательного значения до положительного.

  • Повышает форму 0 до положительного значения, где увеличение не является продолжением от отрицательного значения до 0.

Передайте начальный вход сброса 0.

delay.ResetInputPort = true;
delay.ResetCondition = 'Rising edge';
delayOut = delay(input,0) %#ok
delayOut = 10×2

    0.1000    0.5000
    0.2000    0.6000
    0.3000    0.7000
    0.4000    0.8000
    1.0000   11.0000
    2.0000   12.0000
    3.0000   13.0000
    4.0000   14.0000
    5.0000   15.0000
    6.0000   16.0000

Продолжите запускать задержку. Теперь отсчеты задержки содержат остальную часть входного вектора.

delayOut = delay(input,0) %#ok
delayOut = 10×2

     7    17
     8    18
     9    19
    10    20
     1    11
     2    12
     3    13
     4    14
     5    15
     6    16

Измените вход сброса на 2, указав на восходящее ребро.

delayOut = delay(input,2)
delayOut = 10×2

    0.1000    0.5000
    0.2000    0.6000
    0.3000    0.7000
    0.4000    0.8000
    1.0000   11.0000
    2.0000   12.0000
    3.0000   13.0000
    4.0000   14.0000
    5.0000   15.0000
    6.0000   16.0000

Значения задержки сбрасываются на начальные условия.

Вопросы совместимости

расширить все

Ошибки, начинающиеся в R2018a

Ошибки, начинающиеся в R2018a

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

.
Введенный в R2012a