0001 function ri= pfq2ri(f0, Q)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 if(nargin==0)
0015 disp('usage: ri = fq2ri2(f0, Q)')
0016 return
0017 elseif(nargin==1 || nargin==2 && isnan(Q))
0018 ri = -(1/(2*pi*f0));
0019 elseif(nargin==2 && Q>=0)
0020 if Q <= 0.5
0021 disp('Q < 0.5! For now treated as if pole is real;')
0022 ri = -(1/(2*pi*f0));
0023 else
0024 w0 = 2*pi*f0;
0025 G = 1/(w0*w0);
0026 re = -w0/(2*Q);
0027 im = w0*sqrt(4*Q*Q-1)/(2*Q);
0028 tri = complex(re,im);
0029 ri = G.*[tri conj(tri)]';
0030 end
0031 end
0032
0033
0034
0035