Последовательность автокорреляции
Autocorrelator
объект возвращает последовательность автокорреляции в течение дискретного времени, детерминированного входа или оценки последовательности автокорреляции за дискретное время, вероятностный процесс стационарного широкого смысла (WSS) в положительных задержках.
Получить последовательность автокорреляции:
Создайте dsp.Autocorrelator
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
возвращает автокоррелятор, ac
= dsp.Autocorrelatorac
, это вычисляет автокорреляцию по первому измерению N-D массив. По умолчанию автокоррелятор вычисляет автокорреляцию в задержках от нуля до N – 1, где N является длиной входного вектора или размерностью строки входной матрицы. Введение вектора-строки заканчивается подряд значений последовательности автокорреляции нулевой задержки, один для каждого столбца вектора-строки. Автокоррелятор по умолчанию возвращает немасштабированную автокорреляцию и выполняет расчет во временном интервале.
возвращает автокоррелятор, ac
= dsp.Autocorrelator(Name,Value
)ac
, с каждым набором свойств к заданному значению.
Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их и release
функция разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).
MaximumLagSource
— Источник максимальной задержкиAuto
(значение по умолчанию) | Property
Задайте, как определить область значений задержек для автокорреляции как Auto
или Property
. Если значение MaximumLagSource
Auto
, автокоррелятор вычисляет автокорреляцию по всем неотрицательным задержкам в интервале [0, N-1]
, где N является длиной первой размерности входа. В противном случае объект вычисляет автокорреляцию с помощью задержек в области значений [0,
.MaximumLag
]
MaximumLag
— Максимальная положительная задержка
(значение по умолчанию) | 0
| положительное целое числоЗадайте максимальную задержку как целое число, больше, чем или равный 0. MaximumLag
должен быть меньше длины входных данных.
Это свойство применяется только когда MaximumLagSource
свойством является Property
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Scaling
— Масштабирование автокорреляционной функцииNone
(значение по умолчанию) | Biased
| Unbiased
| Unity at zero-lag
Задайте масштабирование, чтобы примениться к выходу как к None
, Biased
, Unbiased
, или Unity at zero-lag
. Установите это свойство на None
сгенерировать автокорреляционную функцию без масштабирования. Эта опция является соответствующей, если вы вычисляете автокорреляцию неслучайного (детерминированного) входа.
Biased
опция масштабирует автокорреляцию 1/N, где N является длиной входных данных. Масштабирование 1/N дает к смещенному, конечно-демонстрационному приближению теоретической автокорреляции вероятностного процесса WSS. Несмотря на смещение, масштабирующееся 1/N, имеет желательное свойство, что демонстрационная матрица автокорреляции неотрицательная определенный, свойство, находившееся в собственности теоретическими матрицами автокорреляции всего широкого смысла стационарные вероятностные процессы. Преобразование Фурье смещенной оценки автокорреляции является периодограммой, широко используемой оценкой степени спектральная плотность процесса WSS.
Unbiased
опция масштабирует оценку автокорреляции 1/N – 1. Масштабирование N – 1 производит объективную оценку теоретической автокорреляции. Однако с помощью несмещенной опции, можно получить оценку автокорреляционной функции, которой не удается иметь неотрицательное определенное свойство.
Используйте Unity at zero-lag
опция, чтобы нормировать оценку автокорреляции как тождественно один в нуле задержки. Значением по умолчанию является None
.
Method
— Область для вычислительных автокорреляцийTime Domain
(значение по умолчанию) | Frequency Domain
Задайте область для вычислительных автокорреляций как Time Domain
или Frequency Domain
. Необходимо установить это свойство на Time Domain
для сигналов фиксированной точки.
FullPrecisionOverride
— Переопределение полной точности для вычислений с фиксированной точкойtrue
(значение по умолчанию) | false
Задайте, использовать ли правила полной точности. Если вы устанавливаете FullPrecisionOverride
к true
, который является значением по умолчанию, объект вычисляет все внутренние типы арифметических и выходных данных, использующие правила полной точности. Эти правила обеспечивают самые точные численные данные фиксированной точки. Это также выключает отображение других свойств фиксированной точки, потому что они не применяются индивидуально. Эти правила гарантируют, что никакое квантование не происходит в объекте. Биты добавляются, по мере необходимости, чтобы гарантировать, что никакое округление или переполнение не происходят. Если вы устанавливаете FullPrecisionOverride
к false
, типами данных с фиксированной точкой управляют посредством отдельных настроек свойства фиксированной точки. Для получения дополнительной информации смотрите Полную точность для Системных объектов Фиксированной точки.
RoundingMethod
— Округление метода для операций фиксированной точкиFloor
(значение по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
Задайте метод округления как Ceiling
, Convergent
пол
самый близкий
вокруг
, Simplest
, или Zero
.
Это свойство применяется только, когда вы устанавливаете Method
свойство к Time Domain
и объект не находится в режиме максимальной точности.
OverflowAction
— Действие переполнения для операций фиксированной точкиWrap
(значение по умолчанию) | Saturate
Задайте действие переполнения как Wrap
или Saturate
.
Это свойство применяется только, когда вы устанавливаете Method
свойство к Time Domain
и объект не находится в режиме максимальной точности.
ProductDataType
— Слово продукта и дробные длиныFull precision
(значение по умолчанию) | Same as input
| Custom
Задайте тип данных с фиксированной точкой продукта как один из Full precision
, Same as input
, или Custom
.
Это свойство применяется только, когда вы устанавливаете Method
свойство к Time Domain
.
CustomProductDataType
— Слово продукта и дробные длиныnumerictype([],32,30)
(значение по умолчанию) | numerictypeЗадайте фиксированную точку продукта как масштабированный numerictype
объект с Signedness
из Auto
.
Это свойство применяется только, когда вы устанавливаете Method
свойство к Time Domain
и ProductDataType
свойство к Custom
.
AccumulatorDataType
— Слово аккумулятора и дробные длиныFull precision
(значение по умолчанию) | Same as product
| Same as input
| Custom
Задайте тип данных с фиксированной точкой аккумулятора как один из Full precision
, Same as product
, Same as input
, или Custom
.
Это свойство применяется только когда Method
свойством является Time Domain
.
CustomAccumulatorDataType
— Слово аккумулятора и дробные длиныnumerictype([],32,30)
(значение по умолчанию) | numerictypeЗадайте фиксированную точку аккумулятора как масштабированный numerictype
объект с Signedness
из Auto
.
Это свойство применяется только, когда вы устанавливаете Method
свойство к Time Domain
и AccumulatorDataType
свойство к Custom
.
OutputDataType
— Выведите слово и дробные длиныSame as accumulator
(значение по умолчанию) | Same as product
| Same as input
| Custom
Задайте выходной тип данных с фиксированной точкой как Same as accumulator
, Same as product
, Same as input
, или Custom
.
Это свойство применяется только когда Method
свойством является Time Domain
.
CustomOutputDataType
— Выведите слово и дробные длиныnumerictype([],16,15)
(значение по умолчанию) | numerictypeЗадайте тип данных с фиксированной точкой на выходе как масштабированный numerictype
объект с Signedness
из Auto
.
Это свойство применяется только, когда вы устанавливаете Method
свойство к Time Domain
и OutputDataType
свойство к Custom
.
x
— Ввод данныхВвод данных в виде вектора, матрицы или N-D массив. Объект принимает многоканальные и многомерные входные параметры с комплексным знаком или с действительным знаком. Вход может быть сигналом фиксированной точки, когда вы устанавливаете Method
свойство к 'Time Domain'
. Когда входной сигнал является комплексным, выходной сигнал является комплексным.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
Поддержка комплексного числа: Да
y
— Автокоррелируемый выходАвтокоррелированый выход этих двух входных сигналов. Размер, тип данных и сложность выходных соответствий тот из входного сигнала.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
Поддержка комплексного числа: Да
Чтобы использовать объектную функцию, задайте Систему object™ как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
Примечание: Если вы используете R2016a или более ранний релиз, заменяете каждый вызов объекта с эквивалентным step
синтаксис. Например, obj(x)
становится step(obj,x)
.
ac1 = dsp.Autocorrelator;
% x is a column vector
x = (1:100)';
y = ac1(x);
Примечание: Если вы используете R2016a или более ранний релиз, заменяете каждый вызов объекта с эквивалентным step
синтаксис. Например, obj(x)
становится step(obj,x)
.
Вычислите автокорреляцию синусоиды в белом Гауссовом шуме с аппроксимированными 95%-ми верхними и более низкими пределами достоверности.
S = rng('default'); % Sine wave with period N=4 x = 1.4*cos(pi/2*(1:100))'+randn(100,1); MaxLag = 20; ac = dsp.Autocorrelator('MaximumLagSource',... 'Property','MaximumLag',MaxLag,'Scaling','Unity at zero-lag'); SigAutocorr = ac(x); stem(SigAutocorr,'b','markerfacecolor',[0 0 1]); line(1:MaxLag+1,1.96/sqrt(100)*ones(MaxLag+1,1),... 'linestyle','-.','linewidth',2); line(1:MaxLag+1,-1.96/sqrt(100)*ones(MaxLag+1,1),... 'linestyle','-.','linewidth',2); axis([1 20 -1 1]); title('Sine Wave + Noise Autocorrelation'); xlabel('Lag');
Когда этот рисунок показывает, оценка автокорреляции демонстрирует четыре демонстрационных периодических синусоиды с отклонениями вне 95% пределов достоверности белого Гауссова шума каждые две выборки.
Автокорреляция является корреляцией сигнала с собой в различных моментах времени.
Для детерминированной последовательности дискретного времени, x(n), автокорреляция вычисляется с помощью следующего отношения:
где h является задержкой, и * обозначает сопряженное комплексное число. Если вход является длиной, реализация N стационарного вероятностного процесса WSS, rx (h) является оценкой теоретической автокорреляции:
где E {} является оператором ожидания. Unity at zero-lag
нормализация делит каждое значение последовательности на оценку автокорреляции или автокорреляции в нулевой задержке.
Обычно используемая оценка теоретической автокорреляции вероятностного процесса WSS является смещенной оценкой:
Когда вы устанавливаете область расчета на время, алгоритм вычисляет автокорреляцию входного сигнала во временном интервале. Входной сигнал может быть сигналом фиксированной точки в этой области.
Последовательность автокорреляции, y, вычисляется с помощью этого уравнения:
y0,j является элементом нулевой задержки в j th столбец входа.
i является индексом задержки.
j является индексом столбца входных данных.
*
обозначает сопряженное комплексное число.
M является числом элементов в каждом столбце.
l является максимальной положительной задержкой для автокорреляции. Когда вы принимаете решение вычислить автокорреляцию со всеми неотрицательными задержками, l =M–1. В противном случае l является максимальным неотрицательным целочисленным заданным значением задержки.
u является M-by-N входная матрица.
Когда вы устанавливаете область расчета на частоту, алгоритм вычисляет автокорреляцию в частотном диапазоне.
В этой области алгоритм вычисляет последовательность автокорреляции путем взятия преобразования Фурье входного сигнала, умножения преобразования Фурье с его сопряженным комплексным числом и взятия обратного преобразования Фурье продукта. В этой области, в зависимости от входной длины алгоритм может потребовать меньшего количества расчетов.
Указания и ограничения по применению:
Смотрите системные объекты в Генерации кода MATLAB (MATLAB Coder).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.