freqresp

Частотная характеристика по сетке

Синтаксис

[H,wout] = freqresp(sys)
H = freqresp(sys,w)
H = freqresp(sys,w,units)
[H,wout,covH] = freqresp(idsys,...)

Описание

[H,wout] = freqresp(sys) возвращает частотную характеристику модели sys динамической системы на частотах wout. Команда freqresp автоматически определяет частоты на основе динамики sys.

H = freqresp(sys,w) возвращает частотную характеристику на действительной сетке частоты, заданной векторным w.

H = freqresp(sys,w,units) явным образом задает единицы частоты w с units.

[H,wout,covH] = freqresp(idsys,...) также возвращает ковариацию covH частотной характеристики идентифицированной модели idsys.

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

sys

Любая модель динамической системы или образцовый массив.

w

Вектор действительных частот, на которых можно оценить частотную характеристику. Задайте частоты в модулях rad/TimeUnit, где TimeUnit является единицами измерения времени, заданными в свойстве TimeUnit sys.

units

Единицы частот во входном векторе частоты w, заданный как одно из следующих значений:

  • 'rad/TimeUnit' — радианы на единицу измерения времени заданы в свойстве TimeUnit sys

  • 'cycles/TimeUnit' — циклы на единицу измерения времени заданы в свойстве TimeUnit sys

  • 'rad/s'

  • 'Hz'

  • 'kHz'

  • 'MHz'

  • 'GHz'

  • 'rpm'

Значение по умолчанию: 'rad/TimeUnit'

idsys

Любая идентифицированная модель.

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

H

Массив, содержащий значения частотной характеристики.

Если sys является отдельной моделью динамической системы, имеющей Ny выходные параметры и входные параметры Nu, H является 3D массивом с размерностями Ny-by-Nu-by-Nw, где Nw является количеством точек частоты. Таким образом H(:,:,k) является ответом на частоте w(k) или wout(k).

Если sys является образцовым массивом размера [Ny Nu S1 ... Sn], H является массивом с размерностями Ny-by-Nu-by-Nw-by-S1-by-...-by-Sn] массив.

Если sys является моделью данных частотной характеристики (такой как frd, genfrd или idfrd), freqresp(sys,w) оценивает к NaN для значений w, выходящего за пределы интервала частоты, заданного sys.frequency. Команда freqresp может интерполировать между частотами в sys.frequency. Однако freqresp не может экстраполировать вне интервала частоты, заданного sys.frequency.

wout

Вектор частот, соответствующих значениям частотной характеристики в H. Если вы не используете w от входных параметров до freqresp, команда автоматически определяет частоты wout на основе системной динамики. Если вы задаете w, то wout = w

covH

Ковариация ответа H. Ковариация 5D массив, где covH(i,j,k,:,:) содержит ковариационную матрицу 2 на 2 ответа от i th вход к j th вывод на частоте w(k). (1,1) элемент этой матрицы 2 на 2 является отклонением действительной части ответа. (2,2) элемент является отклонением мнимой части. (1,2) и (2,1) элементы являются ковариацией между действительными и мнимыми частями ответа.

Примеры

свернуть все

Создайте следующую систему с 2 выводами, с 2 входами:

sys=[01s+1s-1s+21]

sys11 = 0; 
sys22 = 1; 
sys12 = tf(1,[1 1]); 
sys21 = tf([1 -1],[1 2]);
sys = [sys11,sys12;sys21,sys22];

Вычислите частотную характеристику системы.

[H,wout] = freqresp(sys);

H является 2 2 45 массивами. Каждая запись H(:,:,k) в H является матрицей 2 на 2, дающей комплексную частотную характеристику всех пар ввода - вывода sys на соответствующей частоте wout(k). Эти 45 частот в wout автоматически выбраны на основе динамики sys.

Создайте следующую систему с 2 выводами, с 2 входами:

sys=[01s+1s-1s+21]

sys11 = 0; 
sys22 = 1; 
sys12 = tf(1,[1 1]); 
sys21 = tf([1 -1],[1 2]);
sys = [sys11,sys12;sys21,sys22];

Создайте логарифмически распределенную сетку 200 точек частоты между 10 и 100 радианами в секунду.

w = logspace(1,2,200);

Вычислите частотную характеристику системы на заданной сетке частоты.

H = freqresp(sys,w);

H является 2 2 200 массивами. Каждая запись H(:,:,k) в H является матрицей 2 на 2, дающей комплексную частотную характеристику всех пар ввода - вывода sys на соответствующей частоте w(k).

Вычислите частотную характеристику и сопоставленную ковариацию для идентифицированной модели процесса на ее частоте максимальной чувствительности.

Загрузите данные об оценке z1.

load iddata1 z1

Оцените модель процесса SISO с помощью данных.

model = procest(z1,'P2UZ');

Вычислите частоту, на которой модель достигает пикового усиления частотной характеристики. Чтобы получить более точный результат, задайте значение допуска 1e-6.

[gpeak,fpeak] = getPeakGain(model,1e-6);

Вычислите частотную характеристику и сопоставленную ковариацию для model на ее частоте максимальной чувствительности.

[H,wout,covH] = freqresp(model,fpeak);

H является значением ответа на частоте fpeak, и wout совпадает с fpeak.

covH является 5-мерным массивом, который содержит ковариационную матрицу ответа от входа до вывода на частоте fpeak. Здесь covH(1,1,1,1,1) является отклонением действительной части ответа, и covH(1,1,1,2,2) является отклонением мнимой части. covH(1,1,1,1,2) и элементы covH(1,1,1,2,1) являются ковариацией между действительными и мнимыми частями ответа.

Больше о

свернуть все

Частотная характеристика

В непрерывное время frequency response на частоте ω является значением передаточной функции в s = . Для моделей в пространстве состояний этим значением дают

H(jω)=D+C(jωIA)1B

В дискретное время частотная характеристика является передаточной функцией, оцененной в точках на модульном круге, которые соответствуют действительным частотам. freqresp сопоставляет действительные частоты w(1)..., w(N) к точкам на модульном круге использование преобразования z=ejωTs. Ts является шагом расчета. Функция возвращает значения передаточной функции в получившихся значениях z. Для моделей с незаданным шагом расчета freqresp использует Ts = 1.

Алгоритмы

Для передаточных функций или моделей нулей и полюсов, freqresp оценивает числитель (числители) и знаменатель (знаменатели) в заданных точках частоты. Для непрерывно-разовых моделей в пространстве состояний (A, B, C, D), частотная характеристика

D+C(jωA)1B,ω=ω1,,ωN

Для эффективности A уменьшается до верхней формы Хессенберга и линейного уравнения (jω − A) X =, B решен в каждой точке частоты, использовав в своих интересах структуру Hessenberg. Сокращение к форме Хессенберга обеспечивает хороший компромисс между эффективностью и надежностью. См. [1] для получения дополнительной информации об этом методе.

Альтернативы

Используйте evalfr, чтобы оценить частотную характеристику на отдельных частотах или небольших числах частот. freqresp оптимизирован для средних и крупных векторов частот.

Ссылки

[1] Laub, A.J., "Эффективные Многомерные Вычисления Частотной характеристики", IEEE® Transactions на Автоматическом управлении, AC-26 (1981), стр 407-408.

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

| | | | | |

Представлено до R2006a