dsp. TransferFunctionEstimator

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

Описание

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

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

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

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

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

Создание

Синтаксис

tfe = dsp.TransferFunctionEstimator
tfe = dsp.TransferFunctionEstimator(Name,Value)

Описание

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

пример

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

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (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, оценка когерентности значения в квадрате не вычисляется.

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

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

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

Синтаксис

tfeEst = tfe(x,y)
[tfeEst,cxy] = tfe(x,y)

Описание

пример

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