function [Hd]=shelvingEQ(fc,g,type)
fs=44100;
if strcmp(type,'LP')==1
g=10^(g/20);
if g >= 1
a1=-0.5*tan(pi*(fc/fs-0.25));
else
a1=-0.5*tan(pi*(fc/fs*1/g-0.25));
end
b0t=0.25-0.5*a1;
b2=0;
a2=0;
b0=0.5+(g-1)*b0t;
b1=-a1+(g-1)*b0t;
% SOS Form
b=2*[b0 b1 b2];
a=[1 -2*a1 -2*a2];
[sos,g]=tf2sos(b,a);
Hd=dfilt.df1sos(sos,g);
end
if strcmp(type,'HP')==1
g=10^(g/20);
if g >= 1
a1=-0.5*tan(pi*(fc/fs-0.25));
else
a1=-0.5*tan(pi*(fc/fs*g-0.25));
end
b0t=0.25+0.5*a1;
b2=0;
a2=0;
b0=0.5+(g-1)*b0t;
b1=-a1-(g-1)*b0t;
% SOS Form
b=2*[b0 b1 b2];
a=[1 -2*a1 -2*a2];
[sos,g]=tf2sos(b,a);
Hd=dfilt.df1sos(sos,g);
end