Clear Filters
Clear Filters

What is actually Normalized Frequency?

234 views (last 30 days)
I mean how could we define or describes it? I am new to MATLAB. I have calculated the the Frequency of 1st zero, Level of 1st slobe, Level of 2nd slobe and level of 3rd slobe in Rectangular, Triangular, Hann, Hamming, Blackman etc type in Frequency Domain after typing "wintool" in the window command of the MATLAB. Thanks

Accepted Answer

Adam
Adam on 4 Dec 2015
Edited: Adam on 4 Dec 2015
Normalised frequency is frequency in Hz (or more generically cycles/second or some other unit) divided by the sample frequency of your signal in Hz (or the same units as your original frequency).
So a normalised frequency of 1 represents your sampling frequency and 0.5 represents the Nyquist frequency.
  7 Comments
Kenny
Kenny on 11 Jun 2019
Edited: Kenny on 12 Jun 2019
Thanks Adam! I see what's happening here now. I incorrectly assumed that Nyquist Frequency is Nyquist Rate, which are not the same definition. This is thanks (or actually no thanks) to those people that created two different definitions based on very similar terms. Thanks for your help again. Greatly appreciated.
Robbin Roddewig
Robbin Roddewig on 3 Dec 2021
Slight correction. The highest frequency that can be accurately represented is LESS THAN (not equal to) Nyquist. In you example of sampling peaks and troughs consider sampling the zero crossings if you are exactly half a wavelength based on your sampling of a sine wave being twice a wavelength. You would have zeros. Always. You cannot reconstruct a sine wave from zeros.

Sign in to comment.

More Answers (1)

George Fodor
George Fodor on 7 Dec 2018
Edited: George Fodor on 7 Dec 2018
Normalization means to have a measure for a signal in the same, fixed, easy to use range such as [0,..,1] and this measure should not have physical units.
For normalizing the frequency f to a value fn in range [0,...,1], the most obvious way is to divide f by the sampling frequency fs:
fn = f / fs (1)
Formula (1) is a number (no units) showing how many sampling periods with frequency fs are in the sampled signal f.
However, according to Nyquist-Shannon theorem, the sampling frequency is always at least two times the frequency f. Thus (1) is never larger than 1/2. To have fn in the range [0, 1], we multiply (1) with a factor 2:
fn = 2 * f / fs (2)
Now if we replace fs to be the Nyquist frequency, fs=2*f then we obtain fn=1. For higher sampling frequencies than Nyquist frequency, the value fn will be less than one since we divide 2*f by an increasingly large number, thus we obtain the range [0,..,1] for fn as we wanted. If one would not use the multiplier 2 in (2), then the range would be always [0,...,1/2] which is not so nice.
In graphical representations in Matlab, the normalized frequency is shown as (x pi rad/sample)”. This comes from the following calculation. It is known that omega in [rad/sec] and f in [Hz] are related by the formula:
omega = 2 * pi * f (3)
It means
f = omega / (2*pi) (4)
Replacing f above in (2) gives:
fn = 2*omega/(2*pi) / fs = (omega / pi) / fs (5)
We multiply (5) by pi and obtain:
fn * pi = omega / fs (6)
Now (omega / fs) has units [rad/sec] / [sample / sec] = [rad/sample]
Therefore we have fn in units [pi * rad / sample] as shown in graphics. However, creating a unit in this way is somewhat misleading since the relative frequency has no units, as seen in formula (1).
  7 Comments
Jan
Jan on 28 Jul 2022
I agree with @Kenny's first comment that a MATLAB course on signal processing should start with @George Fodor's statement. Perhaps every help page that uses the normalized frequency should have a fold out window (hidden by default) as a reminder. Especially, since the script
b = fir1(48,[0.35 0.65]);
freqz(b,1,512)
plots the magnitde and phase of the corresponding transfer function on a normalized frequency axis spanning [0,1), while the code
b = fir1(48,[0.35 0.65]);
[h, w] = freqz(b,1,512);
produces a radian frequency vector w between [0, pi). Indeed @Robbin Roddewig, pi is not included.
The help page that includes the above code (fir1) describes a bandpass filter based on a Hamming window with the 'normalized cutoff frequencies' 0.35 and 0.65, which are both neccesarily below Nyquist. Clearly the 1 in the plot and the pi in the w-vector both represent the Nyquist frequency, but the description should really be clearer in that regard.
Sherman Chen
Sherman Chen on 25 Jun 2023
Sorry but according to (6), should the unit of fn be rad/sample/pi, or rad/(sample*pi)? How come it is pi*rad/sample?

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!