Свертка двух сигналов
dsp.Convolver
Система object™ применяет операцию свертки к первой размерности N-D входной массив, u, с первой размерностью N-D входной массив, v. Можно применить операцию свертки к входным параметрам во временном интервале или частотном диапазоне. Во временном интервале объект применяет операцию свертки к первому входу со вторым входом. В частотном диапазоне объект умножает преобразования Фурье обоих входные параметры и вычисляет обратное преобразование Фурье продукта. В этой области, в зависимости от входной длины объект может потребовать меньшего количества расчетов. Для получения дополнительной информации о двух методах расчета см. Алгоритмы.
Применять операцию свертки к двум входным параметрам:
Создайте dsp.Convolver
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?.
создает Системный объект свертки, cnv
= dsp.Convolvercnv
, применять операцию свертки к двум входным параметрам во временном интервале или частотном диапазоне.
создает Системный объект свертки, cnv
= dsp.Convolver(Name,Value
)cnv
, с каждым заданным набором свойств к заданному значению. Заключите каждое имя свойства в одинарные кавычки.
cnv = dsp.Convolver('Method','Frequency Domain')
Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и release
функция разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.
Method
— Область для вычислительных сверток'Time Domain'
(значение по умолчанию) | 'Frequency Domain'
| 'Fastest'
Область, в которой Системный объект вычисляет свертки в виде одного из следующего:
'Time Domain'
– Вычисляет свертки во временном интервале, который минимизирует использование памяти. Для получения дополнительной информации смотрите Расчет Временного интервала.
'Frequency Domain'
– Вычисляет свертки в частотном диапазоне, который может потребовать меньшего количества расчетов в зависимости от входной длины. Для получения дополнительной информации смотрите Расчет Частотного диапазона.
'Fastest'
– Вычисляет свертки в области, которая минимизирует количество расчетов.
Примечание
Сигналы фиксированной точки поддерживаются для временного интервала только. Чтобы использовать следующие свойства фиксированной точки, установите Method
к 'Time Domain'
.
FullPrecisionOverride
— Переопределение полной точности для вычислений с фиксированной точкойtrue
(значение по умолчанию) | false
Отметьте, чтобы использовать правила полной точности для вычислений с фиксированной точкой в виде одного из следующего:
true
– Объект вычисляет все внутренние типы арифметических и выходных данных, использующие правила полной точности. Эти правила обеспечивают самые точные численные данные фиксированной точки. В этом режиме не применяются другие свойства фиксированной точки. Никакое квантование не происходит в объекте. Биты добавляются, по мере необходимости, чтобы гарантировать, что никакое округление или переполнение не происходят.
false
– Типами данных с фиксированной точкой управляют посредством отдельных настроек свойства фиксированной точки.
Для получения дополнительной информации смотрите Полную точность для Fixed-Point System Objects and Set System Object Fixed-Point Properties.
RoundingMethod
— Округление метода'Floor'
(значение по умолчанию) | 'Ceiling'
| 'Convergent'
| 'Nearest'
| 'Round'
| 'Simplest'
| 'Zero'
Выберите округляющийся режим для операций фиксированной точки.
Это свойство применяется, когда вы устанавливаете FullprecisionOverride
свойство к false
и по крайней мере один из ProductDataType
, AccumulatorDataType
, и OutputDataType
свойства к любой опции кроме 'Full precision'
.
OverflowAction
— Действие переполнения'Wrap'
(значение по умолчанию) | 'Saturate'
Действие переполнения для операций фиксированной точки в виде одного из следующего:
'Wrap'
– Объект переносит результат своих операций фиксированной точки.
'Saturate'
– Объект насыщает результат своих операций фиксированной точки.
Для получения дополнительной информации о действиях переполнения смотрите режим переполнения для операций фиксированной точки.
Это свойство применяется, когда вы устанавливаете FullprecisionOverride
свойство к false
и по крайней мере один из ProductDataType
, AccumulatorDataType
, и OutputDataType
свойства к любой опции кроме 'Full precision'
.
ProductDataType
— Тип выходных данных продукта'Full precision'
(значение по умолчанию) | 'Custom'
| 'Same as first input'
Тип данных выхода операции продукта в dsp.Convolver
объект в виде одного из следующего:
'Full precision'
– Объект вычисляет тип выходных данных продукта, использующий правила полной точности. Эти правила обеспечивают самые точные численные данные фиксированной точки. Никакое квантование не происходит. Биты добавляются, по мере необходимости, чтобы гарантировать, что никакое округление или переполнение не происходят.
'Custom'
– Тип выходных данных продукта задан как пользовательский числовой тип через CustomProductDataType
свойство. Метод округления и действие переполнения заданы через RoundingMethod
и OverflowAction
свойства.
'Same as first input'
– Объект задает тип выходных данных продукта, чтобы совпасть с первым типом входных данных.
Для получения дополнительной информации о типе выходных данных продукта смотрите раздел Fixed Point.
CustomProductDataType
— Слово продукта и дробные длиныnumerictype([],32,30)
(значение по умолчанию)Выходные данные продукта вводят в виде числового типа автосо знаком с размером слова 32 и дробной длиной 30.
Это свойство применяется только, когда вы устанавливаете ProductDataType
к 'Custom'
.
AccumulatorDataType
— Тип данных аккумулятора'Full precision'
(значение по умолчанию) | 'Custom'
| 'Same as first input'
| 'Same as product'
Тип данных выхода операции накопления в dsp.Convolver
объект в виде одного из следующего:
'Full precision'
– Объект вычисляет тип данных аккумулятора, использующий правила полной точности. Эти правила обеспечивают самые точные численные данные фиксированной точки. Никакое квантование не происходит. Биты добавляются, по мере необходимости, чтобы гарантировать, что никакое округление или переполнение не происходят.
'Custom'
– Тип данных аккумулятора задан как пользовательский числовой тип через CustomAccumulatorDataType
свойство. Метод округления и действие переполнения заданы через RoundingMethod
и OverflowAction
свойства.
'Same as first input'
– Объект задает тип данных аккумулятора, чтобы совпасть с первым типом входных данных.
'Same as product'
– Объект задает тип данных аккумулятора, чтобы совпасть с типом данных продукта.
Для получения дополнительной информации о типе данных аккумулятора смотрите раздел Fixed Point.
CustomAccumulatorDataType
— Слово аккумулятора и дробные длиныnumerictype([],32,30)
(значение по умолчанию)Тип данных аккумулятора в виде автоматического числового типа со знаком с размером слова 32 и дробной длиной 30.
Это свойство применяется только, когда вы устанавливаете AccumulatorDataType
к 'Custom'
.
OutputDataType
— Тип выходных данных'Same as accumulator'
(значение по умолчанию) | 'Custom'
| 'Same as first input'
| 'Same as product'
Тип данных выхода dsp.Convolver
объект в виде одного из следующего:
'Same as accumulator'
– Объект задает тип выходных данных, чтобы совпасть с типом данных аккумулятора. Для получения дополнительной информации о типе данных аккумулятора смотрите свойство AccumulatorDataType.
'Custom'
– Тип выходных данных задан как пользовательский числовой тип через CustomOutputDataType
свойство. Метод округления и действие переполнения заданы через RoundingMethod
и OverflowAction
свойства.
'Same as first input'
– Объект задает тип выходных данных, чтобы совпасть с первым типом входных данных.
'Same as product'
– Объект задает тип выходных данных, чтобы совпасть с типом данных продукта.
Для получения дополнительной информации о типе выходных данных смотрите раздел Fixed Point.
CustomOutputDataType
— Выведите слово и дробные длиныnumerictype([],16,15)
(значение по умолчанию)Выходные данные вводят в виде числового типа автосо знаком с размером слова 16 и дробной длиной 15.
Это свойство применяется только, когда вы устанавливаете OutputDataType
к 'Custom'
.
input1
— First Data вводитсяВход First Data в виде вектора, матрицы или N-D массив. Если вход является матрицей или массивом, всеми размерностями обоих, которые входные параметры, за исключением первой размерности, должны быть тем же самым.
Пример: единицы (10,3,2)
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fi
Поддержка комплексного числа: Да
input2
— Второй ввод данныхВторой ввод данных в виде вектора, матрицы или N-D массив. Если вход является матрицей или массивом, всеми размерностями обоих, которые входные параметры, за исключением первой размерности, должны быть тем же самым.
Пример: randn (4,3,2)
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fi
Поддержка комплексного числа: Да
cnvOut
— Convolved выходВыход, к которому применяют операцию свертки, двух входных параметров, возвращенных как вектор, матрица или 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)
Примечание: Если вы используете 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)
convolution двух сигналов является интегралом, который измеряет сумму перекрытия одного сигнала, когда это смещено по другому сигналу.
Свертка двух последовательностей дискретного времени, u [n] и v [n], дана следующим уравнением:
Когда вы устанавливаете область расчета на время, алгоритм вычисляет свертку двух входных параметров во временном интервале.
Когда два входных параметров, u и v, имеют размер Mu-by-N и Mv-by-N соответственно, j th столбец свертки, выход дан следующим уравнением:
Входные параметры u и v являются нулем, когда они индексируются вне их допустимых областей значений.
Когда u является Mu-by-1 столбец и v Mv-by-N матрица, выход (Mu +Mv–1)-by-N матрица, j которой th столбец вычисляется с помощью следующего уравнения:
Когда и входные параметры являются вектор-столбцами с длинами Mu и Mv, объект выполняет векторную свертку, данную следующим уравнением:
Выход (M u+Mv–1)-by-1 вектор-столбец.
Когда вы устанавливаете область расчета на частоту, алгоритм вычисляет свертку в частотном диапазоне.
В этой области алгоритм вычисляет последовательность свертки путем взятия преобразования Фурье и входных сигналов, умножения преобразований Фурье и взятия обратного преобразования Фурье продукта. В этой области, в зависимости от входной длины алгоритм может потребовать меньшего количества расчетов.
Указания и ограничения по применению:
Смотрите системные объекты в Генерации кода MATLAB (MATLAB Coder).
Следующая схема показывает типы данных, используемые в dsp.Convolver
Системный объект для сигналов фиксированной точки.
Сигналы фиксированной точки поддерживаются для временного интервала только.
Выход множителя находится в типе выходных данных продукта, когда вход действителен. Когда вход является комплексным, результат умножения находится в типе данных аккумулятора. Для получения дополнительной информации на комплексном выполняемом умножении, смотрите Типы данных Умножения.
Когда один или оба из входных параметров подписанные сигналы фиксированной точки, все внутренние типы данных Object являются подписанной фиксированной точкой. Внутренние типы данных являются фиксированной точкой без знака только, когда оба входных параметров являются сигналами фиксированной точки без знака.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.