Проектирование фильтра нижних частот equiriple FIR. Задайте частоту краев полосы пропускания 0,2δ рад/образец и частоту краев полосы стопа 0,25δ рад/образец. Установите пульсацию полосы пропускания 0,5 дБ, а затухание полосы останова 40 дБ..
designSpecs =
lowpass with properties:
Response: 'Lowpass'
Specification: 'Fp,Fst,Ap,Ast'
Description: {4x1 cell}
NormalizedFrequency: 1
Fpass: 0.2000
Fstop: 0.2500
Apass: 0.5000
Astop: 40
Для проектирования фильтра используйте метод Equiripple по умолчанию.
filt =
dsp.FIRFilter with properties:
Structure: 'Direct form'
NumeratorSource: 'Property'
Numerator: [1x69 double]
InitialConditions: 0
Show all properties
Определите доступные методы проектирования, запустив designmethods функция на объекте спецификации конструкции фильтра, designSpecs.
Design Methods that support System objects for class fdesign.lowpass (Fp,Fst,Ap,Ast):
butter
cheby1
cheby2
ellip
equiripple
ifir
kaiserwin
multistage
Можно также указать варианты конструкции, используемые при проектировании фильтра. Чтобы просмотреть список доступных параметров, запустите designoptions функция на designSpecs.
ans = struct with fields:
FilterStructure: {'dffir' 'dffirt' 'dfsymfir' 'fftfir'}
DensityFactor: 'double'
MinPhase: 'bool'
MaxPhase: 'bool'
MinOrder: {'any' 'even' 'odd'}
StopbandShape: {'flat' 'linear' '1/f'}
StopbandDecay: 'double'
UniformGrid: 'bool'
SystemObject: 'bool'
DefaultFilterStructure: 'dffir'
DefaultDensityFactor: 16
DefaultMaxPhase: 0
DefaultMinOrder: 'any'
DefaultMinPhase: 0
DefaultStopbandDecay: 0
DefaultStopbandShape: 'flat'
DefaultSystemObject: 0
DefaultUniformGrid: 1
Проектирование эквиптного фильтра с минимальной фазой FIR путем настройки 'MinPhase' кому true.
filtMin =
dsp.FIRFilter with properties:
Structure: 'Direct form'
NumeratorSource: 'Property'
Numerator: [1x59 double]
InitialConditions: 0
Show all properties
Отображение нулевых полюсных графиков конструкций по умолчанию и конструкций с минимальной фазой.
Измените конструкцию фильтра с помощью эллиптического метода. Определите доступные варианты конструкции для эллиптического метода.
ans = struct with fields:
FilterStructure: {1x6 cell}
SOSScaleNorm: 'ustring'
SOSScaleOpts: 'fdopts.sosscaling'
MatchExactly: {'passband' 'stopband' 'both'}
SystemObject: 'bool'
DefaultFilterStructure: 'df2sos'
DefaultMatchExactly: 'both'
DefaultSOSScaleNorm: ''
DefaultSOSScaleOpts: [1x1 fdopts.sosscaling]
DefaultSystemObject: 0
Точно сопоставить полосу пропускания по настройкам 'MatchExactly' кому 'passband'.
filt =
dsp.BiquadFilter with properties:
Structure: 'Direct form II'
SOSMatrixSource: 'Property'
SOSMatrix: [3x6 double]
ScaleValues: [4x1 double]
InitialConditions: 0
OptimizeUnityScaleValues: true
Show all properties
На секциях второго порядка можно задать масштабирование нормы Pth. Используйте масштабирование нормы L-бесконечности во временной области.
filtL =
dsp.BiquadFilter with properties:
Structure: 'Direct form II'
SOSMatrixSource: 'Property'
SOSMatrix: [3x6 double]
ScaleValues: [4x1 double]
InitialConditions: 0
OptimizeUnityScaleValues: true
Show all properties
Отображение частотных характеристик фильтров.