본문 바로가기
Audio Processing

오디오 필터(4)-IIR 고역 통과 필터(Hi Pass Filter, HPF)

by gigasound 2021. 10. 29.


고역 통과 필터

다른 글에서 다룬 저역 통과 필터와 같은 방법으로 필터 계수를 구할 수 있습니다. 

https://medialink.tistory.com/74?category=958130 

 

고역 통과 필터는 아래 그림과 같이 차단 주파수를 기준으로 차단 주파수보다 높은 주파수는 그대로 출력하고 다른 주파수 부분은 출력을 억제하는 특성을 가지고 있습니다. 

이 부분에 대한 내용은 아래를 참조해 주세요

https://medialink.tistory.com/73?category=958130

https://medialink.tistory.com/77?category=958130 

 

$$h=\frac{sin(2\pi f)}{2Q}$$

$$b_{0}=b_{1}=\frac{1+cos(2\pi f)}{2}$$

$$b_{1}= -1-cos(2\pi f)$$

$$a_{0} =1+h$$

$$a_{1} = -2cos(2\pi f)$$

$$a_{2} =1-h$$

 

저역 통과 필터도 저역통과 필터와 같이 모든 필터 계수를 $a_{0}$로 나눠 사용합니다. 


GNU Octave로 필터 검사

GNU Octave로 필터의 특성을 검토해 보겠습니다. 다음과 같이 hpf.m 코드를 만들고 GNU Octave에서 실행합니다.

clear all;
pkg load signal;
pkg load symbolic;

fs = 44100.0;
f0 =1000.0;
NFFT = 1024;
Q=0.71; # butterworth, 2 order 

function  [coef_b, coef_a] = HPF(f0,fs,Q)
  coef_b = zeros(1,3)
  coef_a = zeros(1,3)
  w0 = 2 * pi * f0 / fs;
  c0 = cos(w0);
  s0 = sin(w0);
  h = s0 /(2 * Q);
  b0 = (1 + c0)/2;
  b1 = -(1 + c0);
  b2 = b0;
  a0 = 1 + h;
  a1 = -2 * c0;
  a2 = 1 - h;
  coef_b(1) = b0 / a0;
  coef_b(2) = b1 / a0;
  coef_b(3) = b0 / a0;
  coef_a(1) = 1.0;
  coef_a(2) = a1 / a0;
  coef_a(3) = a2 / a0;

endfunction

[b,a]=HPF(f0,fs,Q);
[h,w]=freqz(b,a,NFFT,fs);
m = 20.0*log10(abs(h));

figure(1);
clf;
zplane(b,a);
figure(2);
clf;
subplot(2,1,1)
semilogx(w,m)
xlim([20 44100/2])
ylim([-40 10])
xlabel("frequency(Hz)")
ylabel("magitude(dB)")
grid()
subplot(2,1,2)
semilogx(w,arg(h)*180/pi)
xlim([20 44100/2])
ylim([-200 200])
xlabel("frequency(Hz)")
ylabel("phase(deg)")
grid()

hpf.m
0.00MB


필터 특성의 검토 

그러면 z영역에서 필터의 극점(x)이 보이고, 단위원 안에 모두 위치하고 있어 안정적임을 알 수 있습니다.

 

주파수 특성을 보면 1kHz에서 고역 필터가 형성됨을 알 수 있습니다.


광고좀 꾹 눌러주시면 고맙겠습니다. 


참조 

http://shepazu.github.io/Audio-EQ-Cookbook/audio-eq-cookbook.html

https://www.musicdsp.org/en/latest/Analysis/186-frequency-response-from-biquad-coefficients.html

https://www.musicdsp.org/en/latest/Filters/197-rbj-audio-eq-cookbook.html   


위의 내용을 참조용으로만 사용해주세요, 무단 도용이나 무단 복제는 불허합니다.

기타 문의 사항은 gigasound@naver.com에 남겨 주시면 고맙겠습니다.