exponenta event banner

fvtool

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

Описание

fvtool(sysobj) отображает отклик на величину фильтра System object™.

пример

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

Например, чтобы визуализировать импульсную характеристику объекта FIR filter System, задайте 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 в Toolbox™ обработки сигналов.

Примеры

свернуть все

Создайте фильтр полуполосного прореживания нижних частот для данных, дискретизированных на частоте 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 and other objects of type uitoolbar, uimenu. The axes 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 and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) and Phase Response contains an object of type line.

Создайте фильтр нижних частот FIR минимального порядка для данных, дискретизированных на частоте 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);

Создайте фильтр нижних частот IIR минимального порядка с теми же свойствами, что и фильтр нижних частот FIR. Изменить FilterType свойство клонированного фильтра для IIR.

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

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

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

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

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

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

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

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

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

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

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

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

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

Рассчитайте стоимость внедрения фильтра нижних частот FIR.

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

Рассчитайте стоимость внедрения фильтра нижних частот IIR. Фильтр IIR более эффективен в реализации, чем фильтр FIR.

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

Вычислите групповую задержку фильтра нижних частот FIR.

grpdelay(FIRLPF)

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

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

grpdelay(IIRLPF)

Figure Filter Visualization Tool - Group delay contains an axes and other objects of type uitoolbar, uimenu. The axes 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 должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

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

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

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

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

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

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

  • 'noisepower' - Округленный спектр мощности шума

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

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