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

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

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

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

FVTOOL
Визуализация характеристик фильтров (Filter Visualization Tool)

Синтаксис

fvtool(b,a)
fvtool(b1,a1,b2,a2,...bn,an)
fvtool(Hd1,Hd2,...)
h = fvtool(...)

Описание

fvtool(b,a)

Запускает среду FVTool и вычисляет АЧХ дискретного фильтра, заданного векторами коэффициентов числителя и знаменателя функции передачи - b и a соответственно. С помощью FVTool можно вывести на экран графики ФЧХ, групповой задержки, импульсной характеристики, переходной характеристики, расположения нулей и полюсов на комплексной плоскости, а также просмотреть значения коэффициентов фильтра. Можно также экспортировать отображаемую характеристику в файл с помощью команды Export меню File.

fvtool(b1,a1,b2,a2,...bn,an)

Запускает среду FVTool и отображает АЧХ нескольких дискретных фильтров, заданных векторами коэффициентов числителя (b1…bn) и знаменателя (a1…an) функции передачи.

fvtool(Hd1,Hd2,...)

Запускает среду FVTool и отображает АЧХ нескольких дискретных фильтров, заданных в виде объектов класса dfilt - Hd1, Hd2 и т. д. Если установлен пакет Filter Design, можно таким же образом использовать функцию fvtool для просмотра характеристик квантованных фильтров, заданных в виде объектов класса qfilt, а также (начиная с версии 2.5 пакета Filter Design) многочастотных (multirate) фильтров, заданных в виде объектов класса mfilt, и адаптивных фильтров, заданных в виде объектов класса adaptfilt.

h = fvtool(...)

Возвращает дескриптор графического окна h. Он может использоваться для организации программного доступа к среде FVTool. Подробнее об этой речь пойдет далее в разделе "Управление средой FVTool из командной строки".

Окно среды FVTool имеет две панели инструментов.

  • Панель управления графикой (Figure toolbar) содержит следующие кнопки:
  • Запуск нового экземпляра среды FVTool
    Печать и предварительный просмотр печати
    Выключатели режимов (слева направо) редактирования графика, добавления текста, рисования стрелок и рисования линий
    Увеличение масштаба, увеличение масштаба по оси x, увеличение масштаба по оси y, возврат к исходному масштабу
    Выключатель отображения легенды
    Выключатель отображения сетки
    Выключатель связи со средой FDATool (данная кнопка имеется только в том случае, если среда FVTool запущена из среды FDATool)
    Переключатель режимов добавления и замены графиков (данная кнопка имеется только в том случае, если среда FVTool запущена из среды FDATool)

  • Панель анализа (Analysis toolbar) содержит следующие кнопки:
  • Амплитудно-частотная характеристика (АЧХ) текущего фильтра. Более подробная информация содержится на страницах с описанием функций freqz и zerophase.

    Чтобы вывести на экран вещественную частотную характеристику с компенсацией фазового сдвига (zero-phase), щелкните правой кнопкой мыши на подписи y-оси графика АЧХ и выберите в появившемся контекстном меню вариант Zero-phase
    Фазочастотная характеристика (ФЧХ) текущего фильтра. Более подробная информация содержится на странице с описанием функции phasez
    Одновременный вывод графиков АЧХ и ФЧХ. Более подробная информация содержится на странице с описанием функции freqz
    График частотной зависимости групповой задержки, вносимой текущим фильтром. Групповая задержка - это задержка огибающей узкополосного сигнала. Более подробная информация содержится на странице с описанием функции grpdelay
    Импульсная характеристика текущего фильтра. Импульсная характеристика - это реакция фильтра на одиночный импульс с единичной амплитудой. Более подробная информация содержится на странице с описанием функции impz
    Переходная характеристика текущего фильтра. Переходная характеристика - это реакция фильтра на скачок с единичной амплитудой. Более подробная информация содержится на странице с описанием функции stepz
    График расположения нулей и полюсов функции передачи текущего фильтра на комплексной z-плоскости. Более подробная информация содержится на странице с описанием функции zplane
    Отображение текстового поля со значениями коэффициентов текущего фильтра. Состав коэффициентов зависит от формы реализации фильтра (прямая форма, решетчатая форма, пространство состояний и т. п.)
    Подробная информация о фильтре

    Связь с FDATool

    Выбор в среде fdatool команды Full View Analysis, расположенной в меню Analysis, или щелчок на кнопке Full View Analysis панели инструментов запускают среду FVTool, передавая ей параметры текущего фильтра. Синхронизация работы сред FDATool и FVTool производится с помощью кнопки FDAToolLink панели инструментов. В синхронном режиме любые изменения фильтра, производимые в FDATool, будут немедленно отображаться в FVTool.

    Возможны два режима синхронизации с FDATool. Переключение этих режимов выполняется с помощью кнопки Set Link Mode панели инструментов:

  • Режим замены графиков (Replace mode) - при изменении параметров фильтра старая информация удаляется из окна FVTool и вместо нее выводится новая.
  • Режим добавления графиков (Add mode) - новые графики накладываются в FVTool поверх старых без удаления последних.
  • Настройка осей графиков

    Единицы измерения по осям x и y можно изменить, щелкнув правой кнопкой мыши на подписи оси или в области графика (в последнем случае появится контекстное меню, в котором нужно будет выбрать команду Analysis Parameters). Возможные варианты единиц измерения для осей различных графиков приведены в следующей таблице.

    График Единицы измерения по оси X Единицы измерения по оси Y
    Magnitude (АЧХ) Normalized Frequency (Нормированная частота)

    Linear Frequency (Абсолютная частота)
    Magnitude (АЧХ линейная)

    Magnitude (dB)

    (АЧХ логарифмическая, дБ)Magnitude squared (Квадрат АЧХ)

    Zero-Phase (Вещественная ЧХ с компенсацией вносимой фильтром задержки)
    Phase (ФЧХ) Normalized Frequency (Нормированная частота)

    Linear Frequency (Абсолютная частота)
    Phase (Фаза)

    Continuous Phase (Непрерывная фаза с устранением незначащих скачков на 360 )

    Degrees (В градусах)

    Radians (В радианах)
    Magnitude and Phase (АЧХ и ФЧХ) Normalized Frequency (Нормированная частота)

    Linear Frequency (Абсолютная частота)
    (y-ось с левой стороны - для АЧХ)

    Magnitude (АЧХ линейная)

    Magnitude (dB) (АЧХ логарифмическая, дБ)

    Magnitude squared (Квадрат АЧХ)

    Zero-Phase (Вещественная ЧХ с компенсацией вносимой фильтром задержки)

    (y-ось с правой стороны - для ФЧХ)

    Phase (Фаза)

    Continuous Phase (Непрерывная фаза с устранением незначащих скачков на 360 )

    Degrees (В градусах)

    Radians (В радианах)
    Group Delay

    (Групповая задержка)
    Normalized Frequency (Нормированная частота)

    Linear Frequency (Абсолютная частота)
    Samples (Отсчеты)

    Time (Абсолютное время)
    Phase Delay (Фазовая задержка) Normalized Frequency (Нормированная частота)

    Linear Frequency (Абсолютная частота)
    Degrees (В градусах)Radians (В радианах)
    Impulse Response (Импульсная характеристика) Samples (Отсчеты)

    Time (Абсолютное время)
    Amplitude (Амплитуда)
    Step Response (Переходная характеристика) Samples (Отсчеты)

    Time (Абсолютное время)
    Amplitude (Амплитуда)
    Pole-Zero (Расположение нулей и полюсов функции передачи на комплексной плоскости) Real Part (Вещественная часть) Imaginary Part (Мнимая часть)

    Редактирование графиков

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

    • Edit Plot, Add Text, Add Arrow, Add Line - эти кнопки позволяют изменять подписи осей или заголовок графика, а также добавлять на график текст, линии и стрелки. Более подробные сведения о редактировании графиков можно найти в документации MATLAB.
    • Zoom - эти кнопки позволяют выполнять увеличение масштаба по обеим осям, увеличение масштаба только по одной из осей оси x и y, а также возврат к исходному масштабу. Доступ к функциям масштабирования возможен также через меню Tools.
    • Toggle Legend - данная кнопка включает и выключает отображение легенды. Эту операцию можно также выполнять с помощью соответствующей команды меню Tools.
    • Toggle Grid - данная кнопка включает и выключает отображение сетки на графике. Эту операцию можно также выполнять с помощью соответствующей команды меню Tools.

    Окно диалога Analysis Parameters дает доступ к параметрам, используемым программой при формировании демонстрируемого в данный момент графика. Для вызова данного окна щелкните правой кнопкой мыши в области графика и выберите в контекстном меню команду Analysis Parameters. (Внимание! Если активизирован режим редактирования графика, то есть нажата кнопка Edit Plot, данное контекстное меню не появится.) В окне диалога можно настраивать перечисленные ниже параметры анализа. Конкретный состав параметров зависит от типа отображаемого графика. Если в данный момент отображается несколько графиков, окно диалога будет содержать все применимые к ним параметры.

    • Frequency Range (Диапазон частот) - выбор одного из трех предопределенных вариантов частотного диапазона или (вариант Specify freq. vector) указание на необходимость ручного ввода вектора частот.
    • Number of Points (Число точек) - число рассчитываемых точек графика.
    • Frequency Vector (Вектор частот) - Вектор значений частот анализа. Данное поле доступно только в том случае, если в списке Frequency Range выбран вариант Specify freq. vector.
    • Frequency Units (Единицы измерения частоты) - единицы измерения по оси x: Normalized (Нормированная частота) или Hz (Гц).
    • Frequency Scale (Частотный масштаб) - масштаб оси x: Linear (Линейный) или Log (Логарифмический).
    • Phase Units (Единицы измерения фазы) - единицы измерения по оси y: Degrees (Градусы) или Radians (Радианы).
    • Phase Display (Отображение ФЧХ) - тип фазового графика: Phase (Фаза) или Continuous Phase (Непрерывная фаза с устранением незначащих разрывов).
    • Magnitude Display (Отображение АЧХ) - единицы измерения по оси y: Magnitude (АЧХ линейная), Magnitude (dB) (АЧХ логарифмическая, дБ), Magnitude squared (АЧХ в квадрате) или Zero-Phase (Вещественная ЧХ с компенсацией вносимой фильтром задержки).
    • Group Delay Units (Единицы измерения групповой задержки) - единицы измерения по оси y: Samples (Отсчеты) или Time (Абсолютное время).
    • Specify Length (Выбор длины) - способ выбора длины отображаемого фрагмента импульсной или переходной характеристики: Default (По умолчанию) или Specified (Вручную).
    • Length (Длина) - Число отображаемых точек импульсной или переходной характеристики. Данное поле доступно только в том случае, если в списке Specify Length выбран вариант Specified.
    • Time Mode (Способ отображения времени) - единицы измерения по оси x: Samples (В отсчетах) или Seconds (В секундах).

    В дополнение к перечисленным параметрам имеется возможность изменять тип графика импульсной или переходной характеристики. Для этого щелкните на графике правой кнопкой мыши и выберите в появившемся контекстном меню один из вариантов: Line (Линия), Stem ("Стебельки") или Line with Markers (Линия с маркерами точек).

    Чтобы выбранные параметры анализа использовались средами FDATool или FVTool по умолчанию, щелкните в окне Analysis Parameters на кнопке Save as default.

    Чтобы восстановить параметры, установленные разработчиками, щелкните в окне Analysis Parameters на кнопке Restore orignal defaults.

    Щелчок мышью на линии или точке графика добавляет на график маркер данных (Data Marker), отображающий числовую информацию о данной точке. Более подробная информация об использовании маркеров данных содержится в описании функции FDATool.

    Если среда FVTool вызвана из среды FDATool, можно показать на графике АЧХ параметры (границы полос, допуски на коэффициент передачи и т. п.), заданные при синтезе фильтра. Для этого выберите в меню View команду Design Masks.

    Наложение графиков

    Чтобы наложить друг на друга графики нескольких характеристик фильтра, необходимо выбрать график для наложения в подменю Overlay Analysis меню Analysis. В этом подменю доступны лишь те графики, для которых ось x имеет тот же тип, что и для текущего графика. Так, скажем, можно накладывать друг на друга графики различных частотных зависимостей, но нельзя одновременно вывести графики АЧХ (зависимость от частоты) и импульсной характеристики (зависимость от времени). При наложении с правой стороны графика появляется вторая ось y с соответствующей оцифровкой. В окне Analysis Parameters в данном случае будут перечислены возможные параметры для оси x и обеих осей y.

    Управление средой FVTool из командной строки

    Получив дескриптор окна FVTool, можно с его помощью получить программный доступ к некоторым параметрам среды FVTool из командной строки MATLAB. В дополнение к обычным свойствам, связанным с дескрипторами (см. раздел "Дескрипторная графика" документации MATLAB), дескриптор FVTool имеет следующие свойства:

    • 'Filters' - содержит массив ячеек с описаниями фильтров, отображаемых в среде FVTool.
    • 'Analysis' - управляет отображением информации и фильтре. Список вариантов анализа и соответствующих строковых значений данного свойства приводится в следующей таблице.
    Отображаемая информация Значение свойства Analysis
    График АЧХ 'magnitude'
    График ФЧХ 'phase'
    Графики АЧХ и ФЧХ 'freq'
    График групповой задержки 'grpdelay'
    График фазовой задержки 'phasedelay'
    График импульсной характеристики 'impulse'
    График переходной характеристики 'step'
    График нулей и полюсов 'polezero'
    Коэффициенты фильтра 'coefficients'
    Информация о фильтре 'info'

  • 'Grid' - управляет выводом сетки на графики. Возможные значения - 'on' и 'off'.
  • 'Legend' - управляет выводом легенды на графики. Возможные значения - 'on' и 'off'.
  • Замечание. С помощью функции set можно изменять и значения других свойств FVTool из командной строки. Для вывода списка свойств и их текущих значений используйте вызов функции get(h).

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

  • addfilter(h,filtobj) - добавляет к набору визуализируемых в FVTool фильтров новый фильтр. Этот новый фильтр задается параметром filtobj, который должен быть объектом дискретного фильтра dfilt или объектом квантованного фильтра qfilt (Filter Design Toolbox).
  • setfilter(h, filtobj) - заменяет отображаемый в FVTool фильтр на новый фильтр, задаваемый параметром filtobj.
  • deletefilter(h, index) - удаляет из набора отображаемых в FVTool фильтров фильтр с номером index (значение параметра index соответствует индексу данного фильтра в массиве ячеек, доступном через свойство 'Filters').
  • legend(h,str1,str2,...) - создает легенду для выводимой в FVTool информации: строка str1 соответствует фильтру 1, строка str2 - фильтру 2 и т. д.
  • Дополнительную информацию об управлении FVTool из командной строки содержит демонстрационный пример fvtooldemo.


    Примеры

    Пример 1

    Выведем на экран график АЧХ эллиптического фильтра, запустив FVTool из командной строки:

    [b,a]=ellip(6,3,50,300/500);
    fvtool(b,a);

    Пример 2

    Выведем на экран характеристики нескольких нерекурсивных фильтров, запустив FVTool из командной строки. Затем вызовем окно диалога для настройки отображения АЧХ:

    b1 = remez(20,[0 0.4 0.5 1],[1 1 0 0]);
    b2 = remez(40,[0 0.4 0.5 1],[1 1 0 0]);
    fvtool(b1,1,b2,1);

    Щелкните в поле графика правой кнопкой мыши и выберите в появившемся контекстном меню команду Analysis Parameters. Появится показанное ниже окно диалога:

    Пример 3

    Синтезируем нерекурсивный фильтр нижних частот 20-го порядка с равномерными пульсациями АЧХ в среде FDATool и вызовем FVTool для просмотра его характеристик:

    fdatool % запуск FDATool

    Задайте в fdatool показанные ниже параметры и затем щелкните на кнопке Design Filter.

    Далее щелкните в FDATool на кнопке Full View Analysis, чтобы вызвать среду FVTool.

    Пример 4

    Синтезируем эллиптический фильтр и используем возможность управления некоторыми параметрами FVTool из командной строки через дескриптор окна:

    [b,a]=ellip(6,3,50,300/500);
    h = fvtool(b,a); % Получаем дескриптор h и запускаем FVTool
      % По умолчанию при запуске выводится график АЧХ

    Использование команды set позволяет переключить FVTool на вывод ФЧХ из командной строки:

    set(h,'Analysis','phase') % Переключаем FVTool на вывод ФЧХ

    Далее выводим на графике легенду:

    set(h,'Legend','on')     % Включаем вывод легенды
    legend(h,'Phase plot') % Задаем текст легенды

    И, наконец, получим список всех свойств и их значений для окна FVTool:

    get(h) % Просмотр всех свойств
      % Специфичные для FVTool свойства
      % Специфичные для FVTool свойства
    AlphaMap: [1x64 double]
    BackingStore: 'off'
    CloseRequestFcn: 'closereq'
    Color: [1x3 double]
    ColorMap: [64x3 double]
    CurrentAxes: 564.0001
    CurrentCharacter: ''
    CurrentObject: []
    CurrentPoint: [0 0]
    DitherMap: [64x3 double]
    DitherMapMode: 'manual'
    DoubleBuffer: 'on'
    FileName: ''
    FixedColors: [11x3 double]
    IntegerHandle: 'on'
    InvertHardcopy: 'on'
    KeyPressFcn: ''
    MenuBar: 'none'
    MinColormap: 64
    Name: [1x42 char]
    NextPlot: 'new'
    NumberTitle: 'on'
    PaperUnits: 'inches'
    PaperOrientation: 'portrait'
    PaperPosition: [1x4 double]
    PaperPositionMode: 'manual'
    PaperSize: [8.5000 11]
    PaperType: 'usletter'
    Pointer: 'arrow'
    PointerShapeCData: [16x16 double]
    PointerShapeHotSpot: [1 1]
    Position: [360 292 560 420]
    Renderer: 'painters'
    RendererMode: 'auto'
    Resize: 'on'
    ResizeFcn: ''
    SelectionType: 'normal'
    ShareColors: 'on'
    Units: 'pixels'
    WindowButtonDownFcn: ''
    WindowButtonMotionFcn: ''
    WindowButtonUpFcn: ''
    WindowStyle: 'normal'
    BeingDeleted: 'off'
    ButtonDownFcn: ''
    Children: [15x1 double]
    Clipping: 'on'
    CreateFcn: ''
    DeleteFcn: ''
    BusyAction: 'queue'
    HandleVisibility: 'on'
    HitTest: 'on'
    Interruptible: 'on'
    Parent: 0
    Selected: 'off'
    SelectionHighlight: 'on'
    Tag: [1x23 char]
    UIContextMenu: []
    UserData: []
    Visible: 'on'
    AnalysisToolbar: 'on'
    FigureToolbar: 'on'
    Filters: {[1x1 dfilt.df2t]}
    Analysis: 'phase'
    OverlayedAnalysis: ''
    Grid: 'on'
    Legend: 'off'
    DesignMask: 'off'
    FrequencyRange: '[0, pi)'
    NumberofPoints: 8192
    FrequencyVector: [1x256 double]
    FrequencyUnits: 'Normalized'
    FrequencyScale: 'Linear'
    PhaseUnits: 'Degrees'
    PhaseDisplay: 'Phase'

    Сопутствующие функции: fdatool, sptool

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


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

    Система Orphus

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