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 использование основанного на БПФ метода перекрытия-суммы

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 если digitalFilter allpass

isdouble

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

isfir

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

islinphase

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

ismaxphase

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

isminphase

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

issingle

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

isstable

Возвращает true если digitalFilter устойчиво

phasedelay

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

phasez

Возвращает или строит (развернутый) фазовый отклик 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)

Используйте фильтр, который вы спроектировали, чтобы отфильтровать случайный сигнал с 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