Как построить ЛАХ и ФЧХ в MATLAB — подробная инструкция с примерами и графиками


Построение ЛАХ (логарифмической амплитудно-частотной характеристики) и ФЧХ (фазово-частотной характеристики) является важным шагом при анализе и проектировании различных систем. ЛАХ и ФЧХ позволяют понять, как система влияет на амплитуду и фазу входного сигнала в зависимости от его частоты.

В данном руководстве представлен подробный обзор процесса построения ЛАХ и ФЧХ в среде разработки MATLAB. Будут рассмотрены основные функции и инструменты, которые позволяют получить графики ЛАХ и ФЧХ для различных систем. Вы также узнаете, как интерпретировать эти графики и использовать их для анализа и проектирования системы.

Построение ЛАХ и ФЧХ в MATLAB имеет множество применений в различных областях, включая электротехнику, телекоммуникации, сигнальную обработку и автоматическое управление. Эти инструменты помогают инженерам и научным исследователям более глубоко понять и проанализировать свойства системы и улучшить их производительность и стабильность.

Получение передаточных функций в MATLAB

Для этого используется команда tf. Синтаксис команды выглядит следующим образом:

G = tf(num, den)

где num — вектор коэффициентов числителя передаточной функции, а den — вектор коэффициентов знаменателя передаточной функции.

Вектор num должен быть меньше или равен вектору den. Если вектор num имеет меньшую длину, то будет добавлено нулевых элементов в начало вектора num.

Например, для получения передаточной функции:

G(s) = 2s^2 + 3s + 1 / s^3 + 4s^2 + 5s + 2

можно использовать следующий код:

num = [2 3 1];

den = [1 4 5 2];

G = tf(num, den);

После выполнения данного кода переменная G будет содержать передаточную функцию системы с заданными коэффициентами.

Как определить передаточную функцию в MATLAB

  • Шаг 1: Определите числитель и знаменатель передаточной функции. Числитель содержит коэффициенты полинома в числителе, а знаменатель — коэффициенты полинома в знаменателе.
  • Шаг 2: Создайте векторы, содержащие эти коэффициенты. Например, числитель можно представить в виде вектора [1 2 3], а знаменатель — [4 5 6].
  • Шаг 3: Используйте функцию tf() для создания объекта «transfer function» с помощью векторов коэффициентов. Например, tf([1 2 3], [4 5 6]) создаст передаточную функцию.
  • Шаг 4: Для проверки правильности определения передаточной функции можно использовать функции step() или impulse(), чтобы получить переходную или импульсную характеристику соответственно.

Пример кода:

num = [1 2 3];
den = [4 5 6];
tf_sys = tf(num, den);
step(tf_sys);
impulse(tf_sys);

Теперь вы можете определить передаточную функцию в MATLAB и изучить ее характеристики, такие как ЛАХ и ФЧХ, используя специализированные функции и инструменты, доступные в MATLAB.

Импортирование передаточной функции из файла

При построении ЛАХ и ФЧХ в MATLAB можно импортировать передаточную функцию из внешнего файла. Это может быть полезно, если у вас уже есть готовая передаточная функция, которую вы хотите анализировать или визуализировать.

Для импортирования передаточной функции из файла в MATLAB используйте функцию tf, которая позволяет создать объект, представляющий передаточную функцию.

Пример использования tf:

filename = 'transfer_function.txt';
s = tf('s');
H = tf(importdata(filename));

В данном примере мы указываем имя файла с передаточной функцией (transfer_function.txt) и создаем объект s, который представляет переменную s в передаточной функции. Затем мы вызываем функцию importdata, которая импортирует данные из файла, и передаем результат в функцию tf, чтобы создать объект H, представляющий передаточную функцию.

После импортирования передаточной функции вы можете использовать ее для построения ЛАХ и ФЧХ, а также для других операций анализа и визуализации в MATLAB.

Построение ЛАХ (Частотная характеристика) в MATLAB

Для анализа и визуализации частотных характеристик системы в MATLAB можно использовать функции bode и fresp. Эти функции позволяют построить ЛАХ (амплитудно-частотную характеристику) и ФЧХ (фазо-частотную характеристику) соответственно.

Для начала необходимо определить передаточную функцию системы. Это может быть разделительное уравнение передаточной функции или система дифференциальных уравнений, описывающая систему. Затем следует передать эту функцию в качестве аргумента функции bode или fresp.

Пример построения ЛАХ (Частотная характеристика):

sys = tf([1],[1, 2, 1]); % определение передаточной функции системы
bode(sys); % построение ЛАХ

Функция tf используется для создания объекта передаточной функции системы на основе числителя и знаменателя передаточной функции. В данном случае передаточная функция системы имеет вид 1/(s^2 + 2s + 1).

Функция bode строит график ЛАХ системы. На графике отображается амплитуда (в децибелах) и фаза (в градусах) в зависимости от частоты.

Помимо функции bode, существует функция fresp, которая позволяет построить график ФЧХ системы:

sys = tf([1],[1, 2, 1]); % определение передаточной функции системы
fresp(sys); % построение ФЧХ

Функция fresp строит график ФЧХ системы. На графике отображается только фаза (в градусах) в зависимости от частоты.

Обе функции bode и fresp принимают также параметры для настройки графика, например, масштабирование осей или наложение нескольких графиков на одной системе координат.

Использование функции freqz для построения ЛАХ

В MATLAB можно использовать функцию freqz для построения амплитудно-частотной характеристики (АЧХ) и фазо-частотной характеристики (ФЧХ) фильтра. Функция freqz предоставляет гибкий способ анализа и визуализации частотного отклика фильтра.

Для начала, создайте дискретный фильтр, используя функцию butter, которая генерирует коэффициенты для фильтра нижних частот Butterworth

order = 4; % порядок фильтра

cutoff = 100; % частота среза

[b, a] = butter(order, cutoff, ‘low’); % генерация коэффициентов

Затем, вызовите функцию freqz, чтобы построить ЛАХ фильтра:

freqz(b, a)

title(‘АЧХ фильтра Butterworth’)

xlabel(‘Частота (рад/с)’)

ylabel(‘Амплитуда (дБ)’)

Вы можете добавить опциональные аргументы для настройки внешнего вида графика, например, цвета и стиля линий. Кроме того, вы также можете построить ФЧХ фильтра, установив параметр ‘phase’ в ‘on’:

freqz(b, a, ‘phase’)

title(‘ФЧХ фильтра Butterworth’)

xlabel(‘Частота (рад/с)’)

ylabel(‘Фаза (градусы)’)

Теперь вы можете анализировать и визуализировать частотный отклик вашего фильтра с помощью функции freqz в MATLAB.

Настройка параметров построения ЛАХ

При построении ЛАХ (логарифмической амплитудно-частотной характеристики) в MATLAB можно настроить несколько параметров, чтобы получить нужное отображение графика.

Один из ключевых параметров — это выбор способа представления оси частот. Вы можете выбрать линейную шкалу, которая подходит для широкого диапазона значений, или логарифмическую шкалу, которая позволяет лучше видеть изменения в низкочастотной области.

Другой параметр — это выбор диапазона частот, которые будут отображаться на графике. Вы можете установить минимальную и максимальную частоты, чтобы увеличить или уменьшить видимую область графика.

Также можно настроить цвет графика, тип и толщину линии, чтобы сделать его более наглядным и выделить его на фоне других элементов графика.

Для более точного отображения графика вы можете установить разрешение, которое определяет количество точек, используемых при построении. Большее разрешение дает более точный и детализированный график, но также требует больше вычислительных ресурсов.

ПараметрОписание
Ось частотВыбор линейной или логарифмической шкалы частот
Диапазон частотУстановка минимальной и максимальной частот отображаемой области
Цвет графикаВыбор цвета графика для лучшей видимости на фоне
Тип и толщина линииВыбор типа и толщины линии для выделения графика
РазрешениеУстановка количества точек для более точного отображения графика

Построение ФЧХ (Фазовой характеристика) в MATLAB

Для построения ФЧХ в MATLAB нужно выполнить несколько шагов:

  1. Задать передаточную функцию системы. Например, можно задать передаточную функцию непрерывной системы с помощью оператора передачи tf следующим образом: sys = tf([1], [1 1]).
  2. Создать фигуру и подвыборку для графика ФЧХ с помощью функции figure и subplot.
  3. Вывести ФЧХ с помощью функции bode и передать систему в качестве аргумента: bode(sys).

Вот полный пример кода для построения ФЧХ:

sys = tf([1], [1 1]);
figure;
subplot(2, 1, 2);
bode(sys);

После запуска кода MATLAB построит график ФЧХ для заданной передаточной функции. На графике будет отображена зависимость фазы от частоты.

Также можно настроить график ФЧХ, добавив подписи осей, заголовок и другие настройки. Например, функция bode принимает дополнительные параметры для настройки графика ФЧХ.

В этом разделе мы рассмотрели базовый пример построения ФЧХ в MATLAB с помощью функции bode. Вы также можете настроить график ФЧХ, добавив дополнительные параметры и настройки.

Использование функции freqz для построения ФЧХ

В MATLAB для построения амплитудно-частотной характеристики (АЧХ) и фазо-частотной характеристики (ФЧХ) сигнального фильтра можно использовать функцию freqz. Эта функция позволяет наглядно изобразить частотную характеристику фильтра на основе его коэффициентов.

Для начала, необходимо задать коэффициенты фильтра. Например, можно создать фильтр нижних частот с помощью функции butter:

b = butter(4, 0.5, "low");

Здесь b — это вектор коэффициентов фильтра.

Затем следует вызвать функцию freqz с указанием заданных коэффициентов:

freqz(b);

Программа построит график АЧХ и ФЧХ фильтра.

Если требуется построить график только АЧХ или только ФЧХ, то можно указать соответствующий аргумент функции freqz. Например, для построения только ФЧХ:

freqz(b, 1, 1000, "whole", 48000);

Здесь последний аргумент указывает частоту дискретизации сигнала.

Использование функции freqz упрощает анализ и отладку фильтров в MATLAB, позволяя наглядно оценить их частотные характеристики.

Добавить комментарий

Вам также может понравиться