주요 콘텐츠

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

designfilt

디지털 필터 설계

designfilt는 더 이상 스크립트나 함수 내에서 이 함수 자체를 올바르게 호출하도록 도와주지 않습니다. 자세한 내용은 버전 내역 항목을 참조하십시오.

설명

d = designfilt(resp,Name,Value)는 응답 유형 resp를 갖는 digitalFilter 객체 d를 설계합니다. resp의 예로는 'lowpassfir''bandstopiir'이 있습니다. 일련의 이름-값 인수를 사용하여 필터를 더 자세히 지정합니다. 허용되는 사양 세트는 resp에 따라 달라지며, 다음 항목의 조합으로 구성됩니다.

  • 주파수 제약 조건 - 필터가 원하는 동작을 보이게 되는 주파수에 대응합니다. 'PassbandFrequency''CutoffFrequency'가 그러한 예입니다. 주파수 제약 조건은 항상 지정해야 합니다.

  • 크기 제약 조건 - 특정 주파수 범위에서의 필터 동작을 설명합니다. 'PassbandRipple''StopbandAttenuation'이 그러한 예입니다. designfilt는 크기 제약 조건이 지정되지 않은 경우 디폴트 값을 제공합니다. 임의 크기 설계에서는 항상 원하는 진폭으로 구성된 벡터를 지정해야 합니다.

  • 필터 차수: 일부 설계 방법에서는 사용자가 차수를 지정할 수 있습니다. 그 외의 설계 방법은 최소 차수 설계를 생성합니다. 즉, 지정된 제약 조건을 충족하는 가장 작은 필터를 생성합니다.

  • 설계 방법 - 필터를 설계하는 데 사용되는 알고리즘입니다. 제약된 최소제곱('cls')과 카이저 윈도우 생성('kaiserwin')이 그러한 예입니다. 일부 사양 세트의 경우에는 여러 설계 방법 중에서 하나를 선택할 수 있습니다. 그 밖의 경우에는 원하는 사양을 충족하는 단 하나의 방법만 사용할 수 있습니다.

  • 설계 방법 옵션 - 지정된 설계 방법과 관련된 파라미터입니다. 'window' 방법의 경우 'Window'가, 임의 크기 등리플 설계의 경우 최적화 'Weights'가 그러한 예입니다. designfilt는 설계 옵션이 지정되지 않은 경우 디폴트 값을 제공합니다.

  • 샘플 레이트 - 필터가 동작하는 주파수입니다. designfilt의 디폴트 샘플 레이트는 2Hz입니다. 이 값을 사용하는 것은 정규화 주파수로 작업하는 것과 동일합니다.

참고

명령줄에 불완전하거나 짝이 맞지 않는 이름-값 인수 세트를 지정하면 designfilt필터 설계 도우미를 열도록 제안합니다. 필터 설계를 도와주는 이 도우미는 명령줄에 올바르게 수정된 MATLAB® 코드를 붙여 넣어 줍니다.

올바르지 않은 사양 세트를 사용하여 스크립트나 함수에서 designfilt를 호출하면 designfilt필터 설계 도우미를 여는 링크가 포함된 오류 메시지를 반환합니다. 필터 설계를 도와주는 이 도우미는 명령줄에 올바르게 수정된 MATLAB 코드를 붙여 넣어 줍니다. 설계된 필터는 작업 공간에 저장됩니다.

  • filter 함수를 dataOut = filter(d,dataIn) 형식으로 사용하여 digitalFilter d로 입력 신호 dataIn을 필터링합니다. IIR 필터의 경우 filter 함수는 Direct-Form II 구현을 사용합니다. filtfiltfftfilt 함수를 digitalFilter 객체와 함께 사용할 수도 있습니다.

  • 필터 분석기를 사용하여 필터 d를 시각화합니다.

  • d.Numeratord.Denominator를 입력하여 digitalFilter d의 분자 및 분모 계수를 구합니다. IIR 필터의 경우, 계수는 2차 종속 연결 전달 함수로 표현됩니다.

  • digitalFilter 객체와 함께 사용할 수 있는 필터링 함수 및 분석 함수의 목록은 digitalFilter 항목을 참조하십시오.

예제

designfilt(d)를 사용하면 기존 디지털 필터 d를 편집할 수 있습니다. 이를 사용하면 필터 사양이 입력된 채로 필터 설계 도우미가 열리며 수정이 가능해집니다. 이는 digitalFilter 객체를 편집할 수 있는 유일한 방법입니다. 이 외의 경우, 해당 속성은 읽기 전용입니다.

예제

모두 축소

저역 차단 주파수 400Hz와 고역 차단 주파수 450Hz를 갖는 20차 대역통과 FIR 필터를 설계합니다. 샘플 레이트는 1500Hz입니다.

bpfilt = designfilt("bandpassfir", ...
    FilterOrder=20,CutoffFrequency1=400, ...
    CutoffFrequency2=450,SampleRate=1500);

필터의 크기 응답을 시각화합니다.

freqz(bpfilt.Numerator,1,[],1500)

Figure contains 2 axes objects. Axes object 1 with title Phase, xlabel Frequency (Hz), ylabel Phase (degrees) contains an object of type line. Axes object 2 with title Magnitude, xlabel Frequency (Hz), ylabel Magnitude (dB) contains an object of type line.

이를 사용하여 1000개 샘플을 포함하는 랜덤 신호를 필터링합니다.

dataIn = randn(1000,1);
dataOut = filter(bpfilt,dataIn);

저역 3dB 주파수 400Hz와 고역 3dB 주파수 450Hz를 갖는 20차 대역통과 IIR 필터를 설계합니다. 샘플 레이트는 1500Hz입니다.

bpfilt = designfilt("bandpassiir", ...
    FilterOrder=20,HalfPowerFrequency1=400, ...
    HalfPowerFrequency2=450,SampleRate=1500);

필터의 주파수 응답을 시각화합니다.

freqz(bpfilt,[],1500)

Figure contains 2 axes objects. Axes object 1 with title Phase, xlabel Frequency (Hz), ylabel Phase (degrees) contains an object of type line. Axes object 2 with title Magnitude, xlabel Frequency (Hz), ylabel Magnitude (dB) contains an object of type line.

이를 사용하여 1000개 샘플로 구성된 랜덤 신호를 필터링합니다.

dataIn = randn(1000,1);
dataOut = filter(bpfilt,dataIn);

입력 인수

모두 축소

필터 응답과 유형으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

유한 임펄스 응답(FIR) 저역통과 필터를 설계하려면 이 옵션을 선택합니다. 이 예제에서는 표에 나와 있는 다섯 번째 사양 세트를 사용합니다.

d = designfilt('lowpassfir', ...        % Response type
       'FilterOrder',25, ...            % Filter order
       'PassbandFrequency',400, ...     % Frequency constraints
       'StopbandFrequency',550, ...
       'DesignMethod','ls', ...         % Design method
       'PassbandWeight',1, ...          % Design method options
       'StopbandWeight',2, ...
       'SampleRate',2000)               % Sample rate

  • 'FilterOrder'를 생략하거나(필요한 경우) 주파수 제약 조건 중 하나라도 생략하면 designfilt는 오류를 생성합니다.

  • 크기 제약 조건을 생략하면 designfilt는 디폴트 값을 사용합니다.

  • 'DesignMethod'를 생략하면 designfilt는 사양 세트에 대한 디폴트 설계 방법을 사용합니다.

  • 설계 방법 옵션을 생략하면 designfilt는 선택한 설계 방법에 대한 디폴트 값을 사용합니다.

  • 'SampleRate'를 생략하면 designfilt는 이 값을 2Hz로 설정합니다.

무한 임펄스 응답(IIR) 저역통과 필터를 설계하려면 이 옵션을 선택합니다. 이 예제에서는 표에 나와 있는 첫 번째 사양 세트를 사용합니다.

d = designfilt('lowpassiir', ...        % Response type
       'PassbandFrequency',400, ...     % Frequency constraints
       'StopbandFrequency',550, ...
       'PassbandRipple',4, ...          % Magnitude constraints
       'StopbandAttenuation',55, ...
       'DesignMethod','ellip', ...      % Design method
       'MatchExactly','passband', ...   % Design method options
       'SampleRate',2000)               % Sample rate

  • 'FilterOrder'를 생략하거나(필요한 경우) 주파수 제약 조건 중 하나라도 생략하면 designfilt는 오류를 생성합니다.

  • 크기 제약 조건을 생략하면 designfilt는 디폴트 값을 사용합니다.

  • 'DesignMethod'를 생략하면 designfilt는 사양 세트에 대한 디폴트 설계 방법을 사용합니다.

  • 설계 방법 옵션을 생략하면 designfilt는 선택한 설계 방법에 대한 디폴트 값을 사용합니다.

  • 'SampleRate'를 생략하면 designfilt는 이 값을 2Hz로 설정합니다.

유한 임펄스 응답(FIR) 고역통과 필터를 설계하려면 이 옵션을 선택합니다. 이 예제에서는 표에 나와 있는 첫 번째 사양 세트를 사용합니다.

d = designfilt('highpassfir', ...       % Response type
       'StopbandFrequency',400, ...     % Frequency constraints
       'PassbandFrequency',550, ...
       'StopbandAttenuation',55, ...    % Magnitude constraints
       'PassbandRipple',4, ...
       'DesignMethod','kaiserwin', ...  % Design method
       'ScalePassband',false, ...       % Design method options
       'SampleRate',2000)               % Sample rate

  • 'FilterOrder'를 생략하거나(필요한 경우) 주파수 제약 조건 중 하나라도 생략하면 designfilt는 오류를 생성합니다.

  • 크기 제약 조건을 생략하면 designfilt는 디폴트 값을 사용합니다.

  • 'DesignMethod'를 생략하면 designfilt는 사양 세트에 대한 디폴트 설계 방법을 사용합니다.

  • 설계 방법 옵션을 생략하면 designfilt는 선택한 설계 방법에 대한 디폴트 값을 사용합니다.

  • 'SampleRate'를 생략하면 designfilt는 이 값을 2Hz로 설정합니다.

필터 차수 인수 이름주파수 제약 조건 인수 이름크기 제약 조건 인수 이름'DesignMethod' 인수 값설계 옵션 인수 이름

N/A(최소 차수 설계)

'StopbandFrequency'

'PassbandFrequency'

'StopbandAttenuation'

'PassbandRipple'

'equiripple'(디폴트 값)

N/A

'kaiserwin'

'MinOrder'

'ScalePassband'

'FilterOrder'

'CutoffFrequency'

N/A

'window'

'Window'

'ScalePassband'

'FilterOrder'

'CutoffFrequency'

'StopbandAttenuation'

'PassbandRipple'

'cls'

'PassbandOffset'

'ZeroPhase'

'FilterOrder'

'StopbandFrequency'

'PassbandFrequency'

N/A

'equiripple'(디폴트 값)

'PassbandWeight'

'StopbandWeight'

'ls'

'PassbandWeight'

'StopbandWeight'

무한 임펄스 응답(IIR) 고역통과 필터를 설계하려면 이 옵션을 선택합니다. 이 예제에서는 표에 나와 있는 첫 번째 사양 세트를 사용합니다.

d = designfilt('highpassiir', ...       % Response type
       'StopbandFrequency',400, ...     % Frequency constraints
       'PassbandFrequency',550, ...
       'StopbandAttenuation',55, ...    % Magnitude constraints
       'PassbandRipple',4, ...
       'DesignMethod','cheby1', ...     % Design method
       'MatchExactly','stopband', ...   % Design method options
       'SampleRate',2000)               % Sample rate

  • 'FilterOrder'를 생략하거나(필요한 경우) 주파수 제약 조건 중 하나라도 생략하면 designfilt는 오류를 생성합니다.

  • 크기 제약 조건을 생략하면 designfilt는 디폴트 값을 사용합니다.

  • 'DesignMethod'를 생략하면 designfilt는 사양 세트에 대한 디폴트 설계 방법을 사용합니다.

  • 설계 방법 옵션을 생략하면 designfilt는 선택한 설계 방법에 대한 디폴트 값을 사용합니다.

  • 'SampleRate'를 생략하면 designfilt는 이 값을 2Hz로 설정합니다.

유한 임펄스 응답(FIR) 대역통과 필터를 설계하려면 이 옵션을 선택합니다. 이 예제에서는 표에 나와 있는 네 번째 사양 세트를 사용합니다.

d = designfilt('bandpassfir', ...       % Response type
       'FilterOrder',86, ...            % Filter order
       'StopbandFrequency1',400, ...    % Frequency constraints
       'PassbandFrequency1',450, ...
       'PassbandFrequency2',600, ...
       'StopbandFrequency2',650, ...
       'DesignMethod','ls', ...         % Design method
       'StopbandWeight1',1, ...         % Design method options
       'PassbandWeight', 2, ...
       'StopbandWeight2',3, ...
       'SampleRate',2000)               % Sample rate

  • 'FilterOrder'를 생략하거나(필요한 경우) 주파수 제약 조건 중 하나라도 생략하면 designfilt는 오류를 생성합니다.

  • 크기 제약 조건을 생략하면 designfilt는 디폴트 값을 사용합니다.

  • 'DesignMethod'를 생략하면 designfilt는 사양 세트에 대한 디폴트 설계 방법을 사용합니다.

  • 설계 방법 옵션을 생략하면 designfilt는 선택한 설계 방법에 대한 디폴트 값을 사용합니다.

  • 'SampleRate'를 생략하면 designfilt는 이 값을 2Hz로 설정합니다.

무한 임펄스 응답(IIR) 대역통과 필터를 설계하려면 이 옵션을 선택합니다. 이 예제에서는 표에 나와 있는 첫 번째 사양 세트를 사용합니다.

d = designfilt('bandpassiir', ...       % Response type
       'StopbandFrequency1',400, ...    % Frequency constraints
       'PassbandFrequency1',450, ...
       'PassbandFrequency2',600, ...
       'StopbandFrequency2',650, ...
       'StopbandAttenuation1',40, ...   % Magnitude constraints
       'PassbandRipple',1, ...
       'StopbandAttenuation2',50, ...
       'DesignMethod','ellip', ...      % Design method
       'MatchExactly','passband', ...   % Design method options
       'SampleRate',2000)               % Sample rate

  • 'FilterOrder'를 생략하거나(필요한 경우) 주파수 제약 조건 중 하나라도 생략하면 designfilt는 오류를 생성합니다.

  • 크기 제약 조건을 생략하면 designfilt는 디폴트 값을 사용합니다.

  • 'DesignMethod'를 생략하면 designfilt는 사양 세트에 대한 디폴트 설계 방법을 사용합니다.

  • 설계 방법 옵션을 생략하면 designfilt는 선택한 설계 방법에 대한 디폴트 값을 사용합니다.

  • 'SampleRate'를 생략하면 designfilt는 이 값을 2Hz로 설정합니다.

유한 임펄스 응답(FIR) 대역저지 필터를 설계하려면 이 옵션을 선택합니다. 이 예제에서는 표에 나와 있는 네 번째 사양 세트를 사용합니다.

d = designfilt('bandstopfir', ...       % Response type
       'FilterOrder',32, ...            % Filter order
       'PassbandFrequency1',400, ...    % Frequency constraints
       'StopbandFrequency1',500, ...
       'StopbandFrequency2',700, ...
       'PassbandFrequency2',850, ...
       'DesignMethod','ls', ...         % Design method
       'PassbandWeight1',1, ...         % Design method options
       'StopbandWeight', 3, ...
       'PassbandWeight2',5, ...
       'SampleRate',2000)               % Sample rate

  • 'FilterOrder'를 생략하거나(필요한 경우) 주파수 제약 조건 중 하나라도 생략하면 designfilt는 오류를 생성합니다.

  • 크기 제약 조건을 생략하면 designfilt는 디폴트 값을 사용합니다.

  • 'DesignMethod'를 생략하면 designfilt는 사양 세트에 대한 디폴트 설계 방법을 사용합니다.

  • 설계 방법 옵션을 생략하면 designfilt는 선택한 설계 방법에 대한 디폴트 값을 사용합니다.

  • 'SampleRate'를 생략하면 designfilt는 이 값을 2Hz로 설정합니다.

무한 임펄스 응답(IIR) 대역저지 필터를 설계하려면 이 옵션을 선택합니다. 이 예제에서는 표에 나와 있는 첫 번째 사양 세트를 사용합니다.

d = designfilt('bandstopiir', ...       % Response type
       'PassbandFrequency1',400, ...    % Frequency constraints
       'StopbandFrequency1',500, ...
       'StopbandFrequency2',700, ...
       'PassbandFrequency2',850, ...
       'PassbandRipple1',1, ...         % Magnitude constraints
       'StopbandAttenuation',55, ...
       'PassbandRipple2',1, ...
       'DesignMethod','ellip', ...      % Design method
       'MatchExactly','both', ...       % Design method options
       'SampleRate',2000)               % Sample rate

  • 'FilterOrder'를 생략하거나(필요한 경우) 주파수 제약 조건 중 하나라도 생략하면 designfilt는 오류를 생성합니다.

  • 크기 제약 조건을 생략하면 designfilt는 디폴트 값을 사용합니다.

  • 'DesignMethod'를 생략하면 designfilt는 사양 세트에 대한 디폴트 설계 방법을 사용합니다.

  • 설계 방법 옵션을 생략하면 designfilt는 선택한 설계 방법에 대한 디폴트 값을 사용합니다.

  • 'SampleRate'를 생략하면 designfilt는 이 값을 2Hz로 설정합니다.

유한 임펄스 응답(FIR) 미분기 필터를 설계하려면 이 옵션을 선택합니다. 이 예제에서는 표에 나와 있는 두 번째 사양 세트를 사용합니다.

d = designfilt('differentiatorfir', ... % Response type
       'FilterOrder',42, ...            % Filter order
       'PassbandFrequency',400, ...     % Frequency constraints
       'StopbandFrequency',500, ...
       'DesignMethod','equiripple', ... % Design method
       'PassbandWeight',1, ...          % Design method options
       'StopbandWeight',4, ...
       'SampleRate',2000)               % Sample rate

  • 부분대역 미분기를 설계할 때 'FilterOrder'를 생략하거나 주파수 제약 조건 중 하나라도 생략하면 designfilt는 오류를 생성합니다.

  • 'DesignMethod'를 생략하면 designfilt는 사양 세트에 대한 디폴트 설계 방법을 사용합니다.

  • 설계 방법 옵션을 생략하면 designfilt는 선택한 설계 방법에 대한 디폴트 값을 사용합니다.

  • 'SampleRate'를 생략하면 designfilt는 이 값을 2Hz로 설정합니다.

필터 차수 인수 이름주파수 제약 조건 인수 이름크기 제약 조건 인수 이름'DesignMethod' 인수 값설계 옵션 인수 이름

'FilterOrder'

N/A

N/A

'equiripple'(디폴트 값)

N/A

'ls'

N/A

'FilterOrder'

'PassbandFrequency'

'StopbandFrequency'

N/A

'equiripple'(디폴트 값)

'PassbandWeight'

'StopbandWeight'

'ls'

N/A

유한 임펄스 응답(FIR) 힐베르트 변환기 필터를 설계하려면 이 옵션을 선택합니다. 이 예제에서는 표에 나와 있는 사양 세트를 사용합니다.

d = designfilt('hilbertfir', ...        % Response type
       'FilterOrder',12, ...            % Filter order
       'TransitionWidth',400, ...       % Frequency constraints
       'DesignMethod','ls', ...         % Design method
       'SampleRate',2000)               % Sample rate

  • 'FilterOrder' 또는 'TransitionWidth'를 생략하면 designfilt는 오류를 생성합니다.

  • 'DesignMethod'를 생략하면 designfilt는 힐베르트 변환기에 대한 디폴트 설계 방법을 사용합니다.

  • 'SampleRate'를 생략하면 designfilt는 이 값을 2Hz로 설정합니다.

필터 차수 인수 이름주파수 제약 조건 인수 이름크기 제약 조건 인수 이름'DesignMethod' 인수 값설계 옵션 인수 이름

'FilterOrder'

'TransitionWidth'

N/A

'equiripple'(디폴트 값)

N/A

'ls'

N/A

임의 크기 응답의 유한 임펄스 응답(FIR) 필터를 설계하려면 이 옵션을 선택합니다. 이 예제에서는 표에 나와 있는 두 번째 사양 세트를 사용합니다.

d = designfilt('arbmagfir', ...         % Response type
       'FilterOrder',88, ...            % Filter order
       'NumBands',4, ...                % Frequency constraints
       'BandFrequencies1',[0 20], ...
       'BandFrequencies2',[25 40], ...
       'BandFrequencies3',[45 65], ...
       'BandFrequencies4',[70 100], ...
       'BandAmplitudes1',[2 2], ...     % Magnitude constraints
       'BandAmplitudes2',[0 0], ...
       'BandAmplitudes3',[1 1], ...
       'BandAmplitudes4',[0 0], ...
       'DesignMethod','ls', ...         % Design method
       'BandWeights1',[1 1]/10, ...     % Design method options
       'BandWeights2',[3 1], ...
       'BandWeights3',[2 4], ...
       'BandWeights4',[5 1], ...
       'SampleRate',200)                % Sample rate

  • 'FilterOrder'를 생략하거나 주파수 제약 조건이나 크기 제약 조건 중 하나라도 생략하면 designfilt는 오류를 생성합니다.

  • 'DesignMethod'를 생략하면 designfilt는 사양 세트에 대한 디폴트 설계 방법을 사용합니다.

  • 설계 방법 옵션을 생략하면 designfilt는 선택한 설계 방법에 대한 디폴트 값을 사용합니다.

  • 'SampleRate'를 생략하면 designfilt는 이 값을 2Hz로 설정합니다.

필터 차수 인수 이름주파수 제약 조건 인수 이름크기 제약 조건 인수 이름'DesignMethod' 인수 값설계 옵션 인수 이름

'FilterOrder'

'Frequencies'

'Amplitudes'

'freqsamp'(디폴트 값)

'Window'

'equiripple'

'Weights'

'ls'

'Weights'

'FilterOrder'

'NumBands'

'BandFrequencies1'

'BandFrequenciesN'

'BandAmplitudes1'

'BandAmplitudesN'

'equiripple'(디폴트 값)

'BandWeights1'

'BandWeightsN'

'ls'

'BandWeights1'

'BandWeightsN'

데이터형: char | string

디지털 필터로, designfilt에 의해 생성된 digitalFilter 객체로 지정됩니다. 기존 digitalFilter의 사양을 변경하려면 이 입력값을 사용하십시오.

이름-값 인수

모두 확장

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

예: FilterOrder=20,CutoffFrequency=0.4는 저역통과 FIR 필터를 지정하는 데 충분합니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: 'FilterOrder',20,'CutoffFrequency',0.4는 저역통과 FIR 필터를 지정하는 데 충분합니다.

일부 이름-값 조합은 유효하지 않습니다. 유효한 조합은 필요한 필터 응답과 설계의 주파수 제약 조건 및 크기 제약 조건에 따라 달라집니다.

샘플 레이트

모두 확장

샘플 레이트로, 헤르츠를 단위로 하는 양의 스칼라로 지정됩니다. 정규화 주파수로 작업하려면 'SampleRate'를 2로 설정하거나 이를 단순히 생략하면 됩니다.

데이터형: double

필터 차수

모두 확장

필터 차수로, 양의 정수 스칼라로 지정됩니다.

데이터형: double

IIR 필터의 분자 차수로, 양의 정수로 지정됩니다.

데이터형: double

IIR 필터의 분모 차수로, 양의 정수로 지정됩니다.

데이터형: double

주파수 제약 조건

모두 확장

통과대역 주파수로, 양의 스칼라로 지정됩니다. 주파수 값은 나이퀴스트 범위 내에 있어야 합니다.

'PassbandFrequency1'은 대역통과 설계나 대역저지 설계의 저역 통과대역 주파수입니다.

'PassbandFrequency2'는 대역통과 설계나 대역저지 설계의 고역 통과대역 주파수입니다.

데이터형: double

저지대역 주파수로, 양의 스칼라로 지정됩니다. 주파수 값은 나이퀴스트 범위 내에 있어야 합니다.

'StopbandFrequency1'은 대역통과 설계나 대역저지 설계의 저역 저지대역 주파수입니다.

'StopbandFrequency2'는 대역통과 설계나 대역저지 설계의 고역 저지대역 주파수입니다.

데이터형: double

6dB 주파수로, 양의 스칼라로 지정됩니다. 주파수 값은 나이퀴스트 범위 내에 있어야 합니다.

'CutoffFrequency1'은 대역통과 설계나 대역저지 설계의 저역 6dB 주파수입니다.

'CutoffFrequency2'는 대역통과 설계나 대역저지 설계의 고역 6dB 주파수입니다.

데이터형: double

3dB 주파수로, 양의 스칼라로 지정됩니다. 주파수 값은 나이퀴스트 범위 내에 있어야 합니다.

'HalfPowerFrequency1'은 대역통과 설계나 대역저지 설계의 저역 3dB 주파수입니다.

'HalfPowerFrequency2'는 대역통과 설계나 대역저지 설계의 고역 3dB 주파수입니다.

데이터형: double

힐베르트 변환기의 통과대역과 저지대역 사이의 천이 영역의 폭으로, 양의 스칼라로 지정됩니다.

데이터형: double

응답 주파수로, 벡터로 지정됩니다. 이 변수를 사용하여 임의 크기 응답의 필터가 원하는 진폭을 갖게 되는 주파수를 나열할 수 있습니다. 주파수는 단조 증가(Monotonically Increasing)해야 하고 나이퀴스트 범위 내에 있어야 합니다. 벡터의 첫 번째 요소는 0 또는 fs/2(여기서 fs는 샘플 레이트임)여야 하고, 마지막 요소는 fs/2여야 합니다. 샘플 레이트를 지정하지 않으면 designfilt는 디폴트 값 2Hz를 사용합니다.

데이터형: double

다중대역 설계에 포함된 대역 수로, 10보다 크지 않은 양의 정수 스칼라로 지정됩니다.

데이터형: double

다중대역 응답 주파수로, 숫자형 벡터로 지정됩니다. 'BandFrequenciesi'(여기서 i는 1~'NumBands'임)는 다중대역 설계의 i번째 대역이 원하는 값 'BandAmplitudesi'를 갖게 되는 주파수를 포함하는 벡터입니다. 'NumBands'는 최대 10일 수 있습니다. 주파수는 나이퀴스트 범위 내에 있어야 하고 단조 증가(Monotonically Increasing)하는 순서로 지정되어야 합니다. 인접한 주파수 대역들은 교차점에서 동일한 진폭을 가져야 합니다.

데이터형: double

크기 제약 조건

모두 확장

통과대역 리플로, 양의 스칼라로 지정됩니다(단위: 데시벨).

'PassbandRipple1'은 대역저지 설계의 저역 통과대역 리플입니다.

'PassbandRipple2'는 대역저지 설계의 고역 통과대역 리플입니다.

데이터형: double

저지대역 감쇠량으로, 양의 스칼라로 지정됩니다(단위: 데시벨).

'StopbandAttenuation1'은 대역통과 설계의 저역 저지대역 감쇠량입니다.

'StopbandAttenuation2'는 대역통과 설계의 고역 저지대역 감쇠량입니다.

데이터형: double

임의 크기 응답 필터에 대한 원하는 응답 진폭으로, 벡터로 지정됩니다. 진폭을 선형 단위로 표현합니다. 벡터는 'Frequencies'와 길이가 동일해야 합니다.

데이터형: double

다중대역 응답 진폭으로, 숫자형 벡터로 지정됩니다. 'BandAmplitudesi'(여기서 i는 1~'NumBands'임)는 다중대역 설계의 i번째 대역에서 원하는 진폭을 포함하는 벡터입니다. 'NumBands'는 최대 10일 수 있습니다. 진폭을 선형 단위로 표현합니다. 'BandAmplitudesi''BandFrequenciesi'와 길이가 동일해야 합니다. 인접한 주파수 대역들은 교차점에서 동일한 진폭을 가져야 합니다.

데이터형: double

설계 방법

모두 확장

설계 방법으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 어떤 설계 방법을 선택할지는 사용자가 지정하는 주파수 제약 조건과 크기 제약 조건 세트에 따라 달라집니다.

  • 'butter'는 버터워스 IIR 필터를 설계합니다. 버터워스 필터는 통과대역이 최대로 평탄한 매끄러운 단조 주파수 응답을 가집니다. 이 필터는 평탄한 대신 롤오프 가파름이 낮습니다.

  • 'cheby1'은 체비쇼프 유형 I IIR 필터를 설계합니다. 체비쇼프 유형 I 필터는 통과대역에서 등리플이고 저지대역에서 최대로 평탄한 주파수 응답을 가집니다. 통과대역 리플은 롤오프 가파름이 증가할수록 커집니다.

  • 'cheby2'는 체비쇼프 유형 II IIR 필터를 설계합니다. 체비쇼프 유형 II 필터는 통과대역에서 최대로 평탄하고 저지대역에서 등리플인 주파수 응답을 가집니다.

  • 'cls'는 제약된 최소제곱을 사용하여 FIR 필터를 설계합니다. 이 방법은 지정된 임의의 조각별 선형 함수와 필터의 크기 응답 간의 차이를 최소화합니다. 동시에, 이 방법을 사용하면 통과대역 리플과 저지대역 감쇠량에 대한 제약 조건을 설정할 수 있습니다.

  • 'ellip'은 타원 IIR 필터를 설계합니다. 타원 필터는 통과대역과 저지대역 모두에서 등리플인 주파수 응답을 가집니다.

  • 'equiripple'은 팍스-맥클렐란(Parks-McClellan) 알고리즘을 사용하여 등리플 FIR 필터를 설계합니다. 등리플 필터는 모든 대역에서 최대 리플 크기를 최소화하는 주파수 응답을 가집니다.

  • 'freqsamp'는 주파수 응답을 균일하게 샘플링하고 푸리에 역변환을 구하여 임의 크기 응답을 갖는 FIR 필터를 설계합니다.

  • 'kaiserwin'은 카이저 윈도우 방법을 사용하여 FIR 필터를 설계합니다. 이 방법은 이상적인 필터의 임펄스 응답을 자르고 카이저 윈도우를 사용하여 결과로 생성되는 잘림 진동을 감쇠시킵니다.

  • 'ls'는 최소제곱을 사용하여 FIR 필터를 설계합니다. 이 방법은 지정된 임의의 조각별 선형 함수와 필터의 크기 응답 간의 차이를 최소화합니다.

  • 'maxflat'은 최대 평탄 FIR 필터를 설계합니다. 이러한 필터는 통과대역이 최대로 평탄한 매끄러운 단조 주파수 응답을 가집니다.

  • 'window'는 최소제곱 근사법을 사용하여 필터 계수를 계산한 후 'Window'를 사용하여 임펄스 응답을 평탄화합니다.

데이터형: char | string

설계 방법 옵션

모두 확장

'kaiserwin' 설계의 최소 차수 패리티로, 'any' 또는 'even'으로 지정됩니다. 'MinOrder''even'으로 설정하면 designfilt 함수는 짝수 차수를 갖는 최소 차수를 반환합니다. 'MinOrder''any'로 설정하면 반환되는 필터는 짝수 또는 홀수 차수 중 더 작은 차수를 가질 수 있습니다.

데이터형: char | string

윈도우로, 길이가 N + 1인 벡터(여기서 N은 필터 차수임)로 지정됩니다. 'Window'는 윈도우 이름 또는 윈도우를 생성하는 데 사용된 함수를 지정하는 함수 핸들과 쌍으로 구성될 수도 있습니다. 이러한 함수는 모두 첫 번째 입력값으로 N + 1을 받아야 합니다. 추가 입력값은 셀형 배열을 지정하여 전달할 수 있습니다. 기본적으로, 'Window''freqsamp' 설계 방법의 경우 빈 벡터이고, 'window' 설계 방법의 경우 @hamming입니다.

사용 가능한 윈도우 목록은 윈도우 항목을 참조하십시오.

예: 'Window',hann(N+1)'Window',(1-cos(2*pi*(0:N)'/N))/2는 모두 차수가 N인 필터에 사용하기 위해 핸(Hann) 윈도우를 지정합니다.

예: 'Window','hamming'은 필요한 차수의 해밍 윈도우를 지정합니다.

예: 'Window',@mywindow를 사용하면 자신만의 고유한 윈도우 함수를 정의할 수 있습니다.

예: 'Window',{@kaiser,0.5}는 형태 파라미터로 0.5를 사용하여 필요한 차수의 카이저 윈도우를 지정합니다.

데이터형: double | char | string | function_handle | cell

정확히 일치시킬 대역으로, 'stopband', 'passband' 또는 'both'로 지정됩니다. 'both'는 타원 설계 방법에만 사용할 수 있으며 여기서 이 값은 디폴트 값입니다. 'stopband''butter' 방법과 'cheby2' 방법의 디폴트 값입니다. 'passband''cheby1' 방법의 디폴트 값입니다.

데이터형: char | string

통과대역 오프셋으로, 양의 스칼라(단위: 데시벨)로 지정됩니다. 'PassbandOffset'은 통과대역의 필터 이득을 지정합니다.

예: 'PassbandOffset',0은 통과대역에서 단위 이득을 갖는 필터를 생성합니다.

예: 'PassbandOffset',2는 2dB 또는 1.259의 통과대역 이득을 갖는 필터를 생성합니다.

데이터형: double

통과대역 스케일링으로, 논리형 스칼라로 지정됩니다. 'ScalePassband'true로 설정하면 윈도우 생성(Windowing) 후 필터가 영주파수에서 단위 이득을 갖도록 통과대역이 스케일링됩니다.

예: 'Window',{@kaiser,0.1},'ScalePassband',true를 사용하면 영주파수에서의 크기 응답이 정확히 0dB인 필터를 지정할 수 있습니다. 'ScalePassband',false를 지정하는 경우에는 그렇게 되지 않습니다. 이를 확인하려면 필터 분석기를 사용하여 필터를 시각화하고 확대하십시오.

데이터형: logical

영위상으로, 논리형 스칼라로 지정됩니다. 'ZeroPhase'true로 설정하면 결과로 생성되는 필터의 영위상 응답이 항상 양수입니다. 이를 통해 결과에 대해 스펙트럼 분해를 수행하여 최소 위상 필터를 구할 수 있습니다.

데이터형: logical

통과대역 최적화 가중치로, 양의 스칼라로 지정됩니다.

'PassbandWeight1'은 대역저지 FIR 설계에 대한 저역 통과대역 최적화 가중치입니다.

'PassbandWeight2'는 대역저지 FIR 설계에 대한 고역 통과대역 최적화 가중치입니다.

데이터형: double

저지대역 최적화 가중치로, 양의 스칼라로 지정됩니다.

'StopbandWeight1'은 대역통과 FIR 설계에 대한 저역 저지대역 최적화 가중치입니다.

'StopbandWeight2'는 대역통과 FIR 설계에 대한 고역 저지대역 최적화 가중치입니다.

데이터형: double

최적화 가중치로, 'Amplitudes'와 길이가 같은 벡터나 양의 스칼라로 지정됩니다.

데이터형: double

다중대역 가중치로, 양의 스칼라 세트나 벡터 세트로 지정됩니다. 'BandWeightsi'(여기서 i는 1~'NumBands'임)는 다중대역 설계의 i번째 대역의 최적화 가중치를 포함하는 스칼라 또는 벡터입니다. 벡터로 지정된 경우, 'BandWeightsi''BandAmplitudesi'와 길이가 동일해야 합니다.

데이터형: double

출력 인수

모두 축소

디지털 필터로, digitalFilter 객체로 반환됩니다.

세부 정보

모두 축소

버전 내역

R2014a에 개발됨

모두 확장