이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

fdesign.lowpass

저역통과 필터 사양

구문

D = fdesign.lowpass
D = fdesign.lowpass(SPEC)
D = fdesign.lowpass(SPEC,specvalue1,specvalue2,...)
D = fdesign.lowpass(specvalue1,specvalue2,specvalue3,specvalue4)
D = fdesign.lowpass(...,Fs)
D = fdesign.lowpass(...,MAGUNITS)

설명

D = fdesign.lowpass는 저역통과 필터 사양 객체 D를 생성하고, 디폴트 사양 옵션 'Fp,Fst,Ap,Ast'의 디폴트 값을 적용합니다.

D = fdesign.lowpass(SPEC)은 객체 D를 생성하고 Specification 속성을 SPEC의 항목으로 설정합니다. SPEC의 항목은 필터 차수 같이 필터 설계에 핵심이 되는 다양한 필터 응답 특징을 나타냅니다. SPEC에 유효한 항목이 아래에 나와 있습니다. 옵션은 대/소문자를 구분하지 않습니다.

참고

별표가 표시된 사양 옵션을 사용하려면 DSP System Toolbox™가 필요합니다.

  • 'Fp,Fst,Ap,Ast'(디폴트 옵션)

  • 'N,F3db'

  • 'N,F3db,Ap' *

  • 'N,F3db,Ap,Ast' *

  • 'N,F3db,Ast' *

  • 'N,F3db,Fst' *

  • 'N,Fc'

  • 'N,Fc,Ap,Ast'

  • 'N,Fp,Ap'

  • 'N,Fp,Ap,Ast'

  • 'N,Fp,Fst,Ap' *

  • 'N,Fp,F3db' *

  • 'N,Fp,Fst'

  • 'N,Fp,Fst,Ast' *

  • 'N,Fst,Ap,Ast' *

  • 'N,Fst,Ast'

  • 'Nb,Na,Fp,Fst' *

필터 사양은 다음과 같이 정의됩니다.

  • Ap — 통과대역에 허용된 리플 크기. 데시벨(디폴트 단위)로 지정됩니다. Apass라고도 합니다.

  • Ast — 저지대역의 감쇠량. 데시벨(디폴트 단위)로 지정됩니다. Astop이라고도 합니다.

  • F3db — 통과대역 값보다 3dB 낮은 지점의 차단 주파수. 정규화 주파수 단위로 지정됩니다.

  • Fc — 통과대역 값보다 6dB 낮은 지점의 차단 주파수. 정규화 주파수 단위로 지정됩니다.

  • Fp — 통과대역 시작 지점에서의 주파수. 정규화 주파수 단위로 지정됩니다. Fpass라고도 합니다.

  • Fst — 저지대역 끝 지점에서의 주파수. 정규화 주파수 단위로 지정됩니다. Fstop이라고도 합니다.

  • N — 필터 차수.

  • NaNb는 분모와 분자의 차수입니다.

그림으로 표현하면, 필터 사양은 다음 그림에 보여지는 것과 유사합니다.

FpFst 같은 사양 값 간의 영역은 필터 응답이 명시적으로 정의되지 않은 천이 영역입니다.

D = fdesign.lowpass(SPEC,specvalue1,specvalue2,...)는 객체 D를 생성하고, 생성 시에 specvalue1, specvalue2 등을 사용하여 SPEC의 모든 사양 변수에 대해 사양 값을 설정합니다.

D = fdesign.lowpass(specvalue1,specvalue2,specvalue3,specvalue4)는 입력 인수 specvalue1,specvalue2,specvalue3,specvalue4로 주어진 사양을 사용하여, 디폴트 Specification 속성 'Fp,Fst,Ap,Ast'의 값을 갖는 객체 D를 생성합니다.

D = fdesign.lowpass(...,Fs)는 Hz 단위로 지정되는 인수 Fs를 추가하여 사용할 샘플링 주파수를 정의합니다. 이 경우에는 사양의 모든 주파수의 단위도 Hz입니다.

D = fdesign.lowpass(...,MAGUNITS)는 입력 인수로 제공하는 크기 사양의 단위를 지정합니다. MAGUNITS는 다음 중 하나일 수 있습니다.

  • 'linear' — 크기를 선형 단위로 지정

  • 'dB' — 크기를 dB(데시벨)로 지정

  • 'squared' — 크기를 전력 단위로 지정

MAGNUNITS 인수를 생략할 경우 fdesign은 모든 크기의 단위가 데시벨이라고 가정합니다. fdesign은 지정된 크기 단위에 관계없이 모든 크기 사양을 데시벨로 저장합니다(필요한 경우 데시벨로 변환).

예제

모두 축소

두 사인파로 구성된 이산시간 신호에 저역통과 필터를 적용합니다.

저역통과 필터 사양 객체를 생성합니다. 통과대역 주파수는 rad/sample, 저지대역 주파수는 rad/sample이 되도록 지정합니다. 허용되는 통과대역 리플은 1dB, 저지대역 감쇠량은 60dB로 지정합니다.

d = fdesign.lowpass('Fp,Fst,Ap,Ast',0.15,0.25,1,60);

필터 사양 객체 d에 유효한 설계 방법을 쿼리합니다.

designmethods(d)
Design Methods for class fdesign.lowpass (Fp,Fst,Ap,Ast):


butter
cheby1
cheby2
ellip
equiripple
ifir
kaiserwin
multistage

fvtool에서 FIR 등리플 필터를 생성하고 필터의 크기 응답을 확인합니다.

Hd = design(d,'equiripple');
fvtool(Hd)

두 개의 이산시간 정현파의 합으로 구성된 신호를 생성하되, 주파수가 각각 rad/sample, rad/sample이고 진폭이 각각 1과 0.25이 되도록 합니다. 이산시간 신호를 FIR 등리플 필터 객체 Hd로 필터링합니다.

n = 0:159;
x = (0.25*cos((pi/8)*n)+sin((pi/4)*n));
y = filter(Hd,x);

원래 신호와 필터링된 신호의 푸리에 변환을 계산합니다. 고주파수 성분이 제외되었는지 확인합니다.

freq = 0:(2*pi)/160:pi;
xdft = fft(x);
ydft = fft(y);

figure
plot(freq/pi,abs(xdft(1:length(x)/2+1)))
hold on
plot(freq/pi,abs(ydft(1:length(y)/2+1)))
hold off

legend('Original Signal','Filtered Signal')
ylabel('Magnitude')
xlabel('Normalized Frequency (\times\pi rad/sample)')

6dB 주파수 9.6kHz와 샘플링 주파수 48kHz를 갖는 차수 10의 필터를 생성합니다. 사용 가능한 설계 방법을 살펴봅니다.

d = fdesign.lowpass('N,Fc',10,9600,48000);
designmethods(d)
Design Methods for class fdesign.lowpass (N,Fc):


window

유효한 설계 방법은 FIR 윈도우 방법밖에 없습니다. 필터를 설계합니다.

Hd = design(d);

필터의 크기 응답을 표시합니다. 예상대로 -6dB 지점은 9.6kHz입니다.

fvtool(Hd)

통과대역 주파수 rad/sample, 저지대역 주파수 rad/sample, 통과대역 리플 1dB, 저지대역 감쇠 60dB을 갖는 FIR 등리플 필터를 생성합니다. 20dB/rad/sample의 선형 저지대역을 갖는 필터를 설계합니다.

D = fdesign.lowpass('Fp,Fst,Ap,Ast',0.2,0.25,1,60);
Hd = design(D,'equiripple','StopbandShape','linear','StopbandDecay',20);

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

fvtool(Hd)

참고 항목

| |

R2009a에 개발됨