ss

Преобразуйте цифровой фильтр в представление пространства состояний

Синтаксис

Описание

пример

[A,B,C,D] = ss(d) преобразует цифровой фильтр, d, в представление пространства состояний.

Представление фильтра в пространстве состояний задается как

x(k+1)=Ax(k)+Bu(k),y(k)=Cx(k)+Du(k),

где x - вектор состояния, u - входной вектор, а y - выходной вектор.

Примеры

свернуть все

Проектируйте lowpass БИХ фильтр порядка 6. Задайте нормированную частоту полосы пропускания 0.2π рад/образец. Вычислите представление фильтра в пространстве состояний.

d = designfilt('lowpassiir','FilterOrder',6,'PassbandFrequency',0.2);
[A,B,C,D] = ss(d)
A = 6×6

    1.5640   -0.9294         0         0         0         0
    1.0000         0         0         0         0         0
    0.1795    0.0036    1.6097   -0.8112         0         0
         0         0    1.0000         0         0         0
    0.0020    0.0000    0.0408    0.0021    1.6956   -0.7409
         0         0         0         0    1.0000         0

B = 6×1

    0.0913
         0
    0.0046
         0
    0.0001
         0

C = 1×6

    0.0020    0.0000    0.0408    0.0021    3.6956    0.2591

D = 5.2030e-05

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

свернуть все

Цифровой фильтр, заданный как digitalFilter объект. Использовать designfilt для генерации цифрового фильтра на основе спецификаций частотной характеристики.

Пример: d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5) задает фильтр Баттерворта третьего порядка с нормализованной частотой 3 дБ 0.5, рад/выборка.

Выходные аргументы

свернуть все

Матрица состояний, возвращенная как матрица.

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

Матрица ввода в состояние, возвращенная как матрица.

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

Матрица состояние-выход, возвращенная как матрица.

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

Исходная матрица, возвращенная как матрица.

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

См. также

| | |

Введенный в R2014a