fvtool

Открытый инструмент визуализации фильтра

Синтаксис

fvtool(b,a)
fvtool(sos)
fvtool(d)
fvtool(b1,a1,b2,a2,...,bN,aN)
fvtool(sos1,sos2,...,sosN)
fvtool(Hd)
fvtool(Hd1,Hd2,...,HdN)
h = fvtool(...)

Описание

fvtool(b,a) открывает FVTool и отображает ответ значения цифрового фильтра, заданного с числителем, b и знаменателем, a. Используя FVTool можно отобразить фазовый отклик, групповую задержку, импульсный ответ, переходной процесс, нулевой полюсом график и коэффициенты фильтра. Можно экспортировать отображенный ответ на файл с File> Export.

Примечание

Если вход к fvtool является одинарной точностью, ответ значения вычисляется с помощью арифметики с одинарной точностью.

fvtool(sos) открывает FVTool и отображает ответ значения цифрового фильтра, заданного L-by-6 матрица разделов второго порядка

SOS=[b01b11b211a11a21b02b12b221a12a22b0Lb1Lb2L1a1La2L].

Строки SOS содержат числитель и коэффициенты знаменателя bik и aik каскада разделов второго порядка H (z):

H(z)=gk=1LHk(z)=gk=1Lb0k+b1kz1+b2kz21+a1kz1+a2kz2.

Количество разделов, L, должно быть больше, чем или равным 2. Если количество разделов - меньше чем 2, fvtool полагает, что вход вектор числителя.

fvtool(d) открывает FVTool и отображает ответ значения цифрового фильтра, d. Используйте designfilt, чтобы сгенерировать d на основе спецификаций частотной характеристики.

fvtool(b1,a1,b2,a2,...,bN,aN) открывает FVTool и отображает ответы значения нескольких фильтров, заданных с числителями, b1, …, bN, и знаменатели, a1..., aN.

fvtool(sos1,sos2,...,sosN) открывает FVTool и отображает ответы значения нескольких фильтров, заданных с матрицами раздела второго порядка, sos1, sos2..., sosN.

fvtool(Hd) открывает FVTool и отображает ответы значения для объекта фильтра dfilt, Hd или массива объектов фильтра dfilt.

fvtool(Hd1,Hd2,...,HdN) открывает FVTool и отображается, ответы значения фильтров в dfilt возражает Hd1, Hd2... HdN.

Если вам установили продукт DSP System Toolbox™, можно также использовать fvtool(H) и fvtool(H1,H2,...), чтобы анализировать:

dsp.DigitalDownConverter и Системные объекты dsp.DigitalUpConverter поддерживают FVTool. Необходимо передать вход 'Arithmetic' FVTool, когда вы вызываете FVTool на этих Системных объектах.

Когда входной фильтр является объектом dfilt, FVTool выполняет анализ фиксированной точки, если арифметическое свойство объекта фильтра установлено в 'fixed'. Однако для Системных объектов фильтра, fvtool(H,'Arithmetic',ARITH,...) анализирует H, на основе арифметики, заданной во входе ARITH.

ARITH может быть одним из 'double', 'single' или 'fixed'. Вход 'Arithmetic' только важен для анализа Системных объектов фильтра. Арифметическая установка ARITH, применяется ко всем Системным объектам фильтра, которые вы вводите к FVTool. Когда вы задаете 'double' или 'single', функция выполняет дважды - или анализ с одинарной точностью. Когда вы задаете 'fixed', арифметические изменения в зависимости от установки свойства CoefficientDataType и заблокирован ли Системный объект или разблокирован.

 Детали для вычислений с фиксированной точкой

Если вы не задаете арифметику для non-CIC структур, и Системный объект находится в разблокированном состоянии, функция использует арифметику с двойной точностью. Если Системный объект заблокирован, функция выполняет анализ на основе заблокированного типа входных данных. Структуры CIC только поддерживают вычисления с фиксированной точкой.

Методы анализа noisepsd и freqrespest имеют ограничения поведения в fvtool. Чтобы видеть правила, щелкните по ссылкам к этим методам.

h = fvtool(...) возвращается фигура обрабатывают h. Можно использовать этот указатель, чтобы взаимодействовать с FVTool из командной строки. Смотрите Управление FVTool из командной строки MATLAB.

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

  • Расширенная версия панели инструментов редактирования графика MATLAB®. Следующая таблица показывает значки панели инструментов, характерные для FVTool.

    Значок

    Описание

    Восстановите представление по умолчанию. Это представление отображает буферные области вокруг данных и показывает только значительные данные. Видеть, что ответ использует стандартный графический вывод MATLAB, который показывает все значения данных, View использования> Full View.

    Легенда Toggle

    Переключите сетку

    Соединитесь с Filter Designer (появляется, только если FVTool был запущен с Filter Designer),


    Переключитесь режим режима/Замены Add (появляется, только если FVTool был запущен от Filter Designer),

  • Панель инструментов Analysis со следующими значками

    Ответ значения текущего фильтра. Смотрите freqz и zerophase для получения дополнительной информации.

    Чтобы видеть нулевой фазовый отклик, щелкните правой кнопкой по метке оси Y Значения, строят и выбирают Zero-phase из контекстного меню.

    Фазовый отклик текущего фильтра. Смотрите phasez для получения дополнительной информации.

    Накладывает ответ значения и фазовый отклик текущего фильтра. Смотрите freqz для получения дополнительной информации.

    Показывает групповую задержку текущего фильтра. Групповая задержка является средней задержкой фильтра как функция частоты. Смотрите grpdelay для получения дополнительной информации.

    Показывает задержку фазы текущего фильтра. Задержка фазы является задержкой, которую фильтр налагает на каждый компонент входного сигнала. Смотрите phasedelay для получения дополнительной информации.

    Импульсный ответ текущего фильтра. Импульсный ответ является ответом фильтра к импульсному входу. Смотрите impz для получения дополнительной информации.

    Переходной процесс текущего фильтра. Переходной процесс является ответом фильтра к входу шага. Смотрите stepz для получения дополнительной информации.

    Нулевой полюсом график, который показывает положения полюсов и нулей текущего фильтра на z-плоскости. Смотрите zplane для получения дополнительной информации.

    Отфильтруйте коэффициенты текущего фильтра, которые зависят от структуры фильтра (например, прямая форма, решетка, и т.д.) в текстовом поле. Для фильтров SOS каждый раздел отображен как отдельный фильтр.

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

Соединение с Filter Designer

В приложении Filter Designer выбор View> Filter Visualization Tool или кнопка на панели инструментов Full View Analysis, когда анализ отображен, запускают FVTool для текущего фильтра. Можно синхронизировать Filter Designer и FVTool с кнопкой на панели инструментов. Любые изменения, внесенные в фильтр в Filter Designer, сразу отражаются в FVTool.

Два режима ссылки обеспечиваются через кнопку на панели инструментов переключателя / :

  • Замена — демонтирует фильтр, в настоящее время отображенный в FVTool, и вставляет новый фильтр.

  • Добавьте — сохраняет фильтр, в настоящее время отображенный в FVTool, и добавляет новый фильтр в отображение.

Изменение осей

Можно изменить x-или модули оси Y путем щелчка правой кнопкой по мыши по подписи по осям или путем щелчка правой кнопкой по графику и выбора Analysis Parameters. Доступные параметры для модулей осей следующие.

ГрафикМодули оси XМодули оси Y

Значение

Нормированная частота
Линейная частота
Значение
Значение (дБ)
Значение придало квадратную форму
Нулевая фаза

Фаза

Нормированная частота
Линейная частота
Фаза
Непрерывная фаза
Степени
Радианы

Значение и фаза

Нормированная частота
Линейная частота

(ось Y на левой стороне)

Значение
Значение (дБ)
Значение придало квадратную форму
Нулевая фаза

(ось Y на правой стороне)

Фаза
Непрерывная фаза
Степени
Радианы

Групповая задержка

Нормированная частота
Линейная частота
Выборки
Время

Задержка фазы

Нормированная частота
Линейная частота
Степени
Радианы

Импульсный ответ

Выборки
Время

Амплитуда

Переходной процесс

Выборки
Время

Амплитуда

Нуль полюса

Действительная часть

Мнимая часть

Изменение графика

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

Analysis Parameters является параметрами, которые применяются к отображенным исследованиям. Чтобы отобразить их, щелкните правой кнопкой по области построения и выберите Analysis Parameters из меню. (Обратите внимание на то, что можно получить доступ к меню, только если кнопка Edit Plot неактивна.) Следующие аналитические параметры отображены. (Если больше чем один ответ отображен, параметры, применимые к каждому графику, отображены.) Не все эти аналитические поля отображены для всех типов графиков:

  • Normalized Frequency — если проверяется, частота нормирована между 0 и 1, или если не проверяемый, частота находится в Гц

  • Frequency Scale — шкала оси Y (Linear или Log)

  • Frequency Range — область значений оси частоты или Specify freq. vector

  • Number of Points — количество выборок раньше вычисляло ответ

  • Frequency Vector — вектор, чтобы использовать для графического вывода, если Specify freq. vector выбран в Frequency Range.

  • Magnitude Display — модули оси Y (Magnitude, Magnitude (dB), Magnitude squared или Zero-Phase)

  • Phase Units — модули оси Y (Degrees или Radians)

  • Phase Display — тип графика фазы (Phase или Continuous Phase)

  • Group Delay Units — модули оси Y (Samples или Time)

  • Specify Length — тип длины импульса или переходного процесса (Default или Specified)

  • Длина число точек, чтобы использовать для импульса или переходного процесса

В дополнение к вышеупомянутым аналитическим параметрам можно изменить тип графика для Импульса и Переходных процессов путем щелчка правой кнопкой и выбора Line with Marker, Stem или Line из контекстного меню. Можно изменить модули оси X путем щелчка правой кнопкой по метке оси X и выбора Samples или Time.

Чтобы сохранить отображенные параметры как значения по умолчанию, чтобы использовать, когда Filter Designer или FVTool будут открыты, нажмите Save as default.

Чтобы восстановить значения по умолчанию, нажмите Restore original defaults.

Всплывающие подсказки отображают информацию о конкретной точке в графике. Смотрите В интерактивном режиме Исследуют Отображенные на графике Данные (MATLAB) для получения информации о всплывающих подсказках.

Если у вас есть программное обеспечение DSP System Toolbox, FVTool отображает маску спецификации наряду с вашим разработанным фильтром на графике значения.

Примечание

Чтобы использовать View> Passband zoom, ваш фильтр, должно быть, был разработан с помощью fdesign или Filter Designer. Изменение масштаба полосы пропускания не обеспечивается для фильтров каскадной расчески интегратора (CIC), потому что CICS не имеет обычных полос пропускания.

Накладывание ответа

Можно наложить второй ответ на графике путем выбора Analysis> Overlay Analysis и выбора доступного ответа. Вторая ось Y добавляется к правой стороне графика ответа. Диалоговое окно Analysis Parameters показывает параметры для оси X и обеих осей Y. Смотрите Аналитические Параметры Отображения для демонстрационного диалогового окна Analysis Parameters.

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

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

  • 'Analysis' — отображает заданный тип графика для анализа. В следующей таблице перечислены все аналитические типы и как вызвать их. Обратите внимание на то, что единственные исследования, которые используют внутренности фильтра, являются оценкой ответа значения и степенью шума округления, которые доступны только с продуктом DSP System Toolbox.

    Аналитический типАналитическая опция

    График значения

    'magnitude'

    График фазы

    'phase'

    Значение и график фазы

    `freq'

    График групповой задержки

    'grpdelay'

    График задержки фазы

    `phasedelay'

    Импульсный график ответа

    'impulse'

    Переходный процесс

    'step'

    Нулевой полюсом график

    'polezero'

    Отфильтруйте коэффициенты

    'coefficients'

    Отфильтруйте информацию

    'info'

    Оценка ответа значения

    (доступный только с продуктом DSP System Toolbox, смотрите freqrespest для получения дополнительной информации),

    'magestimate'

    Степень шума округления

    (доступный только с продуктом DSP System Toolbox, смотрите noisepsd для получения дополнительной информации),

    'noisepower'

  • сетка средства управления, является ли сеткой 'on' или 'off'

  • легенда средства управления, является ли легендой 'on' или 'off'

  • 'Fs' — управляет частотой дискретизации, просачивается FVTool. Вектор частоты дискретизации должен иметь ту же длину как количество фильтров или скалярного значения. Если это - вектор, каждое значение применяется к своему соответствующему фильтру. Если это - скаляр, то же значение применяется ко всем фильтрам.

  • SosViewSettings — (Эта опция доступна, только если у вас есть продукт DSP System Toolbox.) Для фильтров разделов второго порядка, это управляет, как фильтр отображен. Свойство SOSViewSettings содержит объект, таким образом, необходимо использовать этот синтаксис, чтобы установить его: set(h.SOSViewSettings,'View',viewtype), где viewtype является одним из следующего:

    • завершенный Отображает полный ответ полного фильтра

    • 'Individual' — Отображает ответ каждого раздела отдельно

    • 'Совокупный' — Отображения ответ для каждого раздела, накопленного с каждым предшествующим разделом. Если ваш фильтр имеет три раздела, первый график показывает раздел один, второй график показывает накопление разделов один и два, и третий график показывает накопление всех трех разделов.

      Можно также задать, использовать ли SecondaryScaling, который определяет, где разделы должны быть разделены. Вторичные точки масштабирования являются масштабирующимися местоположениями между рекурсивным и нерекурсивными частями раздела. Значением по умолчанию является false, который не использует вторичное масштабирование. Чтобы включить вторичное масштабирование, используйте этот синтаксис: set(h.SOSViewSettings,'View','Cumulative',true)

    • 'UserDefined' — Позволяет вам задавать, какие разделы отобразить и порядок, в котором можно отобразить их. Введите массив ячеек, где каждый раздел представлен его индексом. Если вы вводите один индекс, только тот раздел построен. Если вы вводите область значений индексов, объединенный ответ той области значений разделов построен. Например, если ваш фильтр имеет четыре раздела, введение {1:4} строит объединенный ответ для всех четырех разделов, и введение {1,2,3,4} строит ответ для каждого раздела индивидуально.

Примечание

Можно изменить другие свойства FVTool из командной строки с помощью функции set. Используйте get(h), чтобы просмотреть теги свойства и текущие настройки свойства.

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

addfilter(h,filtobj) добавляет новый фильтр в FVTool. Новый фильтр, filtobj, должен быть объектом фильтра dfilt. Можно задать частоту дискретизации нового фильтра с addfilter(h,filtobj,'Fs',10).

setfilter(h,filtobj) заменяет фильтр в FVTool с фильтром, заданным в filtobj. Можно установить частоту дискретизации, как описано выше.

deletefilter(h, index) удаляет фильтр в массиве ячеек FVTool местоположение index.

legend(h,str1,str2,...) создает легенду в FVTool путем соединения str1 с фильтром 1, str2 с фильтром 2, и т.д. Смотрите legend в документации MATLAB для получения информации.

Примеры

свернуть все

Отобразите ответ значения 6-го порядка эллиптический фильтр. Задайте пульсацию полосы пропускания 3 дБ, затухание полосы задерживания 50 дБ, частоту дискретизации 1 кГц и нормированное ребро полосы пропускания 300 Гц. Запустите FVTool с командной строки.

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

Отобразите и анализируйте несколько КИХ-фильтров, запуская FVTool с командной строки.

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

Отобразите связанные аналитические параметры.

Запустите FVTool с командной строки. Отобразите ответ значения 6-го порядка эллиптический фильтр. Задайте пульсацию полосы пропускания 3 дБ, затухание полосы задерживания 50 дБ, частоту дискретизации 1 кГц и нормированное ребро полосы пропускания 300 Гц.

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

Отобразите фазовый отклик фильтра.

h.Analysis = 'phase';

Включите легенду графика и добавьте текст.

legend(h,'Phase plot')

Задайте частоту дискретизации 1 кГц. Отобразите двухсторонний ответ в центре.

h.Fs = 1000;
h.FrequencyRange='[-Fs/2, Fs/2)';

Просмотрите все свойства графика. Свойства, характерные для FVTool, в конце списка.

get(h)
                     Grid: 'on'
                   Legend: 'on'
          AnalysisToolbar: 'on'
            FigureToolbar: 'on'
               DesignMask: 'off'
          SOSViewSettings: [1x1 dspopts.sosview]
                       Fs: 1000
                 Alphamap: [1x64 double]
          CloseRequestFcn: 'closereq'
                    Color: [0.9400 0.9400 0.9400]
                 Colormap: [64x3 double]
              CurrentAxes: [1x1 Axes]
         CurrentCharacter: ''
            CurrentObject: [0x0 GraphicsPlaceholder]
             CurrentPoint: [0 0]
             DockControls: 'on'
                 FileName: ''
            IntegerHandle: 'on'
           InvertHardcopy: 'on'
              KeyPressFcn: ''
            KeyReleaseFcn: ''
                  MenuBar: 'none'
                     Name: 'Filter Visualization Tool - Phase Response'
                 NextPlot: 'new'
              NumberTitle: 'on'
               PaperUnits: 'inches'
         PaperOrientation: 'portrait'
            PaperPosition: [0.5167 2.7000 7.4667 5.6000]
        PaperPositionMode: 'auto'
                PaperSize: [8.5000 11]
                PaperType: 'usletter'
                  Pointer: 'arrow'
        PointerShapeCData: [16x16 double]
      PointerShapeHotSpot: [1 1]
                 Position: [358 291 560 420]
                 Renderer: 'opengl'
             RendererMode: 'auto'
                   Resize: 'on'
                ResizeFcn: ''
            SelectionType: 'normal'
                  ToolBar: 'auto'
                     Type: 'figure'
                    Units: 'pixels'
      WindowButtonDownFcn: ''
    WindowButtonMotionFcn: ''
        WindowButtonUpFcn: ''
        WindowKeyPressFcn: ''
      WindowKeyReleaseFcn: ''
     WindowScrollWheelFcn: ''
              WindowStyle: 'normal'
             BeingDeleted: 'off'
            ButtonDownFcn: ''
                 Children: [15x1 Graphics]
                 Clipping: 'on'
                CreateFcn: ''
                DeleteFcn: ''
               BusyAction: 'queue'
         HandleVisibility: 'on'
                  HitTest: 'on'
            Interruptible: 'on'
                   Parent: [1x1 Root]
                 Selected: 'off'
       SelectionHighlight: 'on'
                      Tag: 'filtervisualizationtool'
            UIContextMenu: [0x0 GraphicsPlaceholder]
                 UserData: []
                  Visible: 'on'
          FrequencyVector: [1x256 double]
        OverlayedAnalysis: ''
                 Analysis: 'phase'
            ShowReference: 'on'
               PhaseUnits: 'Radians'
           NumberofPoints: 8192
             PhaseDisplay: 'Phase'
           FrequencyRange: '[-Fs/2, Fs/2)'
      NormalizedFrequency: 'off'
           FrequencyScale: 'Linear'
            PolyphaseView: 'off'

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