MATLAB: 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

Control System Toolboxfrequeciesfrequencynegative

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

Best Answer

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.
Related Question