본문 바로가기
Audio Processing

오디오 필터(8)-IIR 이퀄라이저(Equalizer), 로 쉘빙 필터(Low Shelving Filter, LSF)

by gigasound 2021. 10. 29.


로 쉘빙 필터

이퀄라이저에서 사용되는 로 쉘빙 필터(low shelving filter, LSF)는 저역 부분의 이득을 조정할 목적으로 사용되는 이퀄라이저용 필터입니다. 필터 주파수를 기준으로 낮은 주파수 부분의 신호를 증폭하거나 감소합니다. 

로 쉘빙 필터는 조정하고자 하는 주파수와 조정하는 이득 그리고 필터의 기울기를 인자로 합니다. 

피킹 필터와 다르게 Q 대신 slope을 이용해서 조정합니다. 그런데 두 인자는 변환이 가능합니다. 관련 내용은 다른 글을 참조해 주세요. 

필터를 구하는 기본 내용은 피킹 필터와 같으니 피킹 필터 부분으로 참조하면 됩니다. 필터 계수는 다음과 같습니다. 여기서 f는 필터의 주파수, fs는 샘플링 주파수, G는 dB로 표시되는 필터의 이득, slope는 필터의 기울기입니다.  이 부분에 대한 내용은 아래를 참조해 주세요

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

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

 

ω0=2πffs

A=10G40

c0=cos(ω0)

s0=sin(ω0)

h1=s02(A+1A)(1slope1)+2

h2=2h1A

b0=A((A+1)(A1)c0+h2)

b1=2A((A1)(A+1)c0)

b2=A((A+1)(A1)c0+h2)

a0=(A+1)(A1)c0+h2

a1=2((A1)(A+1)c0)

a2=(A+1)(A1)c0h2


GNU Octave로 필터 특성 검토

다음과 같이 lsf.m를 만들고 GNU Octave에서 실행합니다.

clear all;
pkg load signal;
fs = 44100.0;
f0 = 500.0;
NFFT = 1024;
SLOPE= 1.2; 
G= 10.0;
function  [coef_b, coef_a] = LSF(f0,fs,g,slope)
  coef_b=zeros(1,3);
  coef_a=zeros(1,3);
  A=10^(g/40.0);
  w0=2.0*pi*f0/fs;
  s0=sin(w0);
  c0=cos(w0);
  h1=s0/2.0*sqrt((A+(1/A))*((1/slope)-1)+2.0);
  h2 = 2*h1*sqrt(A);
  coef_b(1) = A*((A+1)-(A-1)*c0+h2);
  coef_b(2) = 2*A*((A-1)-(A+1)*c0);
  coef_b(3) = A*((A+1)-(A-1)*c0-h2);
  coef_a(1) = ((A+1)+(A-1)*c0+h2);
  coef_a(2) = -2.0*((A-1)+(A+1)*c0);
  coef_a(3) = ((A+1)+(A-1)*c0-h2);
endfunction

[b,a]=LSF(f0,fs,G,SLOPE);
[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([-30 30])
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()

lsf.m
0.00MB


필터 특성의 검토

z영역에서 필터의 특성을 검토합니다. 모든 극성(x)이 단위 원안에 있기 때문에 이 필터는 안정적입니다.

 

z영영에서 필터의 특성

주파수 특성을 보면 LSF가 잘 형성되어 있습니다.

 


베이스

베이스(Bass)는 오디오신호의 저역 부분의 이득을 증가 또는 감소하는 LSF의 한 종류입니다. 정확히 말하면 LSF의 주파수와 slope를 고정하고 오로지 이득만 조정할 수 있도록 간결하게 만든 것이 Bass입니다.

일반적으로 LSF의 주파수를 500Hz정도 slope=1 정도로 사용합니다. 물론 이는 취향에 따라 다른 값을 사용할 수도 있습니다. 


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


참조

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


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

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