Преобразуйте Системный объект фильтра в дискретном времени в представление пространства состояний
Спроектируйте 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.