Main Content

digitalFilter

설명

designfilt를 사용하여 digitalFilter 객체를 설계하고 편집합니다.

  • designfiltd = designfilt(resp,Name,Value) 형식으로 사용하여 응답 유형 resp를 갖는 디지털 필터 d를 설계합니다. 이름-값 인수를 사용하여 필터를 더 세부적으로 사용자 지정합니다.

  • designfiltdesignfilt(d) 형식으로 사용하여 기존의 필터 d를 편집합니다.

    참고

    이는 기존 digitalFilter 객체를 편집할 수 있는 유일한 방법입니다. 이 외의 경우, 해당 속성은 읽기 전용입니다.

  • filterdataOut = filter(d,dataIn) 형식으로 사용하여 digitalFilter d로 신호를 필터링합니다. 입력값은 배정밀도 벡터이거나 단정밀도 벡터일 수 있습니다. 또한 입력 채널 수만큼의 열을 갖는 행렬일 수도 있습니다. filtfiltfftfilt 함수를 digitalFilter 객체와 함께 사용할 수도 있습니다.

  • FVTool을 사용하여 digitalFilter를 시각화합니다.

객체 함수

필터링

함수설명

fftfilt

FFT 기반의 overlap-add 방법을 사용하여 digitalFilter로 신호를 필터링합니다.

filter

digitalFilter를 사용하여 신호를 필터링합니다.

filtfilt

digitalFilter를 사용하여 신호의 영위상 필터링을 수행합니다.

bandpassdigitalFilter를 사용하여 신호에 대역통과 필터를 적용하고 필터로 인해 발생하는 지연을 보정합니다.
bandstopdigitalFilter를 사용하여 신호에 대역저지 필터를 적용하고 필터로 인해 발생하는 지연을 보정합니다.
highpassdigitalFilter를 사용하여 신호에 고역통과 필터를 적용하고 필터로 인해 발생하는 지연을 보정합니다.
lowpassdigitalFilter를 사용하여 신호에 저역통과 필터를 적용하고 필터로 인해 발생하는 지연을 보정합니다.

필터 분석

함수설명

double

digitalFilter의 계수를 배정밀도로 형변환합니다.

filt2block

digitalFilter에 대응하는 Simulink® 필터 블록을 생성합니다.

filtord

digitalFilter의 필터 차수를 반환합니다.

firtype

FIR digitalFilter의 유형(1, 2, 3 또는 4)을 반환합니다.

freqz

digitalFilter의 주파수 응답을 반환하거나 플로팅합니다.

FVTool

필터 시각화 툴을 열고 digitalFilter의 크기 응답을 표시합니다.

grpdelay

digitalFilter의 군지연 응답을 반환하거나 플로팅합니다.

impz

digitalFilter의 임펄스 응답을 반환하거나 플로팅합니다.

impzlength

실제 응답이든(FIR필터의 경우) 유효 응답이든(IIR 필터의 경우) 관계없이 digitalFilter의 임펄스 응답의 길이를 반환합니다.

info

digitalFilter에 대한 정보와 함께 문자형 배열을 반환합니다.

isallpass

digitalFilter가 전역통과 필터면 true를 반환합니다.

isdouble

digitalFilter의 계수가 배정밀도이면 true를 반환합니다.

isfir

digitalFilter가 유한 임펄스 응답을 가지면 true를 반환합니다.

islinphase

digitalFilter가 선형 위상을 가지면 true를 반환합니다.

ismaxphase

digitalFilter가 최대 위상이면 true를 반환합니다.

isminphase

digitalFilter가 최소 위상이면 true를 반환합니다.

issingle

digitalFilter의 계수가 단정밀도이면 true를 반환합니다.

isstable

digitalFilter가 안정적이면 true를 반환합니다.

phasedelay

digitalFilter의 위상 지연 응답을 반환하거나 플로팅합니다.

phasez

digitalFilter의 (순환되지 않은) 위상 응답을 반환하거나 플로팅합니다.

single

digitalFilter의 계수를 단정밀도로 형변환합니다.

ss

digitalFilter의 상태공간 표현을 반환합니다.

stepz

digitalFilter의 계단 응답을 반환하거나 플로팅합니다.

tf

digitalFilter의 전달 함수 표현을 반환합니다.

zerophase

digitalFilter의 영위상 응답을 반환하거나 플로팅합니다.

zpk

digitalFilter의 영점-극점-이득 표현을 반환합니다.

zplane

digitalFilter에 의해 표현되는, 전달 함수의 극점과 영점을 표시합니다.

예제

모두 축소

차수 8, 통과대역 주파수 35kHz, 통과대역 리플 0.2dB을 갖는 저역통과 IIR 필터를 설계합니다. 샘플 레이트를 200kHz로 지정합니다. 필터의 크기 응답을 시각화합니다.

lpFilt = designfilt('lowpassiir','FilterOrder',8, ...
         'PassbandFrequency',35e3,'PassbandRipple',0.2, ...
         'SampleRate',200e3);
fvtool(lpFilt)

Figure Figure 1: Magnitude Response (dB) contains an axes object. The axes object with title Magnitude Response (dB), xlabel Frequency (kHz), ylabel Magnitude (dB) contains 2 objects of type line.

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

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

2차섹션형(SOS)으로 표현되는 필터 계수를 출력합니다.

sos = lpFilt.Coefficients
sos = 4×6

    0.2666    0.5333    0.2666    1.0000   -0.8346    0.9073
    0.1943    0.3886    0.1943    1.0000   -0.9586    0.7403
    0.1012    0.2023    0.1012    1.0000   -1.1912    0.5983
    0.0318    0.0636    0.0318    1.0000   -1.3810    0.5090

버전 내역

R2014a에 개발됨