dsp. Автокоррелятор

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

Описание

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

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

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

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

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

Создание

Синтаксис

ac = dsp.Autocorrelator
ac = dsp.Autocorrelator(Name,Value)

Описание

пример

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, Floor, Nearest, Round, 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.

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

Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить Систему object™ алгоритм. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.

Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Синтаксис

y = ac(x)

Описание

пример

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
Поддержка комплексного числа: Да

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

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием 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