Преобразуйте Системный объект фильтра дискретного времени в представление пространства состояний
Спроектируйте четвертый порядок, объект фильтра биквадратного уравнения 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
sysobj
— Введите фильтрВведите фильтр в виде одного из следующих Системных объектов фильтра:
arithType
— Арифметический тип'double'
(значение по умолчанию) | 'single'
| 'Fixed'
Арифметика используется в анализе фильтра в виде 'double'
единственный
, или 'Fixed'
. Когда арифметический вход не задан, и Системный объект фильтра разблокирован, аналитический инструмент принимает фильтр с двойной точностью. Когда арифметический вход не задан, и Системный объект заблокирован, функция выполняет анализ на основе типа данных заблокированного входа.
'Fixed'
значение применяется к Системным объектам фильтра со свойствами фиксированной точки только.
Когда 'Arithmetic'
входной параметр задан как 'Fixed'
и объект фильтра имеет тип данных содействующего набора к 'Same word length as input'
, арифметический анализ зависит от того, разблокирован ли Системный объект или заблокирован.
разблокированный – аналитическая функция объекта не может определить содействующий тип данных. Функция принимает, что содействующий тип данных подписывается, имеет 16-битный размер слова и автоматический масштабируемый. Функция выполняет анализ фиксированной точки на основе этого предположения.
заблокированный – Когда типом входных данных является 'double'
или 'single'
, аналитическая функция объекта не может определить содействующий тип данных. Функция принимает, что тип данных коэффициентов подписывается, имеет 16-битный размер слова и автоматический масштабируемый. Функция выполняет анализ фиксированной точки на основе этого предположения.
Чтобы проверять, заблокирован ли Системный объект или разблокирован, используйте isLocked
функция.
Когда арифметический вход задан как 'Fixed'
и объект фильтра имеет тип данных содействующего набора к пользовательскому числовому типу, объектная функция выполняет анализ фиксированной точки на основе пользовательского типа числовых данных.
A
— Матрица состоянияМатрица состояния, возвращенная как N-by-N матрица, где N является порядком фильтра.
Типы данных: double
B
— Введите матрицуВведите матрицу, возвращенную как N-by-1 вектор-столбец, указав, что количество входных параметров к линейной системе равняется 1. N является порядком фильтра.
Типы данных: double
C
— Выходная матрицаВыходная матрица, возвращенная как 1 N вектором-строкой, указывая, что количество выходных параметров линейной системы равняется 1. N является порядком фильтра.
Типы данных: double
D
— Проходная матрицаПроходная матрица, возвращенная как скаляр, указывая, что количество вводов и выводов линейной системы равняется 1.
Типы данных: double
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.