ell1mag

ell1mag — magnitude of elliptic filter

Calling sequence

[v]=ell1mag(eps,m1,z)  

Parameters

eps : passband ripple=1/(1+eps^2)
m1 : stopband ripple=1/(1+(eps^2)/m1)
z : sample vector of values in the complex plane
v : elliptic filter values at sample points

Description

Function used for squared magnitude of an elliptic filter. Usually m1=eps*eps/(a*a-1). Returns v=real(ones(z)./(ones(z)+eps*eps*s.*s)) for s=%sn(z,m1).

Examples



deff('[alpha,beta]=alpha_beta(n,m,m1)',...
'if 2*int(n/2)=n then, beta=K1; else, beta=0;end;...
alpha=%k(1-m1)/%k(1-m);')
epsilon=0.1;A=10;  //ripple parameters
m1=(epsilon*epsilon)/(A*A-1);n=5;omegac=6;
m=find_freq(epsilon,A,n);omegar = omegac/sqrt(m)
%k(1-m1)*%k(m)/(%k(m1)*%k(1-m))-n   //Check...
[alpha,beta]=alpha_beta(n,m,m1)
alpha*%asn(1,m)-n*%k(m1)      //Check
sample=0:0.01:20;
//Now we map the positive real axis into the contour...
z=alpha*%asn(sample/omegac,m)+beta*ones(sample);
plot(sample,ell1mag(epsilon,m1,z))
 
  

See also

buttmag