exponenta event banner

dsp. Задержка

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

Описание

Примечание

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

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

Для задержки ввода:

  1. Создать dsp.Delay и задайте его свойства.

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

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

Создание

Описание

пример

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

пример

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

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

пример

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

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

Свойства

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

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

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

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Единицы задержки, указанные как 'Samples'.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Зависимости

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

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

Описание

пример

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

пример

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

Чтобы передать входные данные сброса, задайте для свойства ResetInputPort значение 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
Поддержка комплексного номера: Да

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

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

release(obj)

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

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

Примеры

свернуть все

Задержка ввода на пять выборок с помощью 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 свойство должно быть матрицей (Length) -by- (NumChannel).

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);

Сбросьте задержку, установив для события reset значение '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