dsp. Конвольвер

Свертка двух сигналов

Описание

Система dsp.Convolver object™ применяет операцию свертки к первой размерности N-D входной массив, u, с первой размерностью N-D входной массив, v. Можно применить операцию свертки к входным параметрам во временном интервале или частотном диапазоне. Во временном интервале объект применяет операцию свертки к первому входу со вторым входом. В частотном диапазоне объект умножает преобразования Фурье обоих входные параметры и вычисляет обратное преобразование Фурье продукта. В этой области, в зависимости от входной длины объект может потребовать меньшего количества вычислений. Для получения дополнительной информации о двух методах вычисления см. Алгоритмы.

Применять операцию свертки к двум входным параметрам:

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

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

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

Создание

Синтаксис

cnv = dsp.Convolver
cnv = dsp.Convolver(Name,Value)

Описание

пример

cnv = dsp.Convolver создает Системный объект свертки, cnv, чтобы применить операцию свертки к двум входным параметрам во временном интервале или частотном диапазоне.

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

Пример: cnv = dsp. Конвольвер ('Метод', 'Частотный диапазон')

Свойства

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

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

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

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

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

  • 'Time Domain' – Вычисляет свертки во временном интервале, который минимизирует использование памяти. Для получения дополнительной информации смотрите Вычисление Временного интервала.

  • 'Frequency Domain' – Вычисляет свертки в частотном диапазоне, который может потребовать меньшего количества вычислений в зависимости от входной длины. Для получения дополнительной информации смотрите Вычисление Частотного диапазона.

  • 'Fastest' – Вычисляет свертки в области, которая минимизирует количество вычислений.

Примечание

Сигналы фиксированной точки поддерживаются для временного интервала только. Чтобы использовать следующие свойства фиксированной точки, установите Method на 'Time Domain'.

Свойства фиксированной точки

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

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

  • ложь Типами данных с фиксированной точкой управляют посредством отдельных настроек свойства фиксированной точки.

Для получения дополнительной информации смотрите Полную точность для Fixed-Point System Objects and Set System Object Fixed-Point Properties.

Выберите округляющийся режим для операций фиксированной точки.

Зависимости

Это свойство применяется, когда вы устанавливаете свойство FullprecisionOverride на false и по крайней мере один из ProductDataType, AccumulatorDataType и свойств OutputDataType к любой опции кроме 'Full precision'.

Действие переполнения для операций фиксированной точки, заданных как одно из следующего:

  • 'Wrap' – Объект переносит результат своих операций фиксированной точки.

  • 'Saturate' – Объект насыщает результат своих операций фиксированной точки.

Для получения дополнительной информации на действиях переполнения, смотрите режим переполнения для операций фиксированной точки.

Зависимости

Это свойство применяется, когда вы устанавливаете свойство FullprecisionOverride на false и по крайней мере один из ProductDataType, AccumulatorDataType и свойств OutputDataType к любой опции кроме 'Full precision'.

Тип данных вывода операции продукта в объекте dsp.Convolver, заданном как одно из следующего:

  • 'Full precision' – Объект вычисляет тип выходных данных продукта, использующий правила полной точности. Эти правила обеспечивают самые точные численные данные фиксированной точки. Никакое квантование не происходит. Биты добавляются, по мере необходимости, чтобы гарантировать, что никакое округление или переполнение не происходят.

  • 'Custom' – Тип выходных данных продукта задан как пользовательский числовой тип через свойство CustomProductDataType. Метод округления и действие переполнения заданы через свойства RoundingMethod и OverflowAction.

  • 'Same as first input' – Объект задает тип выходных данных продукта, чтобы совпасть с первым типом входных данных.

Для получения дополнительной информации о типе выходных данных продукта смотрите раздел Fixed Point.

Тип выходных данных продукта, заданный как числовой тип автосо знаком с размером слова 32 и дробной длиной 30.

Зависимости

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

Тип данных вывода операции накопления в объекте dsp.Convolver, заданном как одно из следующего:

  • 'Full precision' – Объект вычисляет тип данных аккумулятора, использующий правила полной точности. Эти правила обеспечивают самые точные численные данные фиксированной точки. Никакое квантование не происходит. Биты добавляются, по мере необходимости, чтобы гарантировать, что никакое округление или переполнение не происходят.

  • 'Custom' – Тип данных аккумулятора задан как пользовательский числовой тип через свойство CustomAccumulatorDataType. Метод округления и действие переполнения заданы через RoundingMethod и свойства OverflowAction.

  • 'Same as first input' – Объект задает тип данных аккумулятора, чтобы совпасть с первым типом входных данных.

  • 'Same as product' – Объект задает тип данных аккумулятора, чтобы совпасть с типом данных продукта.

Для получения дополнительной информации о типе данных аккумулятора смотрите раздел Fixed Point.

Тип данных аккумулятора, заданный как автоматический числовой тип со знаком с размером слова 32 и дробной длиной 30.

Зависимости

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

Тип данных вывода объекта dsp.Convolver, заданного как одно из следующего:

  • 'Same as accumulator' – Объект задает тип выходных данных, чтобы совпасть с типом данных аккумулятора. Для получения дополнительной информации на типе данных аккумулятора, смотрите свойство AccumulatorDataType.

  • 'Custom' – Тип выходных данных задан как пользовательский числовой тип через свойство CustomOutputDataType. Метод округления и действие переполнения заданы через RoundingMethod и свойства OverflowAction.

  • 'Same as first input' – Объект задает тип выходных данных, чтобы совпасть с первым типом входных данных.

  • 'Same as product' – Объект задает тип выходных данных, чтобы совпасть с типом данных продукта.

Для получения дополнительной информации о типе выходных данных смотрите раздел Fixed Point.

Тип выходных данных, заданный как числовой тип автосо знаком с размером слова 16 и дробной длиной 15.

Зависимости

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

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

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

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

Синтаксис

cnvOut = cnv(input1, input2)

Описание

пример

cnvOut = cnv(input1, input2) применяет операцию свертки к двум входным параметрам, input1 и input2, по их первым измерениям, и возвращает выходной параметр, к которому применяют операцию свертки, cnvOut.

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

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

First Data вводят, заданный как вектор, матрица или N-D массив. Если вход является матрицей или массивом, всеми размерностями обоих, которые входные параметры, за исключением первой размерности, должны быть тем же самым.

Пример: единицы (10,3,2)

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

Второй ввод данных, заданный как вектор, матрица или N-D массив. Если вход является матрицей или массивом, всеми размерностями обоих, которые входные параметры, за исключением первой размерности, должны быть тем же самым.

Пример: randn (4,3,2)

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

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

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

Вывод, к которому применяют операцию свертки, двух входных параметров, возвращенных как вектор, матрица или N-D массив.

  • Когда обоими входными параметрами является N-D массивы, размер их первой размерности может отличаться, но размер всех других размерностей должен быть равным. Например, когда u является Mu-by-N-by-P массив, и v является Mv-by-N-by-P массив, вывод (Mu+Mv –1)-by-N-by-P массив.

  • Когда один вход является вектор-столбцом, и другой N-D массив, объект независимо применяет операцию свертки к вектору с первой размерностью N-D входной массив. Например, когда u является Mu-by-1 вектор-столбец, и v является Mv-by-N матрица, вывод (Mu+Mv –1)-by-N матрица.

  • Когда u и v являются вектор-столбцами с длинами Mu и Mv, объект выполняет векторную свертку. Вывод (Mu+Mv –1)-by-1 вектор-столбец.

Когда оба, входные параметры действительны, вывод, действительны. Когда одни или оба входных параметров являются комплексными, вывод является комплексным.

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

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

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

release(obj)

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

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

Примеры

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

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

Создайте объект dsp.Convolver. Примените операцию свертки к двум прямоугольным последовательностям.

conv = dsp.Convolver;
x = ones(10,1);
y = conv(x,x);

Постройте получившуюся последовательность, к которой применяют операцию свертки, которая является треугольной последовательностью.

plot(y)

Больше о

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

Алгоритмы

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

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

Смотрите также

Системные объекты

Блоки

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