Модальные параметры от функций частотной характеристики
[___] = modalfit( оценивает модальные параметры идентифицированной модели sys,f,mnum,Name,Value)sys. Используйте команды оценки, такие как ssest (System Identification Toolbox) или tfest (System Identification Toolbox) для создания sys начиная с измеренной функции частотной характеристики или с входных и выходных сигналов во временной области. Этот синтаксис позволяет использовать 'DriveIndex', 'FreqRange', и 'PhysFreq' Аргументы пары "имя-значение". Обычно это требует меньше данных, чем синтаксисы, которые используют непараметрические методы. Для использования этого синтаксиса необходимо иметь лицензию System Identification Toolbox™.
Оцените функцию частотной характеристики для простой системы с одним входом/одним выходом и сравните ее с определением.
Одномерное дискретное время система состоит из модуля массы, , прикрепленный к стенке пружиной с упругой константой . Датчик дискретизирует перемещение массы при Гц. Демпфер препятствует движению массы, прикладывая к ней силу, пропорциональную скорости, с постоянной демпфирования .

Сгенерируйте 3000 временных выборок. Определите интервал дискретизации .
Fs = 1; dt = 1/Fs; N = 3000; t = dt*(0:N-1); b = 0.01;
Система может быть описана моделью пространства состояний
где - вектор состояния, и являются соответственно перемещением и скоростью массы, является движущей силой, и - измеренный выход. Матрицы пространства состояний
является единичные, и матрицы пространства состояний в непрерывном времени
Ac = [0 1;-1 -b]; A = expm(Ac*dt); Bc = [0;1]; B = Ac\(A-eye(2))*Bc; C = [1 0]; D = 0;
Масса управляется случайным входом в течение первых 2000 секунд, а затем уходит, чтобы вернуться к восстановлению. Используйте модель пространства состояний, чтобы вычислить временную эволюцию системы, начиная с полностью нулевого начального состояния. Постройте график смещения массы как функции времени.
rng default u = randn(1,N)/2; u(2001:end) = 0; y = 0; x = [0;0]; for k = 1:N y(k) = C*x + D*u(k); x = A*x + B*u(k); end plot(t,y)

Оцените модальную функцию частотной характеристики системы. Используйте половину окна Ханна, пока измеренные сигналы. Задайте, что выходом является перемещение массы.
wind = hann(N/2); [frf,f] = modalfrf(u',y',Fs,wind,'Sensor','dis');
Функция частотной характеристики системы дискретного времени может быть выражена как Z-преобразование передаточной функции временной области системы, оцененное по модулю кругу. Сравните modalfrf оценка с определением.
[b,a] = ss2tf(A,B,C,D); nfs = 2048; fz = 0:1/nfs:1/2-1/nfs; z = exp(2j*pi*fz); ztf = polyval(b,z)./polyval(a,z); plot(f,20*log10(abs(frf))) hold on plot(fz*Fs,20*log10(abs(ztf))) hold off grid ylim([-60 40])

Оцените естественную частоту и коэффициент затухания для режима вибрации.
[fn,dr] = modalfit(frf,f,Fs,1,'FitMethod','PP')
fn = 0.1593
dr = 0.0043
Сравните естественную частоту с , которое является теоретическим значением для незаполненной системы.
theo = 1/(2*pi)
theo = 0.1592
Вычислите модальные параметры модуля Space Station, начиная с его массива функции частотной характеристики (FRF).
Загрузите структуру, содержащую массив FRF с тремя входами/тремя выходами. Отбор проб системы производится при частоте 320 Гц.
load modaldata SpaceStationFRF frf = SpaceStationFRF.FRF; f = SpaceStationFRF.f; fs = SpaceStationFRF.Fs;
Извлеките модальные параметры самых низких 24 режимов с помощью метода рациональной функции методом наименьших квадратов.
[fn,dr,ms,ofrf] = modalfit(frf,f,fs,24,'FitMethod','lsrf');
Сравните восстановленный массив FRF с измеренной.
for ij = 1:3 for ji = 1:3 subplot(3,3,3*(ij-1)+ji) loglog(f,abs(frf(:,ji,ij))) hold on loglog(f,abs(ofrf(:,ji,ij))) hold off axis tight title(sprintf('In%d -> Out%d',ij,ji)) if ij==3 xlabel('Frequency (Hz)') end end end

Оцените функцию частотной характеристики и модальные параметры простой системы с несколькими входами/несколькими выходами.
Идеальная одномерная колебательная система состоит из двух масс, и , ограниченный между двумя стенками. Модули такие, что и . Каждая масса присоединена к ближайшей стенке пружиной с упругой константой . Идентичная пружина соединяет две массы. Три демпфера препятствуют движению масс, прикладывая к ним силы, пропорциональные скорости с постоянной демпфирования . Выборка датчиков и , смещения масс, при Гц.

Сгенерируйте 30 000 временных выборок, эквивалентных 600 секундам. Определите интервал дискретизации .
Fs = 50; dt = 1/Fs; N = 30000; t = dt*(0:N-1);
Система может быть описана моделью пространства состояний
где - вектор состояния, и являются соответственно местоположением и скоростью th-я масса, является вектором входа движущих сил, и - вектор выхода. Матрицы пространства состояний
является единичные, и матрицы пространства состояний в непрерывном времени
Набор , , и .
k = 400; b = 0.1; m = 1/10; Ac = [0 1 0 0;-2*k -2*b k b;0 0 0 1;k/m b/m -2*k/m -2*b/m]; A = expm(Ac*dt); Bc = [0 0;1 0;0 0;0 1/m]; B = Ac\(A-eye(4))*Bc; C = [1 0 0 0;0 0 1 0]; D = zeros(2);
Массы управляются случайным входом на протяжении всего измерения. Используйте модель пространства состояний, чтобы вычислить временную эволюцию системы, начиная с полностью нулевого начального состояния.
rng default u = randn(2,N); y = [0;0]; x = [0;0;0;0]; for kk = 1:N y(:,kk) = C*x + D*u(:,kk); x = A*x + B*u(:,kk); end
Используйте входные и выходные данные, чтобы оценить передаточную функцию системы как функцию от частоты. Используйте 15000-образцевое окно Ханна с 9000 выборками перекрытия между смежными сегментами. Задайте, что измеренные выходы являются перемещениями.
wind = hann(15000); nove = 9000; [FRF,f] = modalfrf(u',y',Fs,wind,nove,'Sensor','dis');
Вычислите теоретическую передаточную функцию как Z-преобразование передаточной функции во временной области, оцененное в модуль круге.
nfs = 2048; fz = 0:1/nfs:1/2-1/nfs; z = exp(2j*pi*fz); [b1,a1] = ss2tf(A,B,C,D,1); [b2,a2] = ss2tf(A,B,C,D,2); frf(1,:,1) = polyval(b1(1,:),z)./polyval(a1,z); frf(1,:,2) = polyval(b1(2,:),z)./polyval(a1,z); frf(2,:,1) = polyval(b2(1,:),z)./polyval(a2,z); frf(2,:,2) = polyval(b2(2,:),z)./polyval(a2,z);
Постройте графики оценок и наложите теоретические предсказания.
for jk = 1:2 for kj = 1:2 subplot(2,2,2*(jk-1)+kj) plot(f,20*log10(abs(FRF(:,jk,kj)))) hold on plot(fz*Fs,20*log10(abs(frf(jk,:,kj)))) hold off axis([0 Fs/2 -100 0]) title(sprintf('Input %d, Output %d',jk,kj)) end end

Постройте график оценок с помощью синтаксиса modalfrf без выходных аргументов.
figure modalfrf(u',y',Fs,wind,nove,'Sensor','dis')

Оцените естественные частоты, коэффициенты затухания и формы режима системы. Используйте метод пикового комплектования для вычисления.
[fn,dr,ms] = modalfit(FRF,f,Fs,2,'FitMethod','pp'); fn
fn =
fn(:,:,1) =
3.8466 3.8466
3.8495 3.8495
fn(:,:,2) =
3.8492 3.8490
3.8552 14.4684
Сравните естественные частоты с теоретическими предсказаниями для незаполненной системы.
undamped = sqrt(eig([2*k -k;-k/m 2*k/m]))/2/pi
undamped = 2×1
3.8470
14.4259
Вычислите естественные частоты, коэффициенты затухания и формы режима для системы с двумя входами/тремя выходами, возбуждаемой несколькими всплесками случайного шума. Каждый пакет длится 1 секунду, и есть 2 секунды между концом каждого пакета и началом следующего. Данные отбираются с частотой дискретизации 4 кГц.
Загрузите файл данных. Постройте график входных сигналов и выхода сигналов.
load modaldata subplot(2,1,1) plot(Xburst) title('Input Signals') subplot(2,1,2) plot(Yburst) title('Output Signals')

Вычислите функции частотной характеристики. Задайте прямоугольное окно с длиной, равной периоду пакета, и без перекрытия между смежными сегментами.
burstLen = 12000; [frf,f] = modalfrf(Xburst,Yburst,fs,burstLen);
Визуализируйте диаграмму стабилизации и верните стабильные естественные частоты. Задайте максимальный порядок модели 30 режимов.
figure
modalsd(frf,f,fs,'MaxModes',30);
Изменение масштаба графика. Усредненная функция отклика имеет максимумы на 373 Гц, 852 Гц и 1371 Гц, которые соответствуют физическим частотам системы. Сохраните максимумы в переменную.
phfr = [373 852 1371];
Вычислите модальные параметры с помощью алгоритма комплексной экпоненты методом наименьших квадратов (LSCE). Задайте порядок модели из 6 режимов и задайте физические частоты для 3 режимов, определенных на диаграмме стабилизации. Функция генерирует один набор собственных частот и коэффициентов затухания для каждой входной ссылки.
[fn,dr,ms,ofrf] = modalfit(frf,f,fs,6,'PhysFreq',phfr);Постройте график восстановленных функций частотной характеристики и сравните их с исходными таковыми.
for k = 1:2 for m = 1:3 subplot(2,3,m+3*(k-1)) plot(f/1000,10*log10(abs(frf(:,m,k)))) hold on plot(f/1000,10*log10(abs(ofrf(:,m,k)))) hold off text(1,-50,[['Output ';' Input '] num2str([m k]')]) ylim([-100 -40]) end end subplot(2,3,2) title('Frequency-Response Functions')

frf - Функции частотной характеристикиФункции частотной характеристики, заданные как вектор, матрица или трехмерный массив. frf имеет размер p -by m -by - n, где p - количество интервалов частоты, m - количество ответных сигналов, а n - количество сигналов возбуждения, используемых для оценки передаточной функции.
Пример: tfestimate(randn(1,1000),sin(2*pi*(1:1000)/4)+randn(1,1000)/10) аппроксимирует частотную характеристику генератора.
Типы данных: single | double
Поддержка комплексного числа: Да
f - ЧастотыЧастоты, заданные как вектор. Количество элементов f должно равняться количеству строк frf.
Типы данных: single | double
fs - Частота дискретизации данных измеренийСкорость дискретизации данных измерений, заданная как положительная скалярная величина, выраженная в герцах.
Типы данных: single | double
mnum - Количество режимовКоличество режимов, заданное в виде положительного целого числа.
Типы данных: single | double
sys - Идентифицированная системаИдентифицированная система, заданная как модель с идентифицированными параметрами. Используйте команды оценки, такие как ssest (System Identification Toolbox), n4sid (System Identification Toolbox), или tfest (System Identification Toolbox) для создания sys начиная с измеренной функции частотной характеристики или с входных и выходных сигналов во временной области. Смотрите Модальный анализ идентифицированных моделей для примера. Для использования этого входного параметра необходимо иметь лицензию System Identification Toolbox.
Пример: idss([0.5418 0.8373;-0.8373 0.5334],[0.4852;0.8373],[1 0],0,[0;0],[0;0],1) генерирует идентифицированную модель пространства состояний, соответствующий модуль массе, присоединенной к стенке пружиной модуля упругой константы и демпфером с постоянной 0,01. Перемещение массы отбирают с частотой дискретизации 1 Гц.
Пример: idtf([0 0.4582 0.4566],[1 -1.0752 0.99],1) генерирует идентифицированную модель передаточной функции, соответствующий модуль массе, присоединенной к стенке, пружиной модуля упругой константы и демпфером с постоянной 0,01. Перемещение массы отбирают с частотой дискретизации 1 Гц.
Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
'FitMethod','pp','FreqRange',[0 500] использует метод пикового захвата для выполнения подгонки и ограничивает частотную область значений от 0 до 500 Гц.'Feedthrough' - Наличие прохода в расчетной передаточной функцииfalse (по умолчанию) | trueНаличие сквозного соединения в предполагаемой передаточной функции, заданной как разделенная разделенными запятой парами, состоящая из 'Feedthrough' и логическое значение. Этот аргумент доступен только в том случае, если 'FitMethod' задается как 'lsrf'.
Типы данных: logical
'FitMethod' - Алгоритм аппроксимации'lsce' (по умолчанию) | 'lsrf' | 'pp'Алгоритм аппроксимации, заданный как разделенная разделенными запятой парами, состоящая из 'FitMethod' и 'lsce', 'lsrf', или 'pp'.
'lsce' - Комплексный экспоненциальный метод методом наименьших квадратов. Если вы задаете 'lsce', затем fn - вектор с mnum элементы, независимо от размера frf.
'lsrf' - метод оценки рациональных функций методом наименьших квадратов. Если вы задаете 'lsrf', затем fn - вектор с mnum элементы, независимо от размера frf. Метод описан в [3]. Для получения дополнительной информации смотрите Оценку передаточной функции в непрерывном времени с использованием Частотного диапазона данных в непрерывном времени (System Identification Toolbox). Этот алгоритм обычно требует меньше данных, чем непараметрические подходы, и является единственным, который работает для неоднородных f.
'pp' - Метод пиковой комплектации. Для frf вычисляется из n сигналов возбуждения и m сигналов отклика, fn является mnum-by- m -by- n массив с одной оценкой fn и одну оценку dr в frf.
'FreqRange' - Частотная область значенийЧастотная область значений, заданный как разделенная разделенными запятой парами, состоящая из 'FreqRange' и двухэлементный вектор увеличения положительных значений, содержащийся в области значений, указанном в f.
Типы данных: single | double
'PhysFreq' - Естественные частоты для физических режимовЕстественные частоты для физических режимов, чтобы включить в анализ, заданные как разделенная разделенными запятой парами, состоящая из 'PhysFreq' и вектор значений частот в области значений, охватываемом f. Функция включает в анализ те режимы с естественными частотами, наиболее близкими к значениям, заданным в векторе. Если вектор содержит m значения частоты, то fn и dr иметь m строк каждая, и ms имеет m столбцов. Если вы не задаете этот аргумент, то функция использует всюсь частотную область значений в f.
Типы данных: single | double
'DriveIndex' - Индексы функции частотной характеристики приводной точки[1 1] (по умолчанию) | двухэлементный вектор положительных целых чиселИндексы функции частотной характеристики приводной точки, заданные как разделенная разделенными запятой парами, состоящая из 'DriveIndex' и двухэлементный вектор положительных целых чисел. Первый элемент вектора должен быть меньше или равен количеству откликов системы. Второй элемент вектора должен быть меньше или равен количеству системных возбуждений. Формы режима нормированы к единичному режиму на основе приводной точки.
Пример: 'DriveIndex',[2 3] задает, что функция частотной характеристики приводной точки frf(:,2,3).
Типы данных: single | double
fn - Естественные частотыЕстественные частоты, возвращенные в виде матрицы или трехмерные массивы. Размер fn зависит от выбора алгоритма аппроксимации, заданного в 'FitMethod':
Если вы задаете 'lsce' или 'lsrf', затем fn - вектор с mnum элементы, независимо от размера frf. Если в системе более mnum колебательные режимы, затем 'lsrf' метод возвращает первое mnum наименее демпфированные режимы сортировки в порядке увеличения собственной частоты.
Если вы задаете 'pp', затем fn - массив размера mnum-by - m -by - n с одной оценкой fn и одну оценку dr в frf.
dr - Коэффициенты затуханияКоэффициенты затухания для собственных частот в fn, возвращенный как матрица или трехмерный массив того же размера, что и fn.
ms - Векторы формы режимаВекторы формы режима, возвращенные как матрица. ms имеет mnum столбцы, каждый из которых содержит вектор длины q формы режима, где q является большим из числа каналов возбуждения и количества каналов отклика.
ofrf - Восстановленные функции частотной характеристикиВосстановленные функции частотной характеристики, возвращенные в виде вектора, матрицы или трехмерные массивы с таким же размером, как frf.
Комплексный экспоненциальный метод с наименьшими квадратами вычисляет импульсную характеристику, соответствующую каждой функции частотной характеристики, и подходит к отклику набора сложных демпфированных синусоидов с помощью метода Прони.
Дискретизированная демпфированная синусоида может быть приведена в виде
где:
f s - это частота дискретизации.
fi - синусоидная частота.
bi - коэффициент демпфирования.
Ai и ϕi являются амплитудой и фазой синусоиды.
ai называются амплитудами, а xi - полюсами. Метод Прони выражает дискретизированную функцию h (n) как суперпозицию N/2 режимов (и, таким образом N амплитуды и полюсы):
Полюса являются корнями полинома с коэффициентами c 0 , c 1,. .., c N -1:
Коэффициенты найдены с помощью авторегрессивной модели L = 2 N отсчетах h:
Чтобы найти полюса, алгоритм использует roots функция. Когда полюсы известны, можно определить частоты и коэффициенты затухания путем идентификации мнимой и действительной частей логарифмов полюса. Конечным шагом является решение для амплитуд и восстановление импульсной характеристики с помощью
Следующий наивный MATLAB® реализация суммирует процедуру:
N = 4; L = 2*N; h = rand(L,1); c = hankel(h(1:N),h(L-N:L-1))\-h(N+1:L); x = roots([1;c(N:-1:1)]).'; p = log(x); hrec = x.^((0:L-1)')*(x.^((0:L-1)')\h(1:L)); sum(h-hrec)
ans = 3.2613e-15 - 1.9297e-16i
Метод пикового захвата принимает, что каждый значимый пик в функции частотной характеристики соответствует в точности одному естественному режиму. Близкая к пику система принята, чтобы вести себя как демпфированный гармонический генератор с одной степенью свободы:
где H - функция частотной характеристики, f r - неограниченная резонансная частота, ζ r = b/( 4 mk)1/2 - относительное демпфирование, b - константа демпфирования, k - упругая константа, и m - масса.
Учитывая пик, расположенный на fp, процедура берёт пик и фиксированное число точек на обе стороны, заменяет массовый член на фиктивную переменную, d и вычисляет модальные параметры, решая систему уравнений
[1] Аллеманг, Рэндалл Дж., и Дэвид Л. Браун. Экспериментальный модальный анализ и динамический синтез компонентов, Vol. III: Оценка модальных параметров. Технический отчет AFWAL-TR-87-3069. Военно-воздушные лаборатории Райта, Райт-Паттерсон-Эйр-Форс-Бэз, OH, декабрь 1987 года.
[2] Брандт, Андерс. Анализ шума и вибрации: анализ сигналов и экспериментальные процедуры. Chichester, UK: John Wiley & Sons, 2011.
[3] Оздемир, Ахмет Арда и Суат Гумуссой. «Оценка передаточной функции в System Identification Toolbox через векторный подбор кривой». Материалы XX Всемирного конгресса Международной федерации автоматического управления, Тулуза, Франция, июль 2017 года.
modalfrf | modalsd | tfestimate | n4sid (System Identification Toolbox) | tfest(Набор System Identification Toolbox)
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.