Взаимная корреляция двух входных параметров
Система dsp.Crosscorrelator
object™ вычисляет взаимную корреляцию двух N-D входные массивы по первому измерению. Вычисление может быть сделано во временном интервале или частотном диапазоне. Можно задать область через свойство Method. Во временном интервале объект применяет операцию свертки к первому входному сигналу, u, с инвертированным временем сопряженным комплексным числом второго входного сигнала, v. Вычислить взаимную корреляцию в частотном диапазоне, объекте:
Берет преобразование Фурье обоих входных сигналов, приводящих к U и V.
Умножает U и V*, где * обозначает сопряженное комплексное число.
Вычисляет обратное преобразование Фурье продукта.
Если вы устанавливаете Method
на 'Fastest'
, объект выбирает область, которая минимизирует количество вычислений. Для получения информации об этих методах вычисления см. Алгоритмы.
Получить взаимную корреляцию в течение двух дискретного времени детерминированные входные параметры:
Создайте объект dsp.Crosscorrelator
и установите его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
xcorr = dsp.Crosscorrelator
xcorr = dsp.Crosscorrelator(Name,Value)
возвращает объект перекрестного коррелятора, xcorr
= dsp.Crosscorrelatorxcorr
, который вычисляет взаимную корреляцию двух входных параметров во временном интервале или частотном диапазоне.
возвращает объект перекрестного коррелятора с каждым заданным набором свойств к заданному значению. Заключите каждое имя свойства в одинарные кавычки.xcorr
= dsp.Crosscorrelator(Name,Value
)
Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и функция release
разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).
Method
— Область для вычислительных корреляций'Time Domain'
(значение по умолчанию) | 'Frequency Domain'
| 'Fastest'
Область, в которой Системный объект вычисляет корреляцию, заданную как одно из следующего:
'Time Domain'
– Вычисляет взаимную корреляцию во временном интервале, который минимизирует использование памяти.
'Frequency Domain'
– Вычисляет взаимную корреляцию в частотном диапазоне. Для получения дополнительной информации см. Алгоритмы.
'Fastest'
– Вычисляет взаимную корреляцию в области, которая минимизирует количество вычислений.
Чтобы перекрестный коррелировать сигналы фиксированной точки, установите это свойство на 'Time Domain'
.
Сигналы фиксированной точки поддерживаются для временного интервала только. Чтобы использовать эти свойства, установите Method
на 'Time Domain'
.
FullPrecisionOverride
— Переопределение полной точности для вычислений с фиксированной точкойtrue
(значение по умолчанию) | false
Отметьте, чтобы использовать правила полной точности для вычислений с фиксированной точкой, заданных как одно из следующего:
tRUE
Объект вычисляет все внутренние типы арифметических и выходных данных, использующие правила полной точности. Эти правила обеспечивают самые точные численные данные фиксированной точки. В этом режиме не применяются другие свойства фиксированной точки. Никакое квантование не происходит в объекте. Биты добавляются, по мере необходимости, чтобы гарантировать, что никакое округление или переполнение не происходят.
ложь
Типами данных с фиксированной точкой управляют посредством отдельных настроек свойства фиксированной точки.
Для получения дополнительной информации смотрите Полную точность для 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'
.
Для версий ранее, чем R2016b, используйте функцию step
, чтобы запустить алгоритм Системного объекта. Аргументы к step
являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.
Например, y = step(obj,x)
и y = obj(x)
выполняют эквивалентные операции.
y = xcorr(u,v)
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.