Преобразуйте квантованный фильтр в форму разделов второго порядка (SOS)
Hq2 = sos(Hq)
Hq2 = sos(Hq, order)
Hq2 = sos(Hq, order, scale)
Hq2 = sos(Hq) возвращает квантованный фильтр Hq2, который имеет разделы второго порядка и структуру dft2. Используйте те же дополнительные аргументы, используемые в tf2sos.
Hq2 = sos(Hq, order) задает порядок разделов в Hq2, где order является одной из следующих опций:
'down' — чтобы заказать разделы так, первый раздел Hq2 содержит полюса, самые близкие к модульному кругу (масштабирование нормы L∞)
'up' — чтобы заказать разделы так, первый раздел Hq2 содержит полюса, самые дальние от модульного круга (масштабирование нормы L2 и значение по умолчанию)
Hq2 = sos(Hq, order, scale) также задает желаемое масштабирование усиления и коэффициенты числителя всех разделов второго порядка, где scale является одной из следующих опций:
'none' не применять масштабирование (значение по умолчанию)
Inf применять масштабирование нормы бесконечности
'two' — применять масштабирование 2-нормы
Hq2 является Системный объект фильтра dsp.BiquadFilter.
Используйте норму бесконечности, масштабирующуюся в сочетании с заказывающим, чтобы минимизировать вероятность переполнения в реализации фильтра. Рассмотрите использование 2-нормы, масштабирующейся в сочетании с вниз заказывающим, чтобы минимизировать пиковый шум округления.
Когда Hq является фильтром фиксированной точки, коэффициенты фильтра нормированы так, чтобы значение максимального коэффициента в каждом разделе равнялось 1. Усиление фильтра применяется к первому значению шкалы Hq2.
sos использует прямую форму II транспонированный (dft2) структура, чтобы реализовать фильтры раздела второго порядка.
[b,a]=butter(8,.5);
Hq = dfilt.df2t(b,a);
Hq.arithmetic = 'fixed';
Hq1 = sos(Hq)
Hq1 =
FilterStructure: 'Direct-Form II Transposed, Second-Order Sections'
Arithmetic: 'double'
sosMatrix: [4x6 double]
ScaleValues: [0.00927734375;1;1;1;1]
OptimizeScaleValues: true
PersistentMemory: false