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