Table of Contents
Parametric Equalization
Julius O. Smith III
CCRMA, Stanford University, Nov. 6, 1992
This Mathematica notebook is available online at CCRMA via ftp to ccrma-ftp.stanford.edu, directory pub/DSP/.
Problem Statement
Design a second-order parametric equalization filter section to be used in cascade with similar sections for the purpose of introducing a narrowband boost or cut in the frequency response of the equalizer.
Theory of Design
A second-order filter can have at most two poles and two zeros. Consider the case of a boost. The story for a cut is then obtained by interchanging the role of poles and zeros.
The pole angles are determined by the center frequency f of the boost. The angle of one pole must be close to
thp = 2 Pi f / fs,
where fs is the sampling rate, and the other pole angle must be at -thp in order to obtain real filter coefficients. The pole radii must be equal to the same value rp which is determined by the bandwidth of the boost. An approximate formula which is most accurate for narrow bandwidths is given by
rp = Exp[- Pi b / fs],
where b is the desired bandwidth.
Because we want the effect of the boost to be localized to a bandwidth b about the center frequency f, it is common practice to place two zeros ªbehindº the poles, i.e., along the same radial lines in the complex plane but at slightly smaller radii. This has the effect of ªcancelingº the poles far away from the center frequency. (This can be quickly seen by considering the graphical method for computing the frequency response from a pole-zero diagram.) Assuming a narrowband boost, the effect of a pole-zero pair at angle thp can be considered in isolation, ignoring the effect of the pole-zero pair at angle -thp which approximately cancel at angle thp). This transfer function of the isolated pole-zero pair is given by
H[z] = (1 - rz Exp[I thp] / z) / (1 - rp Exp[I thp] / z)
where rz is the pole radius, and z is the complex-plane variable. At frequency f, we have the frequency response
H[Exp[I thp]] = ( 1 - rz ) / (1 - rp )
Given a desired gain g at the center frequency, we can solve for rz in terms of rp to obtain
rz = 1 - g (1-rp)
Since we have assumed a narrowband boost, 1-rp will always be small. The cancelation of the pole-zero pair far away from the center frequency requires g(1-rp) be small also, i.e., rz should remain close to 1 while being smaller than rp.
Derivation
fs = 44100; (* sampling rate ) f = 5000; ( frequency of boost or cut ) b = 100; ( bandwidth of boost or cut ) gd = 10; ( gain of boost or cut in dB *)
thp = N[2 Pi f / fs] (* pole angle in z plane *)
0.7123792865282977
0.712379
rp = N[Exp[- Pi b / fs]] (* pole radius *)
0.992901521200722
0.992902
g = N[10^(gd/20)]
3.162277660168379
3.16228
rz = 1 - g (1-rp) (* zero radius for desired gain g *)
0.977552639071865
0.977553
Amplitude response of two zeros:
fr2[r_,th_,ph_] := N[ 1 - 2 r Cos[th] Exp[- I ph]
+ r^2 Exp[-2I ph] ];
Utility for converting complex amplitude to decibels
db[c_] := N[ 20 Log[10,Abs[c]] ];
Plot[db[fr2[rz, thp, ph]/fr2[rp,thp,ph]], {ph,0,Pi}, PlotRange->All];
%!
%%Creator: Mathematica
%%AspectRatio: 0.61803
MathPictureStart
% Scaling calculations
0.02381 0.30315 0.02258 0.05863 [
[(0.5)] 0.17539 0.01008 0 1 Msboxa
[(1)] 0.32696 0.01008 0 1 Msboxa
[(1.5)] 0.47854 0.01008 0 1 Msboxa
[(2)] 0.63011 0.01008 0 1 Msboxa
[(2.5)] 0.78169 0.01008 0 1 Msboxa
[(3)] 0.93327 0.01008 0 1 Msboxa
[(2)] 0.01131 0.13985 1 0 Msboxa
[(4)] 0.01131 0.25711 1 0 Msboxa
[(6)] 0.01131 0.37438 1 0 Msboxa
[(8)] 0.01131 0.49164 1 0 Msboxa
[(10)] 0.01131 0.60891 1 0 Msboxa
[ -0.001 -0.001 0 0 ]
[ 1.001 0.61903 0 0 ]
] MathScale
% Start of Graphics
1 setlinecap
1 setlinejoin
newpath
%%Object: Graphics
[ ] 0 setdash
0 setgray
gsave
gsave
0.002 setlinewidth
0 0.02258 moveto
1 0.02258 lineto
stroke
0.17539 0.01633 moveto
0.17539 0.02883 lineto
stroke
0 setgray
[(0.5)] 0.17539 0.01008 0 1 Mshowa
0.32696 0.01633 moveto
0.32696 0.02883 lineto
stroke
0 setgray
[(1)] 0.32696 0.01008 0 1 Mshowa
0.47854 0.01633 moveto
0.47854 0.02883 lineto
stroke
0 setgray
[(1.5)] 0.47854 0.01008 0 1 Mshowa
0.63011 0.01633 moveto
0.63011 0.02883 lineto
stroke
0 setgray
[(2)] 0.63011 0.01008 0 1 Mshowa
0.78169 0.01633 moveto
0.78169 0.02883 lineto
stroke
0 setgray
[(2.5)] 0.78169 0.01008 0 1 Mshowa
0.93327 0.01633 moveto
0.93327 0.02883 lineto
stroke
0 setgray
[(3)] 0.93327 0.01008 0 1 Mshowa
0.02381 0 moveto
0.02381 0.61803 lineto
stroke
0.01756 0.13985 moveto
0.03006 0.13985 lineto
stroke
0 setgray
[(2)] 0.01131 0.13985 1 0 Mshowa
0.01756 0.25711 moveto
0.03006 0.25711 lineto
stroke
0 setgray
[(4)] 0.01131 0.25711 1 0 Mshowa
0.01756 0.37438 moveto
0.03006 0.37438 lineto
stroke
0 setgray
[(6)] 0.01131 0.37438 1 0 Mshowa
0.01756 0.49164 moveto
0.03006 0.49164 lineto
stroke
0 setgray
[(8)] 0.01131 0.49164 1 0 Mshowa
0.01756 0.60891 moveto
0.03006 0.60891 lineto
stroke
0 setgray
[(10)] 0.01131 0.60891 1 0 Mshowa
grestore
grestore
0 0 moveto
1 0 lineto
1 0.618034 lineto
0 0.618034 lineto
closepath
clip
newpath
0 setgray
gsave
gsave
0.004 setlinewidth
0.02381 0.01513 moveto
0.02505 0.01513 lineto
0.02629 0.01513 lineto
0.02753 0.01513 lineto
0.02877 0.01513 lineto
0.03001 0.01514 lineto
0.03125 0.01514 lineto
0.03373 0.01514 lineto
0.03621 0.01514 lineto
0.03869 0.01514 lineto
0.04365 0.01515 lineto
0.04861 0.01515 lineto
0.05357 0.01516 lineto
0.06349 0.01518 lineto
0.07341 0.01521 lineto
0.08333 0.01526 lineto
0.09325 0.01531 lineto
0.10317 0.01537 lineto
0.1131 0.01546 lineto
0.12302 0.01557 lineto
0.13294 0.01572 lineto
0.14286 0.01592 lineto
0.15278 0.01619 lineto
0.15774 0.01637 lineto
0.1627 0.01658 lineto
0.16766 0.01683 lineto
0.17262 0.01715 lineto
0.17758 0.01754 lineto
0.18254 0.01804 lineto
0.1875 0.01869 lineto
0.19246 0.01954 lineto
0.19742 0.02072 lineto
0.1999 0.02147 lineto
0.20238 0.02238 lineto
0.20486 0.02348 lineto
0.20734 0.02483 lineto
0.20982 0.02652 lineto
0.2123 0.02867 lineto
0.21478 0.03146 lineto
0.21726 0.03516 lineto
0.21974 0.04022 lineto
0.22098 0.04346 lineto
0.22222 0.04734 lineto
0.22346 0.05205 lineto
0.2247 0.05781 lineto
0.22594 0.06496 lineto
0.22718 0.07396 lineto
0.22842 0.08545 lineto
0.22966 0.10038 lineto
0.2309 0.12015 lineto
Mistroke
0.23214 0.1468 lineto
0.23338 0.18344 lineto
0.23462 0.23458 lineto
0.2371 0.40488 lineto
0.23834 0.5236 lineto
0.23958 0.60332 lineto
0.24206 0.43944 lineto
0.2433 0.33292 lineto
0.24454 0.2536 lineto
0.24578 0.19697 lineto
0.24702 0.15654 lineto
0.24826 0.12728 lineto
0.2495 0.10571 lineto
0.25074 0.0895 lineto
0.25198 0.07709 lineto
0.25322 0.06743 lineto
0.25446 0.05978 lineto
0.2557 0.05364 lineto
0.25694 0.04865 lineto
0.25942 0.04112 lineto
0.2619 0.03581 lineto
0.26438 0.03193 lineto
0.26687 0.02903 lineto
0.26935 0.02679 lineto
0.27183 0.02504 lineto
0.27431 0.02364 lineto
0.27679 0.02251 lineto
0.28175 0.0208 lineto
0.28671 0.01959 lineto
0.29167 0.01871 lineto
0.29663 0.01805 lineto
0.30159 0.01754 lineto
0.30655 0.01714 lineto
0.31151 0.01681 lineto
0.31647 0.01655 lineto
0.32143 0.01633 lineto
0.33135 0.016 lineto
0.34127 0.01576 lineto
0.35119 0.01558 lineto
0.36111 0.01544 lineto
0.37103 0.01533 lineto
0.38095 0.01525 lineto
0.39087 0.01518 lineto
0.40079 0.01512 lineto
0.42063 0.01503 lineto
0.44048 0.01497 lineto
0.46032 0.01492 lineto
0.48016 0.01488 lineto
0.5 0.01485 lineto
0.53968 0.01481 lineto
Mistroke
0.55952 0.0148 lineto
0.57937 0.01478 lineto
0.61905 0.01477 lineto
0.65873 0.01475 lineto
0.69841 0.01474 lineto
0.7381 0.01473 lineto
0.77778 0.01473 lineto
0.81746 0.01472 lineto
0.8373 0.01472 lineto
0.85714 0.01472 lineto
0.87698 0.01472 lineto
0.89683 0.01472 lineto
0.91667 0.01472 lineto
0.92659 0.01472 lineto
0.93651 0.01472 lineto
0.94643 0.01472 lineto
0.95139 0.01472 lineto
0.95635 0.01472 lineto
0.96131 0.01472 lineto
0.96379 0.01472 lineto
0.96627 0.01472 lineto
0.96875 0.01472 lineto
0.96999 0.01472 lineto
0.97123 0.01472 lineto
0.97247 0.01472 lineto
0.97371 0.01472 lineto
0.97495 0.01472 lineto
0.97619 0.01472 lineto
Mfstroke
grestore
grestore
% End of Graphics
MathPictureEnd
Pole-Zero Diagram
Create a plot of the unit circle in the complex plane.
uc = ParametricPlot[{Sin[t],Cos[t]},{t,-Pi,Pi},
AspectRatio->Automatic];
Display poles as "X"s inside the unit circle in the complex plane:
xp = rp Cos[thp];
yp = rp Sin[thp];
xz = rz Cos[thp];
yz = rz Sin[thp];
Show[uc,Graphics[
Text[X,{xp,yp}],Text[X,{xp,-yp}],
Text[O,{xz,yz}],Text[O,{xz,-yz}]]];
%! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart % Scaling calculations 0.5 0.47619 0.5 0.47619 [ [(-1)] 0.02381 0.4875 0 1 Msboxa [(-0.5)] 0.2619 0.4875 0 1 Msboxa [(0.5)] 0.7381 0.4875 0 1 Msboxa [(1)] 0.97619 0.4875 0 1 Msboxa [(-1)] 0.4875 0.02381 1 0 Msboxa [(-0.5)] 0.4875 0.2619 1 0 Msboxa [(0.5)] 0.4875 0.7381 1 0 Msboxa [(1)] 0.4875 0.97619 1 0 Msboxa [ -0.001 -0.001 0 0 ] [ 1.001 1.001 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath %%Object: Graphics [ ] 0 setdash 0 setgray gsave gsave 0.002 setlinewidth 0 0.5 moveto 1 0.5 lineto stroke 0.02381 0.49375 moveto 0.02381 0.50625 lineto stroke 0 setgray [(-1)] 0.02381 0.4875 0 1 Mshowa 0.2619 0.49375 moveto 0.2619 0.50625 lineto stroke 0 setgray [(-0.5)] 0.2619 0.4875 0 1 Mshowa 0.7381 0.49375 moveto 0.7381 0.50625 lineto stroke 0 setgray [(0.5)] 0.7381 0.4875 0 1 Mshowa 0.97619 0.49375 moveto 0.97619 0.50625 lineto stroke 0 setgray [(1)] 0.97619 0.4875 0 1 Mshowa 0.5 0 moveto 0.5 1 lineto stroke 0.49375 0.02381 moveto 0.50625 0.02381 lineto stroke 0 setgray [(-1)] 0.4875 0.02381 1 0 Mshowa 0.49375 0.2619 moveto 0.50625 0.2619 lineto stroke 0 setgray [(-0.5)] 0.4875 0.2619 1 0 Mshowa 0.49375 0.7381 moveto 0.50625 0.7381 lineto stroke 0 setgray [(0.5)] 0.4875 0.7381 1 0 Mshowa 0.49375 0.97619 moveto 0.50625 0.97619 lineto stroke 0 setgray [(1)] 0.4875 0.97619 1 0 Mshowa grestore grestore 0 0 moveto 1 0 lineto 1 1 lineto 0 1 lineto closepath clip newpath 0 setgray gsave gsave gsave gsave 0.004 setlinewidth 0.5 0.02381 moveto 0.4961 0.02383 lineto 0.49221 0.02387 lineto 0.48831 0.02395 lineto 0.48442 0.02406 lineto 0.47663 0.02438 lineto 0.46886 0.02483 lineto 0.46109 0.0254 lineto 0.45333 0.0261 lineto 0.43784 0.02788 lineto 0.42243 0.03017 lineto 0.4071 0.03296 lineto 0.37675 0.04004 lineto 0.34693 0.04908 lineto 0.31777 0.06006 lineto 0.2619 0.08761 lineto 0.21011 0.12221 lineto 0.16328 0.16328 lineto 0.12221 0.21011 lineto 0.08761 0.2619 lineto 0.07292 0.28939 lineto 0.06006 0.31777 lineto 0.04908 0.34693 lineto 0.04004 0.37675 lineto 0.03296 0.4071 lineto 0.03017 0.42243 lineto 0.02788 0.43784 lineto 0.0261 0.45333 lineto 0.0254 0.46109 lineto 0.02483 0.46886 lineto 0.02438 0.47663 lineto 0.02421 0.48053 lineto 0.02406 0.48442 lineto 0.02395 0.48831 lineto 0.02387 0.49221 lineto 0.02383 0.4961 lineto 0.02381 0.5 lineto 0.02383 0.5039 lineto 0.02387 0.50779 lineto 0.02395 0.51169 lineto 0.02406 0.51558 lineto 0.02438 0.52337 lineto 0.02483 0.53114 lineto 0.0254 0.53891 lineto 0.0261 0.54667 lineto 0.02788 0.56216 lineto 0.03017 0.57757 lineto 0.03296 0.5929 lineto 0.04004 0.62325 lineto 0.04908 0.65307 lineto Mistroke 0.06006 0.68223 lineto 0.08761 0.7381 lineto 0.12221 0.78989 lineto 0.16328 0.83672 lineto 0.21011 0.87779 lineto 0.2619 0.91239 lineto 0.31777 0.93994 lineto 0.34693 0.95092 lineto 0.37675 0.95996 lineto 0.4071 0.96704 lineto 0.42243 0.96983 lineto 0.43784 0.97212 lineto 0.45333 0.9739 lineto 0.46109 0.9746 lineto 0.46886 0.97517 lineto 0.47663 0.97562 lineto 0.48053 0.97579 lineto 0.48442 0.97594 lineto 0.48831 0.97605 lineto 0.49221 0.97613 lineto 0.4961 0.97617 lineto 0.5 0.97619 lineto 0.5039 0.97617 lineto 0.50779 0.97613 lineto 0.51169 0.97605 lineto 0.51558 0.97594 lineto 0.51947 0.97579 lineto 0.52337 0.97562 lineto 0.53114 0.97517 lineto 0.53891 0.9746 lineto 0.54667 0.9739 lineto 0.56216 0.97212 lineto 0.57757 0.96983 lineto 0.5929 0.96704 lineto 0.62325 0.95996 lineto 0.65307 0.95092 lineto 0.68223 0.93994 lineto 0.7381 0.91239 lineto 0.78989 0.87779 lineto 0.83672 0.83672 lineto 0.87779 0.78989 lineto 0.91239 0.7381 lineto 0.93994 0.68223 lineto 0.95092 0.65307 lineto 0.95996 0.62325 lineto 0.96704 0.5929 lineto 0.96983 0.57757 lineto 0.97212 0.56216 lineto 0.9739 0.54667 lineto 0.9746 0.53891 lineto Mistroke 0.97517 0.53114 lineto 0.97562 0.52337 lineto 0.97579 0.51947 lineto 0.97594 0.51558 lineto 0.97605 0.51169 lineto 0.97613 0.50779 lineto 0.97617 0.5039 lineto 0.97619 0.5 lineto 0.97617 0.4961 lineto 0.97613 0.49221 lineto 0.97605 0.48831 lineto 0.97594 0.48442 lineto 0.97562 0.47663 lineto 0.97517 0.46886 lineto 0.9746 0.46109 lineto 0.9739 0.45333 lineto 0.97212 0.43784 lineto 0.96983 0.42243 lineto 0.96704 0.4071 lineto 0.95996 0.37675 lineto 0.95092 0.34693 lineto 0.93994 0.31777 lineto 0.91239 0.2619 lineto 0.87779 0.21011 lineto 0.83672 0.16328 lineto 0.78989 0.12221 lineto 0.7381 0.08761 lineto 0.71061 0.07292 lineto 0.68223 0.06006 lineto 0.65307 0.04908 lineto 0.62325 0.04004 lineto 0.5929 0.03296 lineto 0.57757 0.03017 lineto 0.56216 0.02788 lineto 0.54667 0.0261 lineto 0.53891 0.0254 lineto 0.53114 0.02483 lineto 0.52337 0.02438 lineto 0.51947 0.02421 lineto 0.51558 0.02406 lineto 0.51169 0.02395 lineto 0.50779 0.02387 lineto 0.5039 0.02383 lineto 0.5 0.02381 lineto Mfstroke grestore grestore grestore gsave 0 setgray [(X)] 0.85783 0.80905 0 0 Mshowa 0 setgray [(X)] 0.85783 0.19095 0 0 Mshowa 0 setgray [(O)] 0.8523 0.80427 0 0 Mshowa 0 setgray [(O)] 0.8523 0.19573 0 0 Mshowa grestore grestore % End of Graphics MathPictureEnd
## Interactive "Spreadsheet" Cell for Trying Cases
f = 8000; (* eq frequency ) b = 100; ( filter bandwidth *) gd = 6;
thp = N[2 Pi f / fs]; (* pole angle ) g = N[10^(gd/20)]; ( gain at resonance ) rp = N[Exp[- Pi b / fs]]; ( pole radius ) rz = 1 - g (1-rp); ( zero radius *) Plot[db[fr2[rz, thp, ph]/fr2[rp,thp,ph]], {ph,0,Pi}, PlotRange->All];
%! %%Creator: Mathematica %%AspectRatio: 0.61803 MathPictureStart % Scaling calculations 0.02381 0.30315 0.02086 0.09985 [ [(0.5)] 0.17539 0.00836 0 1 Msboxa [(1)] 0.32696 0.00836 0 1 Msboxa [(1.5)] 0.47854 0.00836 0 1 Msboxa [(2)] 0.63011 0.00836 0 1 Msboxa [(2.5)] 0.78169 0.00836 0 1 Msboxa [(3)] 0.93327 0.00836 0 1 Msboxa [(1)] 0.01131 0.12072 1 0 Msboxa [(2)] 0.01131 0.22057 1 0 Msboxa [(3)] 0.01131 0.32042 1 0 Msboxa [(4)] 0.01131 0.42028 1 0 Msboxa [(5)] 0.01131 0.52013 1 0 Msboxa [ -0.001 -0.001 0 0 ] [ 1.001 0.61903 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath %%Object: Graphics [ ] 0 setdash 0 setgray gsave gsave 0.002 setlinewidth 0 0.02086 moveto 1 0.02086 lineto stroke 0.17539 0.01461 moveto 0.17539 0.02711 lineto stroke 0 setgray [(0.5)] 0.17539 0.00836 0 1 Mshowa 0.32696 0.01461 moveto 0.32696 0.02711 lineto stroke 0 setgray [(1)] 0.32696 0.00836 0 1 Mshowa 0.47854 0.01461 moveto 0.47854 0.02711 lineto stroke 0 setgray [(1.5)] 0.47854 0.00836 0 1 Mshowa 0.63011 0.01461 moveto 0.63011 0.02711 lineto stroke 0 setgray [(2)] 0.63011 0.00836 0 1 Mshowa 0.78169 0.01461 moveto 0.78169 0.02711 lineto stroke 0 setgray [(2.5)] 0.78169 0.00836 0 1 Mshowa 0.93327 0.01461 moveto 0.93327 0.02711 lineto stroke 0 setgray [(3)] 0.93327 0.00836 0 1 Mshowa 0.02381 0 moveto 0.02381 0.61803 lineto stroke 0.01756 0.12072 moveto 0.03006 0.12072 lineto stroke 0 setgray [(1)] 0.01131 0.12072 1 0 Mshowa 0.01756 0.22057 moveto 0.03006 0.22057 lineto stroke 0 setgray [(2)] 0.01131 0.22057 1 0 Mshowa 0.01756 0.32042 moveto 0.03006 0.32042 lineto stroke 0 setgray [(3)] 0.01131 0.32042 1 0 Mshowa 0.01756 0.42028 moveto 0.03006 0.42028 lineto stroke 0 setgray [(4)] 0.01131 0.42028 1 0 Mshowa 0.01756 0.52013 moveto 0.03006 0.52013 lineto stroke 0 setgray [(5)] 0.01131 0.52013 1 0 Mshowa grestore grestore 0 0 moveto 1 0 lineto 1 0.618034 lineto 0 0.618034 lineto closepath clip newpath 0 setgray gsave gsave 0.004 setlinewidth 0.02381 0.01478 moveto 0.02505 0.01478 lineto 0.02629 0.01478 lineto 0.02753 0.01478 lineto 0.02877 0.01478 lineto 0.03001 0.01478 lineto 0.03125 0.01478 lineto 0.03373 0.01478 lineto 0.03621 0.01478 lineto 0.03869 0.01478 lineto 0.04365 0.01478 lineto 0.04861 0.01478 lineto 0.05357 0.01478 lineto 0.06349 0.01479 lineto 0.07341 0.01479 lineto 0.08333 0.01479 lineto 0.10317 0.0148 lineto 0.12302 0.01481 lineto 0.14286 0.01483 lineto 0.1627 0.01485 lineto 0.18254 0.01488 lineto 0.19246 0.0149 lineto 0.20238 0.01492 lineto 0.22222 0.01498 lineto 0.23214 0.01502 lineto 0.24206 0.01508 lineto 0.25198 0.01514 lineto 0.2619 0.01523 lineto 0.27183 0.01534 lineto 0.28175 0.01549 lineto 0.29167 0.0157 lineto 0.29663 0.01585 lineto 0.30159 0.01602 lineto 0.30655 0.01624 lineto 0.31151 0.01651 lineto 0.31647 0.01686 lineto 0.32143 0.01733 lineto 0.32639 0.01797 lineto 0.33135 0.01888 lineto 0.33383 0.01948 lineto 0.33631 0.02021 lineto 0.33879 0.02113 lineto 0.34127 0.0223 lineto 0.34375 0.02382 lineto 0.34623 0.02584 lineto 0.34871 0.02861 lineto 0.34995 0.03039 lineto 0.35119 0.03253 lineto 0.35243 0.03514 lineto 0.35367 0.03835 lineto Mistroke 0.35491 0.04237 lineto 0.35615 0.04748 lineto 0.35739 0.0541 lineto 0.35863 0.06288 lineto 0.35987 0.0748 lineto 0.36111 0.09149 lineto 0.36235 0.11561 lineto 0.36359 0.15175 lineto 0.36483 0.20773 lineto 0.36607 0.29595 lineto 0.36731 0.42831 lineto 0.36855 0.5764 lineto 0.36979 0.60332 lineto 0.37103 0.47174 lineto 0.37227 0.32825 lineto 0.37351 0.22846 lineto 0.37475 0.16492 lineto 0.37599 0.12422 lineto 0.37723 0.09731 lineto 0.37847 0.07889 lineto 0.37971 0.06583 lineto 0.38095 0.0563 lineto 0.38219 0.04915 lineto 0.38343 0.04367 lineto 0.38467 0.03938 lineto 0.38591 0.03597 lineto 0.38839 0.03095 lineto 0.38963 0.02907 lineto 0.39087 0.0275 lineto 0.39335 0.02504 lineto 0.39583 0.02323 lineto 0.39831 0.02185 lineto 0.40079 0.02078 lineto 0.40327 0.01993 lineto 0.40575 0.01924 lineto 0.40823 0.01869 lineto 0.41071 0.01823 lineto 0.41567 0.01751 lineto 0.42063 0.017 lineto 0.4256 0.01661 lineto 0.43056 0.01631 lineto 0.44048 0.01589 lineto 0.44544 0.01574 lineto 0.4504 0.01562 lineto 0.46032 0.01543 lineto 0.47024 0.01529 lineto 0.48016 0.01519 lineto 0.49008 0.01511 lineto 0.5 0.01505 lineto 0.50992 0.015 lineto Mistroke 0.51984 0.01496 lineto 0.52976 0.01493 lineto 0.53968 0.0149 lineto 0.55952 0.01486 lineto 0.57937 0.01483 lineto 0.59921 0.01481 lineto 0.61905 0.01479 lineto 0.63889 0.01477 lineto 0.65873 0.01476 lineto 0.69841 0.01475 lineto 0.71825 0.01474 lineto 0.7381 0.01474 lineto 0.75794 0.01473 lineto 0.77778 0.01473 lineto 0.81746 0.01472 lineto 0.8373 0.01472 lineto 0.85714 0.01472 lineto 0.87698 0.01472 lineto 0.89683 0.01472 lineto 0.90675 0.01472 lineto 0.91667 0.01472 lineto 0.92659 0.01472 lineto 0.93651 0.01472 lineto 0.94643 0.01472 lineto 0.95139 0.01472 lineto 0.95635 0.01472 lineto 0.96131 0.01472 lineto 0.96379 0.01472 lineto 0.96627 0.01472 lineto 0.96875 0.01472 lineto 0.96999 0.01472 lineto 0.97123 0.01472 lineto 0.97247 0.01472 lineto 0.97371 0.01472 lineto 0.97495 0.01472 lineto 0.97619 0.01472 lineto Mfstroke grestore grestore % End of Graphics MathPictureEnd
## Multiple Parametric Eq Sections
f1 = 4000; b1 = 100; gd1 = 3;
f2 = 8000; b2 = 200; gd2 = -3;
f3 = 12000; b3 = 300; gd3 = 3;
thp1 = N[2 Pi f1 / fs]; (* pole angle ) g1 = N[10^(gd1/20)]; ( gain at resonance ) rp1 = N[Exp[- Pi b1 / fs]]; ( pole radius ) rz1 = 1 - g1 (1-rp1); ( zero radius *)
thp2 = N[2 Pi f2 / fs]; (* pole angle ) g2 = N[10^(gd2/20)]; ( gain at resonance ) rp2 = N[Exp[- Pi b2 / fs]]; ( pole radius ) rz2 = 1 - g2 (1-rp2); ( zero radius *)
thp3 = N[2 Pi f3 / fs]; (* pole angle ) g3 = N[10^(gd3/20)]; ( gain at resonance ) rp3 = N[Exp[- Pi b3 / fs]]; ( pole radius ) rz3 = 1 - g3 (1-rp3); ( zero radius *)
Plot[db[ (fr2[rz1, thp1, ph]/fr2[rp1,thp1,ph]) (fr2[rz2, thp2, ph]/fr2[rp2,thp2,ph]) (fr2[rz3, thp3, ph]/fr2[rp3,thp3,ph]) ], {ph,0,Pi}, PlotRange->All];
%! %%Creator: Mathematica %%AspectRatio: 0.61803 MathPictureStart % Scaling calculations 0.02381 0.30315 0.312 0.09806 [ [(0.5)] 0.17539 0.2995 0 1 Msboxa [(1)] 0.32696 0.2995 0 1 Msboxa [(1.5)] 0.47854 0.2995 0 1 Msboxa [(2)] 0.63011 0.2995 0 1 Msboxa [(2.5)] 0.78169 0.2995 0 1 Msboxa [(3)] 0.93327 0.2995 0 1 Msboxa [(-3)] 0.01131 0.01783 1 0 Msboxa [(-2)] 0.01131 0.11588 1 0 Msboxa [(-1)] 0.01131 0.21394 1 0 Msboxa [(1)] 0.01131 0.41006 1 0 Msboxa [(2)] 0.01131 0.50811 1 0 Msboxa [(3)] 0.01131 0.60617 1 0 Msboxa [ -0.001 -0.001 0 0 ] [ 1.001 0.61903 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath %%Object: Graphics [ ] 0 setdash 0 setgray gsave gsave 0.002 setlinewidth 0 0.312 moveto 1 0.312 lineto stroke 0.17539 0.30575 moveto 0.17539 0.31825 lineto stroke 0 setgray [(0.5)] 0.17539 0.2995 0 1 Mshowa 0.32696 0.30575 moveto 0.32696 0.31825 lineto stroke 0 setgray [(1)] 0.32696 0.2995 0 1 Mshowa 0.47854 0.30575 moveto 0.47854 0.31825 lineto stroke 0 setgray [(1.5)] 0.47854 0.2995 0 1 Mshowa 0.63011 0.30575 moveto 0.63011 0.31825 lineto stroke 0 setgray [(2)] 0.63011 0.2995 0 1 Mshowa 0.78169 0.30575 moveto 0.78169 0.31825 lineto stroke 0 setgray [(2.5)] 0.78169 0.2995 0 1 Mshowa 0.93327 0.30575 moveto 0.93327 0.31825 lineto stroke 0 setgray [(3)] 0.93327 0.2995 0 1 Mshowa 0.02381 0 moveto 0.02381 0.61803 lineto stroke 0.01756 0.01783 moveto 0.03006 0.01783 lineto stroke 0 setgray [(-3)] 0.01131 0.01783 1 0 Mshowa 0.01756 0.11588 moveto 0.03006 0.11588 lineto stroke 0 setgray [(-2)] 0.01131 0.11588 1 0 Mshowa 0.01756 0.21394 moveto 0.03006 0.21394 lineto stroke 0 setgray [(-1)] 0.01131 0.21394 1 0 Mshowa 0.01756 0.41006 moveto 0.03006 0.41006 lineto stroke 0 setgray [(1)] 0.01131 0.41006 1 0 Mshowa 0.01756 0.50811 moveto 0.03006 0.50811 lineto stroke 0 setgray [(2)] 0.01131 0.50811 1 0 Mshowa 0.01756 0.60617 moveto 0.03006 0.60617 lineto stroke 0 setgray [(3)] 0.01131 0.60617 1 0 Mshowa grestore grestore 0 0 moveto 1 0 lineto 1 0.618034 lineto 0 0.618034 lineto closepath clip newpath 0 setgray gsave gsave 0.001 setlinewidth 0.02381 0.30566 moveto 0.02505 0.30566 lineto 0.02629 0.30566 lineto 0.02753 0.30566 lineto 0.02877 0.30566 lineto 0.03001 0.30566 lineto 0.03125 0.30566 lineto 0.03373 0.30566 lineto 0.03621 0.30566 lineto 0.03869 0.30566 lineto 0.04365 0.30566 lineto 0.04861 0.30566 lineto 0.05357 0.30567 lineto 0.06349 0.30568 lineto 0.07341 0.30569 lineto 0.08333 0.30571 lineto 0.09325 0.30574 lineto 0.10317 0.30578 lineto 0.10813 0.30581 lineto 0.1131 0.30583 lineto 0.12302 0.30591 lineto 0.12798 0.30597 lineto 0.13294 0.30603 lineto 0.1379 0.30612 lineto 0.14286 0.30623 lineto 0.14782 0.30637 lineto 0.15278 0.30657 lineto 0.15774 0.30685 lineto 0.16022 0.30703 lineto 0.1627 0.30726 lineto 0.16518 0.30754 lineto 0.16766 0.30789 lineto 0.17014 0.30835 lineto 0.17262 0.30895 lineto 0.1751 0.30977 lineto 0.17758 0.31093 lineto 0.17882 0.31169 lineto 0.18006 0.31263 lineto 0.1813 0.3138 lineto 0.18254 0.31527 lineto 0.18378 0.31717 lineto 0.18502 0.31967 lineto 0.18626 0.32305 lineto 0.1875 0.32777 lineto 0.18874 0.33459 lineto 0.18998 0.34491 lineto 0.19122 0.36131 lineto 0.19246 0.38882 lineto 0.1937 0.43673 lineto 0.19494 0.51513 lineto Mistroke 0.19618 0.59394 lineto 0.19742 0.57176 lineto 0.19866 0.4834 lineto 0.1999 0.41632 lineto 0.20114 0.37714 lineto 0.20238 0.35444 lineto 0.20362 0.34065 lineto 0.20486 0.33181 lineto 0.2061 0.32586 lineto 0.20734 0.32169 lineto 0.20858 0.31866 lineto 0.20982 0.3164 lineto 0.21106 0.31467 lineto 0.2123 0.31332 lineto 0.21354 0.31224 lineto 0.21478 0.31137 lineto 0.21602 0.31066 lineto 0.21726 0.31007 lineto 0.21974 0.30915 lineto 0.22222 0.30848 lineto 0.2247 0.30797 lineto 0.22718 0.30758 lineto 0.23214 0.30703 lineto 0.23462 0.30683 lineto 0.2371 0.30666 lineto 0.24206 0.3064 lineto 0.24702 0.30621 lineto 0.25198 0.30606 lineto 0.2619 0.30584 lineto 0.28175 0.30551 lineto 0.29167 0.30534 lineto 0.29663 0.30523 lineto 0.30159 0.30511 lineto 0.30655 0.30497 lineto 0.31151 0.30479 lineto 0.31647 0.30456 lineto 0.32143 0.30426 lineto 0.32639 0.30385 lineto 0.33135 0.30327 lineto 0.33383 0.30289 lineto 0.33631 0.30241 lineto 0.33879 0.30182 lineto 0.34127 0.30107 lineto 0.34375 0.30009 lineto 0.34623 0.29878 lineto 0.34871 0.297 lineto 0.34995 0.29586 lineto 0.35119 0.29448 lineto 0.35243 0.2928 lineto 0.35367 0.29075 lineto Mistroke 0.35491 0.28818 lineto 0.35615 0.28492 lineto 0.35739 0.28071 lineto 0.35863 0.27518 lineto 0.35987 0.26771 lineto 0.36111 0.25739 lineto 0.36235 0.24272 lineto 0.36359 0.22132 lineto 0.36483 0.18956 lineto 0.36607 0.14304 lineto 0.36731 0.08141 lineto 0.36855 0.02391 lineto 0.36979 0.01472 lineto 0.37103 0.06334 lineto 0.37227 0.12713 lineto 0.37351 0.17829 lineto 0.37475 0.21376 lineto 0.37599 0.23764 lineto 0.37723 0.25392 lineto 0.37847 0.26529 lineto 0.37971 0.27345 lineto 0.38095 0.27947 lineto 0.38219 0.28402 lineto 0.38343 0.28752 lineto 0.38467 0.29028 lineto 0.38591 0.29248 lineto 0.38839 0.29574 lineto 0.38963 0.29696 lineto 0.39087 0.29799 lineto 0.39335 0.29961 lineto 0.39583 0.30081 lineto 0.39831 0.30174 lineto 0.40079 0.30247 lineto 0.40327 0.30305 lineto 0.40575 0.30353 lineto 0.41071 0.30426 lineto 0.41567 0.30481 lineto 0.42063 0.30524 lineto 0.44048 0.30647 lineto 0.4504 0.30704 lineto 0.46032 0.30771 lineto 0.47024 0.30858 lineto 0.4752 0.30914 lineto 0.48016 0.30982 lineto 0.48512 0.31068 lineto 0.49008 0.31177 lineto 0.49504 0.3132 lineto 0.5 0.31513 lineto 0.50248 0.31636 lineto 0.50496 0.31783 lineto Mistroke 0.50744 0.31961 lineto 0.50992 0.32177 lineto 0.5124 0.32445 lineto 0.51488 0.32782 lineto 0.51736 0.33212 lineto 0.51984 0.33772 lineto 0.52232 0.34517 lineto 0.5248 0.3553 lineto 0.52728 0.36941 lineto 0.52852 0.37857 lineto 0.52976 0.38955 lineto 0.531 0.40278 lineto 0.53224 0.41874 lineto 0.53472 0.46073 lineto 0.5372 0.51695 lineto 0.53844 0.5478 lineto 0.53968 0.57605 lineto 0.54092 0.59628 lineto 0.54216 0.60332 lineto 0.5434 0.59507 lineto 0.54464 0.57397 lineto 0.54712 0.51446 lineto 0.5496 0.45874 lineto 0.55084 0.43624 lineto 0.55208 0.41735 lineto 0.55456 0.38861 lineto 0.5558 0.37779 lineto 0.55704 0.36878 lineto 0.55952 0.35487 lineto 0.562 0.34488 lineto 0.56448 0.33753 lineto 0.56696 0.332 lineto 0.56944 0.32775 lineto 0.57192 0.32442 lineto 0.5744 0.32178 lineto 0.57688 0.31964 lineto 0.57937 0.31789 lineto 0.58433 0.31522 lineto 0.58929 0.31333 lineto 0.59425 0.31193 lineto 0.59921 0.31087 lineto 0.60417 0.31005 lineto 0.60913 0.3094 lineto 0.61409 0.30888 lineto 0.61905 0.30846 lineto 0.62897 0.30782 lineto 0.63889 0.30736 lineto 0.64881 0.30703 lineto 0.65873 0.30677 lineto 0.66865 0.30658 lineto Mistroke 0.67857 0.30642 lineto 0.68849 0.3063 lineto 0.69841 0.3062 lineto 0.71825 0.30605 lineto 0.7381 0.30594 lineto 0.75794 0.30586 lineto 0.77778 0.3058 lineto 0.79762 0.30576 lineto 0.81746 0.30573 lineto 0.8373 0.3057 lineto 0.85714 0.30568 lineto 0.87698 0.30566 lineto 0.89683 0.30565 lineto 0.90675 0.30565 lineto 0.91667 0.30564 lineto 0.92659 0.30564 lineto 0.93651 0.30564 lineto 0.94643 0.30563 lineto 0.95139 0.30563 lineto 0.95635 0.30563 lineto 0.96131 0.30563 lineto 0.96379 0.30563 lineto 0.96627 0.30563 lineto 0.96875 0.30563 lineto 0.96999 0.30563 lineto 0.97123 0.30563 lineto 0.97247 0.30563 lineto 0.97371 0.30563 lineto 0.97495 0.30563 lineto 0.97619 0.30563 lineto Mfstroke grestore grestore % End of Graphics MathPictureEnd