fvtool

Визуализируйте частотную характеристику фильтров DSP

Синтаксис

fvtool(sysobj)
fvtool(sysobj,options)
fvtool(____,Name,Value)

Описание

fvtool(sysobj) отображает ответ значения Системы фильтра object™.

пример

fvtool(sysobj,options) отображает ответ, который задан опциями.

Например, чтобы визуализировать импульсный ответ КИХ фильтруют Системный объект, устанавливают options на 'impulse'.

Fs = 96e3; filtSpecs = fdesign.lowpass(20e3,22.05e3,1,80,Fs);
    firlp2 = design(filtSpecs,'equiripple','SystemObject',true);
fvtool(firlp2,'impulse');

Для более входных опций смотрите fvtool.

fvtool(____,Name,Value) визуализирует ответ фильтра с каждым заданным набором свойств к заданному значению.

Для более входных опций смотрите fvtool.

Примеры

свернуть все

Создайте lowpass децимирующий фильтр полуполосы для данных, выбранных на уровне 44,1 кГц. Уровень выходных данных является 1/2 входной уровень выборки, или 22,05 кГц. Задайте порядок фильтра быть 52 с шириной перехода 4,1 кГц.

Fs = 44.1e3; 
filterspec = 'Filter order and transition width';
Order = 52;
TW = 4.1e3; 
firhalfbanddecim =dsp.FIRHalfbandDecimator('Specification',filterspec, ...
                                              'FilterOrder',Order, ...
                                              'TransitionWidth',TW, ...
                                              'SampleRate',Fs);

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

fvtool(firhalfbanddecim,'Analysis','impulse')

Постройте значение и фазовый отклик.

fvtool(firhalfbanddecim,'Analysis','freq')

Создайте КИХ минимального заказа lowpass фильтр для данных, выбранных на уровне 44,1 кГц. Задайте частоту полосы пропускания 8 кГц, частоту полосы задерживания 12 кГц, пульсацию полосы пропускания 0,1 дБ и затухание полосы задерживания 80 дБ.

Fs = 44.1e3; 
filtertype = 'FIR';
Fpass = 8e3;
Fstop = 12e3; 
Rp = 0.1;
Astop = 80;
FIRLPF = dsp.LowpassFilter('SampleRate',Fs, ...
                             'FilterType',filtertype, ...
                             'PassbandFrequency',Fpass, ...
                             'StopbandFrequency',Fstop, ...
                             'PassbandRipple',Rp, ...
                             'StopbandAttenuation',Astop);

Разработайте БИХ минимального заказа lowpass фильтр с теми же свойствами как КИХ lowpass фильтр. Измените свойство FilterType клонированного фильтра к IIR.

IIRLPF = clone(FIRLPF);
IIRLPF.FilterType = 'IIR';

Постройте импульсный ответ КИХ lowpass фильтр. Коэффициент нулевого порядка задерживается 19 выборками, который равен групповой задержке фильтра. КИХ lowpass фильтр является причинным КИХ-фильтром.

fvtool(FIRLPF,'Analysis','impulse')

Постройте импульсный ответ БИХ lowpass фильтр.

fvtool(IIRLPF,'Analysis','impulse')

Постройте значение и фазовый отклик КИХ lowpass фильтр.

fvtool(FIRLPF,'Analysis','freq')

Постройте значение и фазовый отклик БИХ lowpass фильтр.

fvtool(IIRLPF,'Analysis','freq')

Вычислите стоимость реализации КИХ lowpass фильтр.

cost(FIRLPF)
ans = struct with fields:
                  NumCoefficients: 39
                        NumStates: 38
    MultiplicationsPerInputSample: 39
          AdditionsPerInputSample: 38

Вычислите стоимость реализации БИХ lowpass фильтр. БИХ-фильтр более эффективен, чтобы реализовать, чем КИХ-фильтр.

cost(IIRLPF)
ans = struct with fields:
                  NumCoefficients: 18
                        NumStates: 14
    MultiplicationsPerInputSample: 18
          AdditionsPerInputSample: 14

Вычислите групповую задержку КИХ lowpass фильтр.

grpdelay(FIRLPF)

Вычислите групповую задержку БИХ lowpass фильтр. КИХ-фильтр имеет постоянную групповую задержку (линейная фаза), в то время как ее БИХ-дубликат не делает.

grpdelay(IIRLPF)

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

свернуть все

Отфильтруйте аналитические опции, заданные как одно из следующего:

  • 'magnitude' – Ответ значения

  • 'phase' – Фазовый отклик

  • 'freq' – Частотная характеристика

  • 'grpdelay' – Групповая задержка

  • 'phasedelay' – Задержка фазы

  • 'impulse' – Импульсный ответ

  • шаг Переходной процесс

  • 'polezero' – Нулевой график полюса

  • 'coefficients' – Содействующий вектор

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

  • 'magestimate' – Оценка ответа значения

  • 'noisepower' – Спектр мощности шума округления

Пример: fvtool(firFilt,'freq')

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: firFilt = dsp.FIRFilter('Numerator', fir1(130, 2000/(8000/2))); fvtool(firFilt,'Arithmetic','single')

Выборка уровня, заданного как скаляр. Это значение определяет интервал Найквиста [-Fs/2 Fs/2], в котором fvtool показывает частотную характеристику фильтров в channelizer.

Типы данных: single | double

Задайте арифметику, используемую во время анализа. Аналитический инструмент принимает фильтр с двойной точностью, когда арифметический вход не задан, и Системный объект фильтра разблокирован. Набор свойств 'Arithmetic' к 'Fixed' применяется только, чтобы отфильтровать Системные объекты со свойствами фиксированной точки.

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