fvtool

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

Описание

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(____,Name,Value) визуализирует ответ фильтра с каждым заданным набором свойств к заданному значению.

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

Примеры

свернуть все

Создайте децимирующий фильтр полуполосы 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')

Figure Filter Visualization Tool - Impulse Response contains an axes object and other objects of type uitoolbar, uimenu. The axes object with title Impulse Response contains an object of type stem.

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

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

Figure Filter Visualization Tool - Magnitude Response (dB) and Phase Response contains an axes object and other objects of type uitoolbar, uimenu. The axes object with title Magnitude Response (dB) and Phase Response contains an object of type line.

Создайте КИХ минимального порядка фильтр 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')

Figure Filter Visualization Tool - Impulse Response contains an axes object and other objects of type uitoolbar, uimenu. The axes object with title Impulse Response contains an object of type stem.

Постройте импульсную характеристику БИХ фильтр lowpass.

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

Figure Filter Visualization Tool - Impulse Response contains an axes object and other objects of type uitoolbar, uimenu. The axes object with title Impulse Response contains an object of type stem.

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

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

Figure Filter Visualization Tool - Magnitude Response (dB) and Phase Response contains an axes object and other objects of type uitoolbar, uimenu. The axes object with title Magnitude Response (dB) and Phase Response contains an object of type line.

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

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

Figure Filter Visualization Tool - Magnitude Response (dB) and Phase Response contains an axes object and other objects of type uitoolbar, uimenu. The axes object with title Magnitude Response (dB) and Phase Response contains an object of type line.

Вычислите стоимость реализации КИХ фильтр 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)

Figure Filter Visualization Tool - Group delay contains an axes object and other objects of type uitoolbar, uimenu. The axes object with title Group delay contains an object of type line.

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

grpdelay(IIRLPF)

Figure Filter Visualization Tool - Group delay contains an axes object and other objects of type uitoolbar, uimenu. The axes object with title Group delay contains an object of type line.

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

свернуть все

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

  • 'magnitude' – Ответ величины

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

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

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

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

  • 'impulse' – Импульсная характеристика

  • 'step' – Переходной процесс

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

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

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

  • 'magestimate' – Оценка ответа величины

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

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. 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' применяется только, чтобы отфильтровать Системные объекты со свойствами фиксированной точки.

Когда 'Arithmetic' свойство установлено в 'Fixed', инструмент показывает и ссылочный фильтр с двойной точностью и квантованную версию фильтра. CoefficientsDataType свойство в соответствующем Системном объекте фильтра используется в создании квантованной версии фильтра для всех аналитических опций за исключением двух ниже:

  • 'magestimate' – Оценка ответа величины.

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

Для этих двух аналитических опций все настройки фиксированной точки используются в анализе квантованной версии фильтра.

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