MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Обработка сигналов и изображений\Signal Processing Toolbox

Список функций Signal Processing Toolbox: Анализ фильтров

  В оглавление\ К следующему разделу \ К предыдущему разделу

FREQZPLOT

Вывод графиков частотных характеристик

Синтаксис:

freqzplot(h,w)
freqzplot(h,w,s)
freqzplot(h,w,str)

Описание:

freqzplot(h,w)

Строит график частотной характеристики, заданной параметром h на частотах, указанных в векторе w. Входной параметр h может быть вектором или матрицей. Входной параметр w должен быть вектором, длина которого равна числу строк в матрице h. Зависимость данных из h от частоты w отображается на двух графиках:

  • Модуль (амплитуда) h отображается в децибелах.
  • Фаза h отображается в градусах.

Частотная ось графиков градуируется в радианах на отсчет. Если h является матрицей, строится несколько графиков частотных характеристик для отдельных ее столбцов.

freqzplot(h,w,s)

Дополнительно задается структура s, указывающая параметры выводимых графиков. Для управления формированием графиков используются следующие поля структуры:

  • s.xunits - строка, указывающая единицы измерения частоты. Строка s.xunits может иметь следующие значения:
  • 'rad/sample' - радианы на отсчет (данное значение принято по умолчанию)
  • 'Hz' - герцы
  • 'kHz' - килогерцы
  • 'MHz' - мегагерцы
  • 'GHz' - гигагерцы
  • Произвольная строка (в любом случае строка s.xunits используется в качестве подписи горизонтальных осей           графиков)
  • s.yunits - строка, задающая единицы измерения амплитуды. Для строки s.yunits допускаются следующие значения:
  • 'dB' - децибелы (данный вариант принят по умолчанию)
  • 'linear' - линейная амплитуда
  • 'squared' - квадрат амплитуды
  • s.plot - строка, задающая состав выводимых графиков. Для строки s.plot допускаются следующие значения:
  • 'both' - выводятся графики амплитуды и фазы (данный вариант принят по умолчанию)
  • 'mag' - выводится только график амплитуды
  • 'phase' - выводится только график фазы

Обратите внимание на то, что структура s может быть получена на выходе функции freqz.

freqzplot(h,w,str)

В данном случае строка str задает одно из строковых значений, допустимых для произвольного поля структуры s. Это удобный способ изменить (по сравнению с вариантом, принятым по умолчанию) один из параметров формирования графиков.

Примеры

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

nfft = 512;                             % Число точек характеристик
Fs = 44.1;                              % Частота дискретизации Fs задается в килогерцах
[b1,a1]  = cheby1(5,0.4,0.5);  % Фильтр Чебышева 5-го порядка 
[b2,a2]  = cheby1(5,0.5,0.5);  % Еще один фильтр Чебышева
[h1,f,s] = freqz(b1,a1,nfft,Fs); % Частотная характеристика первого фильтра 
                                            % Далее используются те же значения nfft и Fs, поэтому нам не нужно
                                            % второй раз получать выходные параметры f и s
h2       = freqz(b2,a2,nfft,Fs); % Частотная характеристика второго фильтра 
h = [h1 h2];                          % Матрица из частотных характеристик двух фильтров 

Сначала используем быстрый способ, чтобы изменить значение по умолчанию только для способа отображения амплитуды (параметр s.yunits). Для остальных параметров вывода графиков (s.plot и s.xunits) будут использоваться значения по умолчанию - 'both' и 'rad/sample' соответственно.

freqzplot(h,f,'squared') % Выводим график квадрата амплитуды

Теперь зададим все поля структуры s, чтобы настроить внешний вид графика:

s.plot   = 'mag';        % Только график АЧХ
s.xunits = 'khz';        % Частотная ось проградцирована в килогерцах
s.yunits = 'squared'; % Выводится АЧХ, возведенная в квадрат
freqzplot(h,f,s);        % Сравниваем характеристики двух фильтров Чебышева

Сопутствующие функции: freqz, grpdelay, psdplot

  В оглавление\ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика