Взаимная корреляция двух входных параметров
dsp.Crosscorrelator
Система object™ вычисляет взаимную корреляцию двух N-D входные массивы по первому измерению. Расчет может быть сделан во временном интервале или частотном диапазоне. Можно задать область через свойство Method. Во временном интервале объект применяет операцию свертки к первому входному сигналу, u, с инвертированным временем сопряженным комплексным числом второго входного сигнала, v. Вычислить взаимную корреляцию в частотном диапазоне, объекте:
Берет преобразование Фурье обоих входных сигналов, приводящих к U и V.
Умножает U и V*, где * обозначает сопряженное комплексное число.
Вычисляет обратное преобразование Фурье продукта.
Если вы устанавливаете Method
к 'Fastest'
, объект выбирает область, которая минимизирует количество расчетов. Для получения информации об этих методах расчета см. Алгоритмы.
Получить взаимную корреляцию в течение двух дискретного времени детерминированные входные параметры:
Создайте dsp.Crosscorrelator
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?.
возвращает объект перекрестного коррелятора, xcorr
= dsp.Crosscorrelatorxcorr
, это вычисляет взаимную корреляцию двух входных параметров во временном интервале или частотном диапазоне.
возвращает объект перекрестного коррелятора с каждым заданным набором свойств к заданному значению. Заключите каждое имя свойства в одинарные кавычки.xcorr
= dsp.Crosscorrelator(Name,Value
)
Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и release
функция разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.
Method
— Область для вычислительных корреляций'Time Domain'
(значение по умолчанию) | 'Frequency Domain'
| 'Fastest'
Область, в которой Системный объект вычисляет корреляцию в виде одного из следующего:
'Time Domain'
– Вычисляет взаимную корреляцию во временном интервале, который минимизирует использование памяти.
'Frequency Domain'
– Вычисляет взаимную корреляцию в частотном диапазоне. Для получения дополнительной информации см. Алгоритмы.
'Fastest'
– Вычисляет взаимную корреляцию в области, которая минимизирует количество расчетов.
Чтобы перекрестный коррелировать сигналы фиксированной точки, установите это свойство на 'Time Domain'
.
Примечание
Сигналы фиксированной точки поддерживаются для временного интервала только. Чтобы использовать эти свойства, установите 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
установите на true
.
FullPrecisionOverride
установите на false
, OutputDataType
установите на 'Same as accumulator'
, ProductDataType
установите на 'Full precision'
, и AccumulatorDataType
установите на 'Full precision'
При этих условиях объект действует в режиме максимальной точности.
Кроме того, если Method
установлен в любой 'Frequency Domain'
или 'Fastest'
, RoundingMethod
свойство не применяется.
OverflowAction
— Действие переполнения для операций фиксированной точки'Wrap'
(значение по умолчанию) | 'Saturate'
Действие переполнения для операций фиксированной точки в виде одного из следующего:
'Wrap'
– Объект переносит результат своих операций фиксированной точки.
'Saturate'
– Объект насыщает результат своих операций фиксированной точки.
Для получения дополнительной информации о действиях переполнения смотрите режим переполнения для операций фиксированной точки.
Это свойство не отображается и не оказывает влияния на числовые результаты, когда следующим условиям отвечают:
FullPrecisionOverride
установите на true
.
FullPrecisionOverride
установите на false
, OutputDataType
установите на 'Same as accumulator'
, ProductDataType
установите на 'Full precision'
, и AccumulatorDataType
установите на 'Full precision'
При этих условиях объект действует в режиме максимальной точности.
Кроме того, если Method
установлен в любой 'Frequency Domain'
или 'Fastest'
, OverflowAction
свойство не применяется.
ProductDataType
— Тип данных продукта выводится'Full precision'
(значение по умолчанию) | 'Custom'
| 'Same as first input'
Тип данных продукта вывел в этом объекте в виде одного из следующего:
'Full precision'
– Тип выходных данных продукта имеет полную точность.
'Same as first input'
– Объект задает тип выходных данных продукта, чтобы совпасть с тем из первого типа входных данных.
'Custom'
– Тип выходных данных продукта задан как пользовательский числовой тип через свойство CustomProductDataType.
Для получения дополнительной информации о типе выходных данных продукта смотрите Типы данных Умножения и раздел Fixed Point.
Это свойство применяется, когда вы устанавливаете FullPrecisionOverride
к false
.
CustomProductDataType
— Word и дробные длины типа данных продуктаnumerictype([],32,30)
(значение по умолчанию)Word и дробные длины типа данных продукта в виде числового типа автосо знаком с размером слова 32 и дробная длина 30.
Это свойство применяется только, когда вы устанавливаете FullPrecisionOverride
к false
и ProductDataType к 'Custom'
.
AccumulatorDataType
— Тип данных операции накопления'Full precision'
(значение по умолчанию) | 'Same as first input'
| 'Same as product'
| 'Custom'
Тип данных операции накопления в этом объекте в виде одного из следующего:
'Full precision'
– Операция накопления имеет полную точность.
'Same as product'
– Объект задает тип данных аккумулятора, чтобы совпасть с тем из типа выходных данных продукта.
'Same as first input'
– Объект задает тип данных аккумулятора, чтобы совпасть с тем из первого типа входных данных.
'Custom'
– Тип данных аккумулятора задан как пользовательский числовой тип через свойство CustomAccumulatorDataType.
Для получения дополнительной информации о типе данных аккумулятора этот объект использование смотрите раздел Fixed Point.
Это свойство применяется, когда вы устанавливаете FullPrecisionOverride
к false
.
CustomAccumulatorDataType
— Word и дробные длины типа данных аккумулятораnumerictype([],32,30)
(значение по умолчанию)Word и дробные длины типа данных аккумулятора в виде числового типа автосо знаком с размером слова 32 и дробная длина 30.
Это свойство применяется только, когда вы устанавливаете FullPrecisionOverride
к false
и AccumulatorDataType к 'Custom'
.
OutputDataType
— Тип данных объектного выхода'Same as accumulator'
(значение по умолчанию) | 'Same as first input'
| 'Same as product'
| 'Custom'
Тип данных объектного выхода в виде одного из следующего:
'Same as accumulator'
– Тип выходных данных совпадает с типом типа выходных данных аккумулятора.
'Same as first input'
– Тип выходных данных совпадает с типом первого типа входных данных.
'Same as product'
– Тип выходных данных совпадает с типом типа выходных данных продукта.
'Custom'
– Тип выходных данных задан как пользовательский числовой тип через свойство CustomOutputDataType.
Для получения дополнительной информации о выходных данных введите этот объект использование, смотрите раздел Fixed Point.
Это свойство применяется, когда вы устанавливаете FullPrecisionOverride
к false
.
CustomOutputDataType
— Word и дробные длины типа выходных данныхnumerictype([],16,15)
(значение по умолчанию)Word и дробные продолжительности выходных данных вводит в виде числового типа автосо знаком с размером слова 16 и дробной длиной 15.
Это свойство применяется только, когда вы устанавливаете FullPrecisionOverride
к false
и OutputDataType к 'Custom'
.
u
— Входной сигнал First DataВходной сигнал First Data в виде вектора, матрицы или N-D массив. Объект принимает многоканальные и многомерные входные параметры с комплексным знаком или с действительным знаком. Вход может быть сигналом фиксированной точки, когда вы устанавливаете Method
свойство к 'Time Domain'
. Когда один или оба из входных сигналов являются комплексными, выходной сигнал является также комплексным. Оба ввода данных должны иметь совпадающий тип данных.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
Поддержка комплексного числа: Да
v
— Второй сигнал ввода данныхВторой сигнал ввода данных в виде вектора, матрицы или N-D массив. Объект принимает многоканальные и многомерные входные параметры с комплексным знаком или с действительным знаком. Вход может быть сигналом фиксированной точки, когда вы устанавливаете Method
свойство к 'Time Domain'
. Когда один или оба из входных сигналов являются комплексными, выходной сигнал является также комплексным. Оба ввода данных должны иметь совпадающий тип данных.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
Поддержка комплексного числа: Да
y
— Перекрестный коррелированый выходПерекрестный коррелированый выход этих двух входных сигналов.
Когда входными параметрами является N-D массивы, объектные выходные параметры N-D массив. Все размерности выходного массива, за исключением первой размерности, совпадают с входным массивом. Например:
Когда входные параметры u и v имеют размерности Mu-by-N-by-P и Mv-by-N-by-P, соответственно, объектные выходные параметры (Mu + Mv – 1)-by-N-by-P массив.
Когда входные параметры u и v имеют размерности Mu-by-N и Mv-by-N, объектные выходные параметры (Mu + Mv – 1)-by-N матрица.
Если один вход является вектор-столбцом, и другим входом является N-D массив, объект вычисляет взаимную корреляцию вектора с каждым столбцом в N-D массив. Например:
Когда входом u является Mu-by-1 вектор-столбец, и v является Mv-by-N матрица, объектные выходные параметры (Mu + Mv – 1)-by-N матрица.
Точно так же, когда u и v являются вектор-столбцами с длинами Mu и Mv, соответственно, объект выполняет векторную взаимную корреляцию.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
Поддержка комплексного числа: Да
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
Примечание: Если вы используете R2016a или более ранний релиз, заменяете каждый вызов объекта с эквивалентным синтаксисом шага. Например, obj(x)
становится step(obj,x)
.
Вычислите взаимную корреляцию между двумя синусоидальными сигналами с помощью dsp.Crosscorrelator
объект. Выполните расчет во временном интервале, который является настройкой по умолчанию объекта.
xcorr = dsp.Crosscorrelator; t = 0:0.001:1; x1 = sin(2*pi*2*t)+0.05*sin(2*pi*50*t); x2 = sin(2*pi*2*t); y = xcorr(x1,x2); figure plot(t,x1,'b',t,x2,'g') xlabel('Time') ylabel('Signal Amplitude') legend('Input signal 1','Input signal 2')
Постройте коррелированый выход.
figure,
plot(y)
title('Correlated output')
Примечание: Если вы используете R2016a или более ранний релиз, заменяете каждый вызов объекта с эквивалентным синтаксисом шага. Например, obj(x)
становится step(obj,x)
.
Вычислите взаимную корреляцию шумного входного сигнала с его задержанной версией. Пик корреляции, выход происходит в задержке, которая соответствует задержке между сигналами.
Используйте randn
создать белый Гауссов шумный вход, x
. Создайте задержанную версию этого входа, x1
, использование dsp.Delay
объект.
S = rng('default');
x = randn(100,1);
delay = dsp.Delay(10);
x1 = delay(x);
Вычислите взаимную корреляцию между двумя входными параметрами. Постройте корреляцию выход относительно задержки между входными параметрами.
xcorr = dsp.Crosscorrelator; y = xcorr(x1,x); lags = 0:99; stem(lags,y(100:end),'markerfacecolor',[0 0 1]) axis([0 99 -125 125]) xlabel('Lags') title('Cross-Correlation of Input Noise and Delayed Version')
Последовательность корреляции достигает максимума, когда задержка равняется 10, указывая, что правильная задержка между двумя сигналами является 10 выборками.
Взаимная корреляция является мерой подобия двух последовательностей дискретного времени как функция задержки одной относительно другого.
Для двух длин-N детерминированные входные параметры или реализация совместно вероятностных процессов стационарного широкого смысла (WSS), x и y, взаимная корреляция вычисляется с помощью следующего отношения:
где h является задержкой, и * обозначает сопряженное комплексное число. Если входные параметры являются реализацией совместно WSS, стационарные вероятностные процессы, rxy (h) является ненормированной оценкой теоретической взаимной корреляции:
где E {} является оператором ожидания.
Когда вы устанавливаете область расчета на время, алгоритм вычисляет взаимную корреляцию двух сигналов во временном интервале. Входные сигналы могут быть сигналами фиксированной точки в этой области.
Коррелируйте два 2D массива
Когда входные параметры являются двумя 2D массивами, j th столбец выхода, yuv, имеет эти элементы:
где:
*
обозначает сопряженное комплексное число.
u является Mu-by-N входная матрица.
v является Mv-by-N входная матрица.
yu,v (Mu + Mv – 1)-by-N матрица.
Входные параметры u и v являются нулем, когда индексировано вне их допустимых областей значений.
Коррелируйте вектор-столбец с 2D массивом
Когда один вход является вектор-столбцом, и другой вход является 2D массивом, алгоритм независимо перекрестный коррелирует входной вектор с каждым столбцом 2D массива. j th столбец выхода, yu,v, имеет эти элементы:
где:
*
обозначает сопряженное комплексное число.
u является Mu-by-1 вектор-столбец.
v является Mv-by-N матрица.
yuv (Mu + Mv – 1)-by-N матрица.
Входные параметры u и v являются нулем, когда индексировано вне их допустимых областей значений.
Коррелируйте два вектор-столбца
Когда входные параметры являются двумя вектор-столбцами, j th столбец выхода, yuv, имеет эти элементы:
где:
*
обозначает сопряженное комплексное число.
u является Mu-by-1 вектор-столбец.
v является Mv-by-1 вектор-столбец.
yuv (Mu + Mv – 1)-by-1 вектор-столбец.
Входные параметры u и v являются нулем, когда индексировано вне их допустимых областей значений.
Когда вы устанавливаете область расчета на частоту, алгоритм вычисляет взаимную корреляцию в частотном диапазоне.
Вычислить взаимную корреляцию, алгоритм:
Берет преобразование Фурье обоих входных сигналов, U и V.
Умножает U и V*, где * обозначает сопряженное комплексное число.
Вычисляет обратное преобразование Фурье продукта.
В этой области, в зависимости от входной длины алгоритм может потребовать меньшего количества расчетов.
Указания и ограничения по применению:
Смотрите системные объекты в Генерации кода MATLAB (MATLAB Coder).
Схема показывает типам данных dsp.Crosscorrelator
возразите использованию для сигналов фиксированной точки (только временной интервал).
Можно установить продукт выход, аккумулятор и типы выходных данных с помощью соответствующих свойств фиксированной точки объекта.
Когда вход действителен, выход множителя находится в типе выходных данных продукта. Когда вход является комплексным, выход множителя находится в типе данных аккумулятора. Для получения дополнительной информации на комплексном выполняемом умножении, смотрите Типы данных Умножения.
Примечание
Когда один или оба из входных параметров подписанные сигналы фиксированной точки, все внутренние типы данных Object являются подписанной фиксированной точкой. Внутренние типы данных Object являются фиксированной точкой без знака только, когда оба входных параметров являются сигналами фиксированной точки без знака.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.