Why do I receive a warning when analyzing transfer functions which have zeros/poles that do not exist as complex-conjugate pairs using the Control System Toolbox?
3 views (last 30 days)
Show older comments
I get the following warning when I analyze my transfer function that has complex roots with zeros/poles that do not exist as complex-conjugate pairs:
>> zpk([1+1i],[1i],1,1)
Warning: Not all complex roots come in conjugate pairs (transfer function has complex coefficients).
> In zpk.zpk at 246
Zero/pole/gain:
(z-(1+1i))
----------
(z-i)
Sampling time: 1
I get similar warnings when using the following functions:
BODE, STEP, IMPULSE, LSIM, DLSIM
Accepted Answer
MathWorks Support Team
on 27 Jun 2009
The Control System Toolbox has limited support for such systems. However, you can determine the frequency response of the system using the FREQRESP command. The following code illustrates how you can plot the output of FREQRESP for both the positive and negative frequencies:
wc = 2*pi*500;
wf = 2*pi*100;
wbw = 2*pi*100;
num = conv([1 j*(wc-2*wf)],[1-j*wc]);
den = conv([1 (wbw+j*wc-j*2*wf)],[1 (wbw-j*wc)]);
sys = tf(num,den);
% specify frequency grid w or can generate it using bode
[m,p,w] = bode(sys); % generate freqeuncy grid
sysfrdpos = frd(freqresp(sys,w),w); % positive freqeuncy response
sysfrdneg = frd(freqresp(sys,-w),w); % negative frequency response
bode(sysfrdpos,sysfrdneg) % plot both positive and negative frequencies
Please note that the frequency vector for “sysfrdneg” is actually abs(w) because the bode plot usually has a log scale frequency axes for which negative values are not defined.
0 Comments
More Answers (0)
See Also
Categories
Find more on Control System Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!