dsp.Convolver

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

Описание

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

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

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

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

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

Создание

Описание

пример

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

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

Пример: cnv = dsp.Convolver('Method','Frequency Domain')

Свойства

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

Для получения дополнительной информации смотрите Полную точность для 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'.

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

Описание

пример

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
conv = 
  dsp.Convolver with properties:

    Method: 'Time Domain'

  Show all properties

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

x = ones(10,1);
y = conv(x,x);

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

plot(y)

Больше о

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

Алгоритмы

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

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

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

Объекты

Блоки

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