normalized bode plot

Thread Starter


Joined Aug 10, 2011

I have a 8th order s-domain transfer function that i would like to normalize for plotting a bode plot. The transfer function is in expanded form i.e. s^8 +s^7+s^6 etc.

i want to normalise the frequency f by frequency f0 such that s = j(f/f0) instead of just s = j2πf. the reason i want to do this is because i see some strange behaviour (asymptotes) if i plot the non-normalised version, so im hoping this will solve the problem.

the thing im unsure of is that, since my highest degree is 8 (in the denominator), is it as simple as dividing all the terms by (1/ω0)^8? is there some other methods that i can use since the transfer function is not one that is really simple to work with. (coefficients in the range of 1e-30)


would i be extracting the 1/w0 factor out of my coefficients? i.e. if the term is 5s^2, would the normalised version be 5/(w0^2) s^2? (this compared to the above where i would have 5/(w0^8)s^2.

edit: im also curious if we normalise the plot, does j(w/w0) still equal to s?
Last edited:


Joined Mar 6, 2009
warning: not a pretty tf.
That's an understatement to say the least. Extraordinarily unwieldy perhaps.

My initial comment is that since neither the numerator or denominator have any constant terms the denominator order will be 7th rather than 8th and the numerator reduced by one order.

What do you envisage the normalized bode plot telling you that will be any different to the simple bode plot?

What would you select as the 'normalizing' frequency? As a starting point think about how you would normalize (say) the transfer function G(s)=a^n/(s+a)^n to G_norm(s)=1/(s+1)^n - if that was the intended meaning of normalization in your situation.

I don't think just dividing through by ω0^n is correct. Whatever 'ω0' means in your function. Does it correspond to the 'midway' phase transition frequency?
Last edited:


Joined Mar 6, 2009
Having had a closer look at your unusual transfer function I can make a few comments - hopefully useful. What follows may not be immediately obvious but I think I have it 'right'.

If possible, I think one must first deal with the extraordinary range of the co-efficients.

One approach is to first ask what are the roots of the transfer function's denominator and numerator parts.

If you have suitable tools (e.g Matlab) you can readily find the roots.

The numerator roots are

- 3.274D-11 + 319658.86i
- 3.274D-11 - 319658.86i
- 7.390D-13 + 45625.836i
- 7.390D-13 - 45625.836i

The denominator roots are

- 1370050.6
- 73.873624 + 322958.87i
- 73.873624 - 322958.87i
- 181449.02 + 220122.27i
- 181449.02 - 220122.27i
- 0.7510284 + 45157.433i
- 0.7510284 - 45157.433i

One immediately notices that (ignoring the DC zero) the numerator roots have virtually infinitesimal real parts. So why not throw out the real parts and use just the imaginary terms plus the DC zero?

Giving the revised numerator roots
- 319658.86i
- 45625.836i

This would then give a 'simplified' 5th order numerator to replace the original numerator - as curious as this might at first seem.


The denominator polynomial would remain the same since the disparity between real and imaginary components isn't quite the same as with the numerator. One must not forget to multiply by the scaling constant K to maintain the same absolute gain values of the original and resulting modified transfer functions. K will be the coefficient of the highest order term in the original unmodified numerator - 6.497D-32

On the subject of normalization - if you still want to go down that path.....

Normalizing the function would involve dividing each root (in both numerator and denominator) by the 'as yet unknown' normalizing angular frequency. Then the new transfer function can be formed from the normalized roots.

By first extracting the roots as indicated above, the task of ‘normalizing’ becomes much simpler. If anything in this process can be regarded as simple.

My final comment would be a question as to what forms the original basis for this transfer function and why is it of interest?
Last edited:

Thread Starter


Joined Aug 10, 2011
thanks for looking into this, t_n_k. the reason i wanted to normalise the transfer function was that when i plot the un-normalised version, there are 2 asymptotes in the bode diagram, making it pretty much impossible to do any type of analysis.

i think i found the solution to my problem, and it was to just divide all the coefficients by the w0^8 (w0 is a constant, which i forgot to mention; and 8 being the order of the highest term)

what i did was that, say for example the first term in the numerator is s^6:

s^6 = (jw)^6

dividing by w0^8, the right hand side becomes (jw)^6 / (w0^6 * w0^2)

if i define s' to be equal to (jw/w0, the normalised version of "s"), then i can rewrite the equation as (s')^6/(w0^2). Therefore, the normalised coefficient would be the coefficient of s^6 divided by w0^2. I would then follow a similar process for the rest of the terms.

I think this works, since when i plot the new bode plot, i get a response without any asymptotes and looks to be much simpler than before. although the coefficients are still "unfriendly", it helps a lot to have matlab to do all the troublesome calculations.

thanks again!
Last edited:


Joined Mar 6, 2009
If normalizing the function produces a different response type then clearly you've made an error. Normalization would presumably simply shift the response to a different range of the bode frequency response - the general shape across the 'shifted' spectrum would remain the same.

One usually normalizes a function to allow comparison with other (normalized) functions on a common basis - such as a normalized frequency scale.

Thread Starter


Joined Aug 10, 2011
Just to make sure we are working from the same page, is this what your bode plot looks like?
yes that is the plot i was working with, before "normalizing".

regarding your other comment, perhaps i am using the incorrect term here? I agree where you said that normalizing refers to shifting in the x-axis for easier comparison between plots.

maybe instead of "normalizing", i should be calling this a change in variable? Since i am now mapping from s = jω to s' = j(ω/ω0)?


Joined Mar 6, 2009
So what did you choose for the ω0 value?

You also seemed to overlook the point I made about the two 's' polynomials (numerator & denominator) and the result of resolving their ratio to form the transfer function.

The result would be a 5th order polynomial for the TF numerator and a 7th order polynomial for the denominator.


Joined Mar 6, 2009
So the rationalized transfer function would look like


where K=3.278E+09


Joined Mar 6, 2009
It might be worth writing a clear summary of how the normalization process is accomplished along the lines you propose.

Suppose we initially consider, by way of example, the general low pass function

\(G(s)=\frac{\omega_o^2}{s^2+\alpha \omega_o s+ \omega_o^2}\)

where s=jω

Suppose one divides through by a factor ωo^2

\(G(\frac{s}{\omega_o})=\frac{1}{(\frac{s}{\omega_o})^2+\alpha (\frac{s}{\omega_o})+1)}\)

Denoting p=jωn=s/ωo as a normalized complex variable we can write the normalized version of G(s) as

\(G(p)=\frac{1}{p^2+\alpha p +1}\)

Suppose we now consider your function under consideration which has the general form

\(\frac{Ks(s^4+a_1s^2+a_2)}{s^7+b_1s^6+b_2s^5 ......+b_6s+ b_7}\)

One can show that for a normalized frequency ωo, the equivalent normalized function becomes (using normalized complex operator p=jωn)

\(\frac{K(\frac{1}{\omega_o})^{(7-4-1)}p(p^4+\frac{a_1}{\omega_o^2}p^2+\ \frac{a_2}{\omega_o^4})}{p^7+\frac{b_1}{\omega_o}p^6+\frac{b_2}{\omega_o^2}p^5+\frac{b_3}{\omega_o^3}p^4+....+\ \frac{b_6}{\omega_o^6}p+ \ \frac{b_7}{\omega_o^7}}\)


\(\frac{K(\frac{1}{\omega_o})^2p(p^4+ \ \frac{a_1}{\omega_o^2}p^2+\ \frac{a_2}{\omega_o^4})}{p^7+\frac{b_1}{\omega_o}p^6+\frac{b_2}{\omega_o^2}p^5+\frac{b_3}{\omega_o^3}p^4+....+\ \frac{b_6}{\omega_o^6}p+ \ \frac{b_7}{\omega_o^7}}\)

One can obviously do a bode plot for the normalized function by simply substituting the (usual) 's' for the variable 'p' in the above function when (say) working in the Matlab environment.