butter
버터워스 IIR 디지털 필터 설계
구문
설명
는 객체 butterFilter
= butter(designSpecs
,SystemObject=true)designSpecs
의 사양을 사용하여 버터워스 IIR 디지털 필터를 설계합니다.
필터 사양 객체 designSpecs
에 따라 butter
설계 방법이 유효하지 않을 수 있습니다. 필터 사양 객체와 함께 designmethods
를 사용하여 버터워스 IIR 디지털 필터 설계가 가능한지 확인하십시오.
designmethods(designSpecs,SystemObject=true)
는 하나 이상의 지정된 설계 옵션과 해당 값이 포함된 버터워스 IIR 필터를 반환합니다.butterFilter
= butter(designSpecs
,designoption=value,... SystemObject=true)
사용 가능한 설계 옵션 목록을 보려면 사양 객체에 대해 designoptions
함수를 실행하십시오. 이 함수는 필터가 사용하는 디폴트 설계 옵션 목록도 제공합니다.
designoptions(designSpecs,'butter')
는 버터워스 IIR 디지털 필터 설계를 위한 대체 구문입니다.butterFilter
= design(designSpecs
,'butter',SystemObject=true)
butter
설계 방법을 사양 객체 designSpecs
으로 사용하는 방법에 대한 전체 도움말을 보려면 MATLAB® 명령 프롬프트에 다음을 입력하십시오.
help(designSpecs,'butter')
예제
버터워스 필터 설계하기
저역통과 및 고역통과 주파수 응답을 갖는 버터워스 필터를 설계합니다. 필터 설계 절차는 다음과 같습니다.
fdesign
함수를 사용하여 필터 설계 사양을 지정합니다.designmethods
함수에서 제공하는 설계 방법을 선택합니다.선택 가능한 설계 옵션을 확인하기 위해
designoptions
함수를 사용합니다.design
함수를 사용하여 필터를 설계합니다.
저역통과 필터
fdesign.lowpass
를 사용하여 디폴트 저역통과 필터 설계 사양 객체를 생성합니다.
designSpecs = fdesign.lowpass
designSpecs = lowpass with properties: Response: 'Lowpass' Specification: 'Fp,Fst,Ap,Ast' Description: {4x1 cell} NormalizedFrequency: 1 Fpass: 0.4500 Fstop: 0.5500 Apass: 1 Astop: 60
designmethods
함수를 사용하여 사용 가능한 설계 방법을 확인합니다. 버터워스 필터를 설계하려면 butter
를 선택합니다.
designmethods(designSpecs,SystemObject=true)
Design Methods that support System objects for class fdesign.lowpass (Fp,Fst,Ap,Ast): butter cheby1 cheby2 ellip equiripple ifir kaiserwin multistage
필터를 설계하는 동안 추가 설계 옵션을 지정할 수 있습니다. designoptions
함수를 사용하여 옵션 목록을 확인합니다. 이 함수는 필터가 사용하는 디폴트 설계 옵션 목록도 보여줍니다.
designoptions(designSpecs,'butter',SystemObject=true)
ans = struct with fields:
FilterStructure: {'df1sos' 'df2sos' 'df1tsos' 'df2tsos' 'cascadeallpass' 'cascadewdfallpass'}
SOSScaleNorm: 'ustring'
SOSScaleOpts: 'fdopts.sosscaling'
MatchExactly: {'passband' 'stopband'}
DefaultFilterStructure: 'df2sos'
DefaultMatchExactly: 'stopband'
DefaultSOSScaleNorm: ''
DefaultSOSScaleOpts: [1x1 fdopts.sosscaling]
design
함수를 사용하여 필터를 설계합니다. 'butter'
및 변수 designSpecs
에서 제공한 사양을 입력 인수로 전달합니다. 'matchexactly'
설계 옵션을 'passband'
로 지정합니다.
lpFilter = design(designSpecs,'butter',matchexactly='passband',SystemObject=true)
lpFilter = dsp.SOSFilter with properties: Structure: 'Direct form II' CoefficientSource: 'Property' Numerator: [13x3 double] Denominator: [13x3 double] HasScaleValues: true ScaleValues: [0.4095 0.3669 0.3330 0.3059 0.2841 0.2666 0.2525 0.2414 0.2328 0.2263 0.2219 0.2193 0.4674 1] Use get to show all properties
설계된 필터의 주파수 응답을 시각화합니다.
filterAnalyzer(lpFilter)
고역통과 필터
fdesign.highpass
를 사용하여 고역통과 필터 설계 사양 객체를 생성합니다. 차수를 7로 지정하고 3dB 주파수를 radians/sample로 지정합니다.
designSpecs = fdesign.highpass('N,F3dB',7,.6)
designSpecs = highpass with properties: Specification: 'N,F3dB' Response: 'Highpass' Description: {2x1 cell} NormalizedFrequency: 1 FilterOrder: 7 F3dB: 0.6000
사용 가능한 설계 방법을 확인합니다. 버터워스 필터를 설계하려면 butter
를 선택합니다.
designmethods(designSpecs,SystemObject=true)
Design Methods that support System objects for class fdesign.highpass (N,F3dB): butter maxflat
필터를 설계하는 동안 추가 설계 옵션을 지정할 수 있습니다. designoptions
함수를 사용하여 옵션 목록을 확인합니다. 이 함수는 필터가 사용하는 디폴트 설계 옵션 목록도 보여줍니다.
designoptions(designSpecs,'butter',SystemObject=true)
ans = struct with fields:
FilterStructure: {'df1sos' 'df2sos' 'df1tsos' 'df2tsos' 'cascadeallpass' 'cascadewdfallpass'}
SOSScaleNorm: 'ustring'
SOSScaleOpts: 'fdopts.sosscaling'
DefaultFilterStructure: 'df2sos'
DefaultSOSScaleNorm: ''
DefaultSOSScaleOpts: [1x1 fdopts.sosscaling]
버터워스 필터를 설계하려면 design
함수를 사용하고 'butter'
를 입력값으로 지정합니다. 'FilterStructure'
를 'cascadeallpass'
로 설정합니다.
hpFilter = design(designSpecs,'butter',FilterStructure='cascadeallpass',SystemObject=true)
hpFilter = dsp.CoupledAllpassFilter with properties: Structure: 'Minimum multiplier' PureDelayBranch: 0 AllpassCoefficients1: {2x1 cell} AllpassCoefficients2: {2x1 cell} Gain1: '-1' Gain2: '1'
고역통과 주파수 응답을 시각화합니다.
filterAnalyzer(hpFilter)
입력 인수
designSpecs
— 필터 사양 객체
객체
출력 인수
butterFilter
— 버터워스 IIR 필터
System object™
버터워스 IIR 필터로, 필터 System object로 반환됩니다. System object 및 해당 속성의 값은 입력 designSpecs
객체 및 함수에 지정된 기타 설계 옵션에 따라 달라집니다.
버전 내역
R2011a에 개발됨R2023b: dsp.BiquadFilter
객체는 제거될 예정임
dsp.BiquadFilter
객체와 UseLegacyBiquadFilter
인수는 향후 릴리스에서 제거될 예정입니다.
R2022b: dsp.BiquadFilter
객체가 아니라 dsp.SOSFilter
객체를 설계함
butter
설계 방법은 이전에 dsp.BiquadFilter
객체를 생성했던 설계에서 이제는 dsp.SOSFilter
객체를 생성합니다.
디폴트 fdesign.lowpass
필터 사양 객체를 초기화합니다. design
함수를 SystemObject=true
플래그와 함께 사용하여 dsp.SOSFilter
필터 객체를 설계합니다.
designSpecs = fdesign.lowpass;
filtObj = design(designSpecs,'butter',SystemObject=true)
filtObj = dsp.SOSFilter with properties: Structure: 'Direct form II' CoefficientSource: 'Property' Numerator: [13×3 double] Denominator: [13×3 double] HasScaleValues: true ScaleValues: [0.4151 0.3718 0.3374 0.3099 0.2878 0.2701 0.2558 … ] Show all properties
dsp.SOSFilter
객체 대신 dsp.BiquadFilter
객체를 설계하려면 UseLegacyBiquadFilter
플래그를 사용하고 true
로 설정하면 됩니다.
filtObj = design(designSpecs,'butter',SystemObject=true,... UseLegacyBiquadFilter=true)
filtObj = dsp.BiquadFilter with properties: Structure: 'Direct form II' SOSMatrixSource: 'Property' SOSMatrix: [13×6 double] ScaleValues: [14×1 double] InitialConditions: 0 OptimizeUnityScaleValues: true Show all properties
참고 항목
함수
design
|designmethods
|designoptions
|fdesign
|cheby1
|cheby2
|ellip
|equiripple
|kaiserwin
객체
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)