dsp.TransferFunctionEstimator

Оцените передаточную функцию

Описание

dsp.TransferFunctionEstimator Система object™ вычисляет передаточную функцию системы, с помощью усредненного метода периодограммы валлийцев.

Реализовывать объект оценки передаточной функции:

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

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

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

Создание

Описание

tfe = dsp.TransferFunctionEstimator возвращает объект средства оценки передаточной функции, который вычисляет передаточную функцию действительных или комплексных сигналов. Этот Системный объект использует метод периодограммы и усредненный, модифицированный метод периодограммы валлийцев.

пример

tfe = dsp.TransferFunctionEstimator(Name,Value) возвращает объект средства оценки передаточной функции с каждым заданным набором свойств к заданному значению. Незаданные свойства имеют значения по умолчанию.

Свойства

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

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

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

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

Задайте источник значения длины БПФ как любой 'Auto' или 'Property'. Если вы устанавливаете это свойство на 'Auto', средство оценки передаточной функции устанавливает длину БПФ на размер входного кадра. Если вы устанавливаете это свойство на 'Property', затем задайте количество точек БПФ с помощью FFTLength свойство.

Задайте длину БПФ, что средство оценки передаточной функции используется для расчета спектральных оценок в качестве положительного, целочисленного скаляра.

Зависимости

Это свойство применяется, когда вы устанавливаете FFTLengthSource свойство к 'Property'.

Типы данных: double

Задайте функцию окна для средства оценки передаточной функции как один из 'Rectangular', 'Chebyshev', 'Flat Top', 'Hamming', 'Hann', или 'Kaiser'.

Задайте затухание лепестка стороны окна как действительное, положительная скалярная величина, в децибелах (дБ).

Зависимости

Это свойство применяется, когда вы устанавливаете Window свойство к 'Chebyshev' или 'Kaiser'.

Типы данных: double

Задайте частотный диапазон средства оценки передаточной функции как один из 'twosided', 'onesided', или 'centered'.

Если вы устанавливаете FrequencyRange к 'onesided', средство оценки передаточной функции вычисляет одностороннюю передаточную функцию действительных входных сигналов, x и y. Если длина БПФ, NFFT, является четной, длиной оценки передаточной функции является NFFT/2+1 и вычисляется на интервале [0, SampleRate/2]. Если NFFT является нечетным, длина оценки передаточной функции равна (NFFT+1)/2, и интервалом является [0, SampleRate/2].

Если FrequencyRange установлен в 'twosided', средство оценки передаточной функции вычисляет двухстороннюю передаточную функцию комплексных или действительных входных сигналов, x и y. Длина оценки передаточной функции равна NFFT и вычисляется по [0, SampleRate].

Если вы устанавливаете FrequencyRange к 'centered', средство оценки передаточной функции вычисляет двухстороннюю передаточную функцию в центре комплексных или действительных входных сигналов, x и y. Длина оценки передаточной функции равна NFFT, и это вычисляется по [-SampleRate/2, SampleRate/2] для даже длин и [-SampleRate/2, SampleRate/2] для нечетных длин.

Задайте метод усреднения как 'Running' или 'Exponential'. В рабочем методе усреднения объект вычисляет одинаково взвешенное среднее конкретного количества оценок спектра, заданных SpectralAverages свойство. В экспоненциальном методе объект вычисляет среднее значение по выборкам, взвешенным экспоненциально фактором упущения затухания.

Задайте количество спектральных средних значений как положительное, целочисленный скаляр. Средство оценки передаточной функции вычисляет текущую оценку путем усреднения последних оценок N, где N является количеством спектральных средних значений, заданных в SpectralAverages свойство.

Зависимости

Это свойство применяется, когда вы устанавливаете AveragingMethod к 'Running'.

Типы данных: double

Задайте экспоненциальный фактор упущения взвешивания как скалярное значение, больше, чем нуль и меньшее, чем или равный одному.

Настраиваемый: да

Зависимости

Это свойство применяется, когда вы устанавливаете AveragingMethod к 'Exponential'.

Типы данных: single | double

Задайте true вычислить и вывести величину придали оценке когерентности квадратную форму с помощью усредненного, модифицированного метода периодограммы валлийцев. Оценка когерентности величины в квадрате имеет значения между 0 и 1, которые указывают на соответствие на каждой частоте между двумя входными сигналами. Если вы задаете false, оценка когерентности величины в квадрате не вычисляется.

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

Описание

пример

tfeEst = tfe(x,y) вычисляет оценку передаточной функции, tfeEst, из системы с входом x и выход y использование усредненного метода периодограммы валлийцев.

[tfeEst,cxy] = tfe(x,y) также вычисляет оценку когерентности величины в квадрате, cxy, из системы.

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

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

Вход First Data в виде вектора или матрицы. x и y должен иметь тот же размер и тип данных.

Типы данных: single | double
Поддержка комплексного числа: Да

Второй ввод данных в виде вектора или матрицы. x и y должен иметь тот же размер и тип данных.

Типы данных: single | double
Поддержка комплексного числа: Да

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

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

Оценка передаточной функции системы, для который x и y сигналы ввода и вывода, соответственно.

Оценка, tfeEst, равно pxy./pxx, где pxy взаимная спектральная плотность мощности x и y, и pxx спектральная плотность мощности x.

Оценка передаточной функции имеет тот же размер и тип данных как вход.

Типы данных: single | double
Поддержка комплексного числа: Да

Оценка когерентности величины в квадрате системы, возвращенной как вектор или матрица.

Оценка когерентности, cxy, равно (abs(pxy).^2)./(pxx.*pyy), где pxy взаимная спектральная плотность мощности x и y, pxx спектральная плотность мощности x, и pyy спектральная плотность мощности y. Для когерентности, которая будет оценена, OutputCoherence свойство должно быть установлено в true.

Оценка когерентности имеет тот же размер и тип данных как вход.

Типы данных: single | double

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

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

release(obj)

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

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

Примеры

свернуть все

Примечание: Если вы используете R2016a или более ранний релиз, заменяете каждый вызов объекта с эквивалентным step синтаксис. Например, obj(x) становится step(obj,x).

Сгенерируйте синусоиду. Используйте dsp.TransferFunctionEstimator Система object™, чтобы оценить системную передаточную функцию и dsp.ArrayPlot Системный объект, чтобы отобразить его.

sin = dsp.SineWave('Frequency',100,'SampleRate',1000);
sin.SamplesPerFrame = 1000;
tfe = dsp.TransferFunctionEstimator('FrequencyRange','centered');
aplot = dsp.ArrayPlot('PlotType','Line','XOffset',-500,'YLimits',...
        [-120 5],'YLabel','Frequency Response (dB)',...
        'XLabel','Frequency (Hz)',...
        'Title','System Transfer Function');

Создайте КИХ-Системный объект Фильтра порядка 64 и (нормированную) частоту среза 1/4. Добавьте случайный шум в синусоиду. Продвиньтесь через Системные объекты, чтобы получить потоки данных и построить журнал величины передаточной функции.

firFilt = dsp.FIRFilter('Numerator',fir1(64,1/4));
for ii = 1:100
x = sin() + 0.05*randn(1000,1);
y = firFilt(x);
Txy = tfe(x,y);
aplot(20*log10(abs(Txy)))
end

Алгоритмы

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

Ссылки

[1] Hayes, Монсон Х. Статистическая цифровая обработка сигналов и моделирование. Хобокен, NJ: John Wiley & Sons, 1996

[2] Кей, Стивен М. Современная спектральная оценка: теория и приложение. Englewood Cliffs, NJ: Prentice Hall, 1999

[3] Stoica, Петр и Рэндольф Л. Моисей. Спектральный анализ сигналов. Englewood Cliffs, NJ: Prentice Hall, 2005

[4] Валлийский язык, P. D. ''Использование быстрых преобразований Фурье для оценки спектров мощности: метод на основе усреднения во времени по коротким модифицированным периодограммам'', Транзакции IEEE на Аудио и Электроакустике, Издании 15, стр 70–73, 1967.

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

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

Объекты

Введенный в R2013b