ss

Преобразуйте Системный объект фильтра дискретного времени в представление пространства состояний

Описание

пример

[A,B,C,D] = ss(sysobj) преобразует Систему фильтра object™ в представление пространства состояний, данное:

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

где x является вектором состояния, u является входным вектором, и y является выходным вектором.

[A,B,C,D] = ss(sysobj,'Arithmetic',arithType) анализирует Системный объект фильтра на основе арифметики, заданной в arithType.

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

Примеры

свернуть все

Спроектируйте четвертый порядок, объект фильтра биквадратного уравнения lowpass с нормированной частотой среза 0,4.

[z,p,k] = ellip(4,1,60,.4);    % Set up the filter
[s,g] = zp2sos(z,p,k);
biquad = dsp.BiquadFilter(s,g,'Structure','Direct form I')
biquad = 
  dsp.BiquadFilter with properties:

                       Structure: 'Direct form I'
                 SOSMatrixSource: 'Property'
                       SOSMatrix: [2x6 double]
                     ScaleValues: 0.0351
      NumeratorInitialConditions: 0
    DenominatorInitialConditions: 0
        OptimizeUnityScaleValues: true

  Show all properties

Преобразуйте спроектированный фильтр в форму пространства состояний с помощью ss функция.

[A,B,C,D] = ss(biquad)
A = 8×8

         0         0         0         0         0         0         0         0
    1.0000         0         0         0         0         0         0         0
    1.8116    1.0000    1.0095   -0.3954         0         0         0         0
         0         0    1.0000         0         0         0         0         0
    1.8116    1.0000    1.0095   -0.3954         0         0         0         0
         0         0         0         0    1.0000         0         0         0
    1.8116    1.0000    1.0095   -0.3954    1.1484    1.0000    0.5581   -0.7823
         0         0         0         0         0         0    1.0000         0

B = 8×1

    0.0351
         0
    0.0351
         0
    0.0351
         0
    0.0351
         0

C = 1×8

    1.8116    1.0000    1.0095   -0.3954    1.1484    1.0000    0.5581   -0.7823

D = 0.0351

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

свернуть все

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

'Fixed' значение применяется к Системным объектам фильтра со свойствами фиксированной точки только.

Когда 'Arithmetic' входной параметр задан как 'Fixed' и объект фильтра имеет тип данных содействующего набора к 'Same word length as input', арифметический анализ зависит от того, разблокирован ли Системный объект или заблокирован.

  • разблокированный – аналитическая функция объекта не может определить содействующий тип данных. Функция принимает, что содействующий тип данных подписывается, имеет 16-битный размер слова и автоматический масштабируемый. Функция выполняет анализ фиксированной точки на основе этого предположения.

  • заблокированный – Когда типом входных данных является 'double' или 'single', аналитическая функция объекта не может определить содействующий тип данных. Функция принимает, что тип данных коэффициентов подписывается, имеет 16-битный размер слова и автоматический масштабируемый. Функция выполняет анализ фиксированной точки на основе этого предположения.

Чтобы проверять, заблокирован ли Системный объект или разблокирован, используйте isLocked функция.

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

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

свернуть все

Матрица состояния, возвращенная как N-by-N матрица, где N является порядком фильтра.

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

Введите матрицу, возвращенную как N-by-1 вектор-столбец, указав, что количество входных параметров к линейной системе равняется 1. N является порядком фильтра.

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

Выходная матрица, возвращенная как 1 N вектором-строкой, указывая, что количество выходных параметров линейной системы равняется 1. N является порядком фильтра.

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

Проходная матрица, возвращенная как скаляр, указывая, что количество вводов и выводов линейной системы равняется 1.

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

Введенный в R2011a