dsp.Delay

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

Описание

Примечание

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

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

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

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

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

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

Создание

Описание

пример

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'.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Зависимости

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

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

Описание

пример

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