Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

impinvar error message

35 views
Skip to first unread message

Seth

unread,
Aug 5, 2013, 5:59:11 PM8/5/13
to
I'm trying to model an analog filter in MATLAB:

poles = [-0.6155+0.7703i; -0.6155-0.7703i; -0.5486+1.5154i; -0.5486-1.5154i; -0.2905+2.1486i; -0.2905-2.1486i; -0.6291];
zeros = [];
% Compute the gain of the poles
gain = prod(abs(poles));
gain = gain / 10^(passbandLossDb/20);
% Get the filter transfer function
[num,den] = zp2tf(zeros,poles,gain);
% Convert the lowpass filter to a bandpass filter
[num,den] = lp2bp(num,den,2*pi*centerFreqHz,2*pi*bandwidthHz);
% Convert the analog filter to a digital filter for simulation purposes
[bz,az] = impinvar(num,den,sampleFreqHz);

What does this error message mean?

"Warning: The output is not correct/robust. Coeffs of B(s)/A(s) are real, but B(z)/A(z) has complex coeffs. Probable cause is rooting of high-order repeated poles in A(s).
> In impinvar at 120"
0 new messages