digitalFilter

Описание

Использовать designfilt для проектирования и редактирования digitalFilter объекты.

  • Использовать designfilt в форме d = designfilt(resp,Name,Value) для разработки цифрового фильтра, d, с типом отклика resp. Настройте фильтр далее, используя Name,Value пар.

  • Использовать designfilt в форме designfilt(d) для редактирования существующего фильтра, d.

    Примечание

    Это единственный способ редактировать существующее digitalFilter объект. Его свойства в противном случае доступны только для чтения.

  • Использовать filter в форме dataOut = filter(d,dataIn) для фильтрации сигнала с помощью digitalFilter d. Входной вход может быть вектором двойной или одинарной точности. Это также может быть матрица с таким количеством столбцов, сколько существует входных каналов.

  • Используйте FVTool, чтобы визуализировать digitalFilter.

  • Эти функции берут digitalFilter объекты как вход.

Функции объекта

Фильтрация

ФункцияОписание

fftfilt

Фильтрация сигнала с digitalFilter использование основанного на FFT метода перекрытия-суммы

filter

Фильтрация сигнала с помощью digitalFilter

filtfilt

Выполняет нулевую фазовую фильтрацию сигнала с digitalFilter

Анализ фильтров

ФункцияОписание

double

Приводит коэффициенты digitalFilter для удвоения точности

filt2block

Генерирует Simulink® фильтровать блок, соответствующий digitalFilter

filtord

Возвращает порядок фильтра digitalFilter

firtype

Возвращает тип (1, 2, 3 или 4) конечной импульсной характеристики- digitalFilter

freqz

Возвращает или строит график частотной характеристики digitalFilter

FVTool

Открывает Инструмент Визуализации Фильтра и отображает величину ответ digitalFilter

grpdelay

Возвращает или строит график групповой задержки digitalFilter

impz

Возвращает или строит график импульсной характеристики digitalFilter

impzlength

Возвращает длину импульсной характеристики digitalFilter, фактический ли (для конечной импульсной характеристики фильтров) или эффективный (для БИХ фильтров)

info

Возвращает символьный массив с информацией о digitalFilter

isallpass

Возвращает true если a digitalFilter - allpass

isdouble

Возвращает true если коэффициенты digitalFilter являются двойной точностью

isfir

Возвращает true если a digitalFilter имеет конечную импульсную характеристику

islinphase

Возвращает true если a digitalFilter имеет линейную фазу

ismaxphase

Возвращает true если a digitalFilter является максимальной фазой

isminphase

Возвращает true если a digitalFilter является минимальной фазой

issingle

Возвращает true если коэффициенты digitalFilter являются одинарной точностью

isstable

Возвращает true если a digitalFilter является стабильным

phasedelay

Возвраты или графики фазы ответ задержки digitalFilter

phasez

Возвращает или строит график ( unwrapped) фазового отклика digitalFilter

single

Приводит коэффициенты digitalFilter к одинарной точности

ss

Возвращает представление digitalFilter в пространстве состояний

stepz

Возвращает или строит график переходной характеристики digitalFilter

tf

Возвращает представление передаточной функции digitalFilter

zerophase

Возвращает или строит график нулевой фазовой характеристики digitalFilter

zpk

Возвращает нули , полюса и усиления представление digitalFilter

zplane

Отображает полюса и нули передаточной функции, представленной digitalFilter

Примеры

свернуть все

Проектируйте lowpass БИХ фильтр с порядком 8, частотой полосы пропускания 35 кГц и неравномерность в полосе пропускания 0,2 дБ. Задайте частоту дискретизации 200 кГц. Визуализируйте амплитудную характеристику фильтра.

lpFilt = designfilt('lowpassiir','FilterOrder',8, ...
         'PassbandFrequency',35e3,'PassbandRipple',0.2, ...
         'SampleRate',200e3);
fvtool(lpFilt)

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

Используйте фильтр, который вы разработали, чтобы фильтровать 1000-выборочный случайный сигнал.

dataIn = randn(1000,1);
dataOut = filter(lpFilt,dataIn);

Вывод коэффициентов фильтра, выраженных как секции второго порядка.

sos = lpFilt.Coefficients
sos = 4×6

    0.2666    0.5333    0.2666    1.0000   -0.8346    0.9073
    0.1943    0.3886    0.1943    1.0000   -0.9586    0.7403
    0.1012    0.2023    0.1012    1.0000   -1.1912    0.5983
    0.0318    0.0636    0.0318    1.0000   -1.3810    0.5090

Введенный в R2014a