dsp. Задержка

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

Описание

Примечание

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

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

Задержать вход:

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

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Синтаксис

delay = dsp.Delay
delay = dsp.Delay(Name,Value)
delay = dsp.Delay(len,Name,Value)

Описание

пример

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 Используя Системные объекты (MATLAB).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 'Rising edge' – Инициировал операцию сброса, когда вход сброса выполняет одно из следующих действий:

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

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

  • 'Falling edge' – Инициировал операцию сброса, когда вход сброса выполняет одно из следующих действий:

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

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

  • 'Either edge' – Инициировал операцию сброса, когда вход сброса является возрастающим ребром или падающим ребром.

Зависимости

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

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

Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить алгоритм Системного объекта. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.

Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Синтаксис

delayOut = delay(dataInput)
delayOut = delay(dataInput,resetInput)

Описание

пример

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

пример

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

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

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

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

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

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

Пример 1;; 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);

Задайте начальные условия для каждого канала и для каждой выборки. Свойство InitialConditions должно быть (Длина) матрицей (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