dsp.Autocorrelator

Последовательность автокорреляции

Описание

Autocorrelator объект возвращает последовательность автокорреляции в течение дискретного времени, детерминированного входа или оценки последовательности автокорреляции за дискретное время, вероятностный процесс стационарного широкого смысла (WSS) в положительных задержках.

Получить последовательность автокорреляции:

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

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

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

Создание

Описание

пример

ac = dsp.Autocorrelator возвращает автокоррелятор, ac, это вычисляет автокорреляцию по первому измерению N-D массив. По умолчанию автокоррелятор вычисляет автокорреляцию в задержках от нуля до N – 1, где N является длиной входного вектора или размерностью строки входной матрицы. Введение вектора-строки заканчивается подряд значений последовательности автокорреляции нулевой задержки, один для каждого столбца вектора-строки. Автокоррелятор по умолчанию возвращает немасштабированную автокорреляцию и выполняет расчет во временном интервале.

пример

ac = dsp.Autocorrelator(Name,Value) возвращает автокоррелятор, ac, с каждым набором свойств к заданному значению.

Свойства

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

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

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

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

Задайте, как определить область значений задержек для автокорреляции как Auto или Property. Если значение MaximumLagSource Auto, автокоррелятор вычисляет автокорреляцию по всем неотрицательным задержкам в интервале [0, N-1], где N является длиной первой размерности входа. В противном случае объект вычисляет автокорреляцию с помощью задержек в области значений [0, MaximumLag].

Задайте максимальную задержку как целое число, больше, чем или равный 0. MaximumLag должен быть меньше длины входных данных.

Зависимости

Это свойство применяется только когда MaximumLagSource свойством является Property.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Задайте масштабирование, чтобы примениться к выходу как к 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.

Задайте область для вычислительных автокорреляций как Time Domain или Frequency Domain. Необходимо установить это свойство на Time Domain для сигналов фиксированной точки.

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

Задайте, использовать ли правила полной точности. Если вы устанавливаете FullPrecisionOverride к true, который является значением по умолчанию, объект вычисляет все внутренние типы арифметических и выходных данных, использующие правила полной точности. Эти правила обеспечивают самые точные численные данные фиксированной точки. Это также выключает отображение других свойств фиксированной точки, потому что они не применяются индивидуально. Эти правила гарантируют, что никакое квантование не происходит в объекте. Биты добавляются, по мере необходимости, чтобы гарантировать, что никакое округление или переполнение не происходят. Если вы устанавливаете FullPrecisionOverride к false, типами данных с фиксированной точкой управляют посредством отдельных настроек свойства фиксированной точки. Для получения дополнительной информации смотрите Полную точность для Системных объектов Фиксированной точки.

Задайте метод округления как Ceiling, Convergentполсамый близкийвокруг, Simplest, или Zero.

Зависимости

Это свойство применяется только, когда вы устанавливаете Method свойство к Time Domain и объект не находится в режиме максимальной точности.

Задайте действие переполнения как Wrap или Saturate.

Зависимости

Это свойство применяется только, когда вы устанавливаете Method свойство к Time Domain и объект не находится в режиме максимальной точности.

Задайте тип данных с фиксированной точкой продукта как один из Full precision, Same as input, или Custom.

Зависимости

Это свойство применяется только, когда вы устанавливаете Method свойство к Time Domain.

Задайте фиксированную точку продукта как масштабированный numerictype объект с Signedness из Auto.

Зависимости

Это свойство применяется только, когда вы устанавливаете Method свойство к Time Domain и ProductDataType свойство к Custom.

Задайте тип данных с фиксированной точкой аккумулятора как один из Full precision, Same as product, Same as input, или Custom.

Зависимости

Это свойство применяется только когда Method свойством является Time Domain.

Задайте фиксированную точку аккумулятора как масштабированный numerictype объект с Signedness из Auto.

Зависимости

Это свойство применяется только, когда вы устанавливаете Method свойство к Time Domain и AccumulatorDataType свойство к Custom.

Задайте выходной тип данных с фиксированной точкой как Same as accumulator, Same as product, Same as input, или Custom.

Зависимости

Это свойство применяется только когда Method свойством является Time Domain.

Задайте тип данных с фиксированной точкой на выходе как масштабированный numerictype объект с Signedness из Auto.

Зависимости

Это свойство применяется только, когда вы устанавливаете Method свойство к Time Domain и OutputDataType свойство к Custom.

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

Синтаксис

Описание

пример

y = ac(x) вычисляет последовательность автокорреляции y для столбцов входа x.

Входные параметры

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

Ввод данных в виде вектора, матрицы или N-D массив. Объект принимает многоканальные и многомерные входные параметры с комплексным знаком или с действительным знаком. Вход может быть сигналом фиксированной точки, когда вы устанавливаете Method свойство к 'Time Domain'. Когда входной сигнал является комплексным, выходной сигнал является комплексным.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
Поддержка комплексного числа: Да

Выходные аргументы

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

Автокоррелированый выход этих двух входных сигналов. Размер, тип данных и сложность выходных соответствий тот из входного сигнала.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
Поддержка комплексного числа: Да

Функции объекта

Чтобы использовать объектную функцию, задайте Систему object™ как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

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

stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Примеры

свернуть все

Примечание: Если вы используете 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% пределов достоверности белого Гауссова шума каждые две выборки.

Больше о

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

Алгоритмы

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

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

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

Объекты

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