http://markus-hauenstein.de/sigpro/codec/codec.shtml formants http://research.cs.tamu.edu/prism/lectures/sp/l5.pdf https://ccrma.stanford.edu/~jos/filters/Formant_Filtering_Example.html http://www.sfu.ca/sonic-studio/handbook/Formant.html http://home.cc.umanitoba.ca/~robh/howto.html 625 0 1200 -5 dB 2300 -18 dB 3200 -18dB f0=10000 w1=2 Pi 625./f0 z1=.92 Exp[I w1] w2=2 Pi 1200./f0 z2=.92 Exp[I w2] w3=2 Pi 2300./f0 z3=.95 Exp[I w3] w4=2 Pi 3200./f0 z4=.95 Exp[I w4] A[z_]=(1/(1-z1/z)+1/(1-Conjugate[z1]/z))+10^(-6./15) (1/(1-z2/z)+1/(1-Conjugate[z2]/z))+ 10^(-18./15) (1/(1-z3/z)+1/(1-Conjugate[z3]/z))+10^(-18./15) (1/(1-z4/z)+1/(1-Conjugate[z4]/z)) Plot[20 Log[10, Abs[A[Exp[I 2 Pi f/f0]]]],{f,1,4000}] ((1-z1 zi)(1-Conjugate[z1] zi))((1-z2 zi)(1-Conjugate[z2] zi))* ((1-z3 zi)(1-Conjugate[z3] zi))((1-z4 zi)(1-Conjugate[z4] zi)) A[1/zi]*% Simplify[Re[%30], Element[zi,Reals]] A[1/zi]*((1-z1 zi)(1-Conjugate[z1] zi))((1-z2 zi)(1-Conjugate[z2] zi))* ((1-z3 zi)(1-Conjugate[z3] zi))((1-z4 zi)(1-Conjugate[z4] zi)) Simplify[Re[%], Element[zi,Reals]] Plot[20 Log[10, Abs[AA[Exp[I 2 Pi f/f0]]]],{f,1,4000}] restart math f0=10000 w1=2 Pi 625./f0; r1=.92 w2=2 Pi 1200./f0; r2=.92 w3=2 Pi 2300./f0; r3=.95 w4=2 Pi 3200./f0; r4=.95 choice={z4->r4 Exp[I w4],z1->r1 Exp[I w1],z2->r2 Exp[I w2],z3->r3 Exp[I w3]} A[z_]=(1/(1-z1/z)+1/(1-Conjugate[z1]/z))+10^(-6./15) (1/(1-z2/z)+1/(1-Conjugate[z2]/z))+ 10^(-18./15) (1/(1-z3/z)+1/(1-Conjugate[z3]/z))+10^(-18./15) (1/(1-z4/z)+1/(1-Conjugate[z4]/z)) A[1/zi]*((1-z1 zi)(1-Conjugate[z1] zi))((1-z2 zi)(1-Conjugate[z2] zi))* ((1-z3 zi)(1-Conjugate[z3] zi))((1-z4 zi)(1-Conjugate[z4] zi)) Together[%] % /. choice Expand[%] Simplify[Re[%], Element[zi,Reals]] Expand[%] Out[13]= 3.0486 - 5.33333 zi + 7.36138 zi - 8.19557 zi + 7.53604 zi - 5 6 7 > 5.61113 zi + 3.61221 zi - 1.51677 zi ((1-z1 zi)(1-Conjugate[z1] zi))((1-z2 zi)(1-Conjugate[z2] zi))* ((1-z3 zi)(1-Conjugate[z3] zi))((1-z4 zi)(1-Conjugate[z4] zi)) % /. choice Expand[%] Simplify[Re[%], Element[zi,Reals]] Expand[%] 2 3 4 Out[18]= 1 - 2.47039 zi + 3.8492 zi - 4.69454 zi + 4.90044 zi - 5 6 7 8 > 4.17172 zi + 3.0649 zi - 1.72755 zi + 0.583507 zi %13/%18 /. zi->1/z AA[z_]=% Plot[20 Log[10, Abs[AA[Exp[I 2 Pi f/f0]]]],{f,1,4000}]