Main Content

butter

버터워스 IIR 디지털 필터 설계

설명

butterFilter = butter(designSpecs,SystemObject=true)는 객체 designSpecs의 사양을 사용하여 버터워스 IIR 디지털 필터를 설계합니다.

필터 사양 객체 designSpecs에 따라 butter 설계 방법이 유효하지 않을 수 있습니다. 필터 사양 객체와 함께 designmethods를 사용하여 버터워스 IIR 디지털 필터 설계가 가능한지 확인하십시오.

designmethods(designSpecs,SystemObject=true)

butterFilter = butter(designSpecs,designoption=value,... SystemObject=true)는 하나 이상의 지정된 설계 옵션과 해당 값이 포함된 버터워스 IIR 필터를 반환합니다.

사용 가능한 설계 옵션 목록을 보려면 사양 객체에 대해 designoptions 함수를 실행하십시오. 이 함수는 필터가 사용하는 디폴트 설계 옵션 목록도 제공합니다.

designoptions(designSpecs,'butter')

예제

butterFilter = design(designSpecs,'butter',SystemObject=true)는 버터워스 IIR 디지털 필터 설계를 위한 대체 구문입니다.

butter 설계 방법을 사양 객체 designSpecs으로 사용하는 방법에 대한 전체 도움말을 보려면 MATLAB® 명령 프롬프트에 다음을 입력하십시오.

help(designSpecs,'butter')

예제

모두 축소

저역통과 및 고역통과 주파수 응답을 갖는 버터워스 필터를 설계합니다. 필터 설계 절차는 다음과 같습니다.

  1. fdesign 함수를 사용하여 필터 설계 사양을 지정합니다.

  2. designmethods 함수에서 제공하는 설계 방법을 선택합니다.

  3. 선택 가능한 설계 옵션을 확인하기 위해 designoptions 함수를 사용합니다.

  4. 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 주파수를 0.6π 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)

입력 인수

출력 인수

모두 축소

버터워스 IIR 필터로, 필터 System object로 반환됩니다. System object 및 해당 속성의 값은 입력 designSpecs 객체 및 함수에 지정된 기타 설계 옵션에 따라 달라집니다.

버전 내역

R2011a에 개발됨

모두 확장