16

I am learning DSP and finding difficulty understanding the term Normalized frequency often used with DFT & DTFT.

  1. What does normalized frequency mean in DSP and how it is different from analog frequency?

  2. What is the significance of normalized frequency in DSP?

  3. Why is the limit of normalized frequency $2\pi$?

  4. How does the FFT deal with normalized frequency?

lennon310
  • 3,590
  • 19
  • 24
  • 27
user6363
  • 333
  • 2
  • 4
  • 11

3 Answers3

20

Normalized frequency is frequency in units of cycles/sample or radians/sample commonly used as the frequency axis for the representation of digital signals.

When the units are cycles/sample, the sampling rate is 1 (1 cycle per sample) and the unique digital signal in the first Nyquist zone resides from a sampling rate of -0.5 to +0.5 cycles per sample. This is the frequency equivalent of representing the time axis in units of samples instead of an actual time interval such as seconds.

When the units are radians/sample, the sampling rate is $2\pi$ ($2\pi$ radians per sample) and the unique digital signal in the first Nyquist zone resides from a sampling rate of $-\pi$ to $+\pi$.

How this comes about can be seen from the following expressions:

For an analog signal given as $$x(t)=\sin(2\pi F t)$$ where F is the analog frequency units in Hz,

When sampled at a sampling frequency of $F_s$ Hz, the sampling interval is $T_s=1/F_s$ so the signal after being sampled is given as:

$$x(nT_s)=\sin(2\pi F nT_s) = \sin\left(\frac{2\pi F}{F_s}n\right)$$

Where the units of normalized frequency, either $\frac{F}{F_s}$ in cycles/sample or $\frac{2\pi F}{F_s}$ in radians/sample is clearly shown.

This is illustrated below using $\Omega = 2\pi F$

Update: As @Fat32 points out in the comments, the units for sampling rate $F_s$ in the figure below is "samples/sec" (which is "Hz") in order for the normalized frequency to become radians/sample.

Normalized Frequency

To visually see the concept of "radians/sample" (and most other DSP concepts dealing with frequency and time) it has helped me considerably to get away from viewing individual frequency tones as sines and/or cosines and instead view them as spinning phasors ($e^{j\omega t} = 1 \angle (\omega t)$) as depicted in the graphic below, which shows a complex phasor spinning at a rate of 2 Hz and it's associated cosine and sine (being the real and imaginary axis). Each point in a DFT is an individual frequency tone represented as a single rotating phasor in time. Such a tone in an analog system would continuously rotate (counter-clockwise if a positive frequency and clockwise if a negative frequency) at F rotations per second where F is the frequency in Hz, or cycles/second. Once sampled, the rotation will be at the same rate but will be in discrete samples where each sample is a constant angle in radians, and thus the frequency can be quantified as radians/sample representing the rate of rotation of the phasor.

Euler's Identitiy

Dan Boschen
  • 50,942
  • 2
  • 57
  • 135
  • why did you replace sin by cos in the second equation? $x(n T_s) = \mathrm{sin}(2\pi F n T_s) = \mathrm{cos}(2\pi F n / F_s)$ ? – AlexTP Jun 07 '17 at 14:02
  • 2
    I was only half way through my coffee! Complete mistake, fixed now – Dan Boschen Jun 07 '17 at 14:11
  • Thanks for reply.Can you add to your answer how FFT takes care of this.. in spectrum analysis... It will helpful to understand further – user6363 Jun 07 '17 at 14:58
  • 1
    The FFT typically uses yet another unit for the frequency axis referred to as the Frequency Index which goes from 0 to N-1 where N is the number of samples used in the FFT . This maps to Normalized Frequency by equating N to 1 cycle/sample. Thus if you divide the FFT Frequency by N you get Normalized Frequency in cycles/sample. For example if I have 10 samples in the FFT in a system sampled at 100 Hz, the frequency bins in the FFT result will go from 0, 10, 20 ....90 Hz. N-1= 9 and 100 Hz represents 1 sample per cycle. Hope that helped. – Dan Boschen Jun 07 '17 at 15:21
  • (+1) The common usage of sampling frequency $F_s$ as "sampling rate in Hz" is ok, and I like to use it, but then the units of radian frequency $\omega$ is not "radians/sample" but just "radians". (i.e. $\omega$ is unitless since the angle radian is also unitless). Defining $F_s$ with a unit of " samples/second " resolves the issue. – Fat32 Jun 07 '17 at 15:26
  • @Fat32 I believe it is radians per sample; consider a Normalized Frequency of .1 in this usage: on each sample the vector will have moved 0.1 radians with a result of a vector spinning around the unit circle once every 10 samples--- such as what occurs in the DFT for each frequency bin which demonstrates this well. – Dan Boschen Jun 07 '17 at 15:29
  • Frankly speaking I don't have a definite preference over radians or radians/sample, for the discrete-time radian frequency $\omega$. I use them interchangeably for simplicity. I was referring to your equation $\omega = \Omega/ F_s$ . Now if the units of $\Omega$ is radians/sec and the units of $F_s$ is Hz=1/sec , then the units of discrete-frequency $\omega$ is "radians" (there is no sample in the right hand side?) – Fat32 Jun 07 '17 at 15:36
  • 1
    Yes I see- the sampling rate should be given in units of "Samples per Second" to make that work, good point @Fat32! Consistent units are important. – Dan Boschen Jun 07 '17 at 15:45
  • -+6π/20 this is spectrum of which waveform .. ? Also what you mean by following two statement.. "When the units are cycles/sample, the sampling rate is 1 " & "When the units are radians/sample, the sampling rate is 2π" – user6363 Jun 07 '17 at 16:01
  • 1
    @user6363 The sampling rate is 1 cycle/sample means when you use Normalized frequency then whatever the sampling rate is becomes 1 (cycle per sample), for example if the sampling rate is 100 MHz, then 100 MHz maps to 1, and a tone at 25 MHz for example would map to 0.25 (cycles/sample). When the units are radians/sample, the 100 MHz sampling rate would map to $2\pi$ and the tone at 25 MHz would map to $0.5\pi$. In my example the waveform extends in bandwidth from +6π/20 on a radians/sample normalized scale. If the sampling rate was 100 MHz, then this would be +/-3/20 *100 MHz = +/-15MHz – Dan Boschen Jun 07 '17 at 23:54
  • You said " For example if I have 10 samples in the FFT in a system sampled at 100 Hz, the frequency bins in the FFT result will go from 0, 10, 20 ....90 Hz. N-1= 9 and 100 Hz represents 1 sample per cycle. Hope that helped."... You are saying frequency bin 9 is 100 Hz , But in FFT X[9] is complex conjugate of bin X[1] I.e 10 hz. I think what you said is wrong. Please correct me. – user6363 Jun 08 '17 at 03:29
  • 1
    No I said bin 9 is 90 Hz and that is correct. It is also correct that bin[9] is -10 Hz. Look a the graphs of frequency that both i and Fat32 have posted and you can see that the frequencies from 0 to Fs are the same as 0 to Fs/2 and -Fs/2 to 0! So for a 10 pt FFT in a 100 Hz system, the frequencies are both 0, 10, 20, 30, 40, 50, 60, 70, 80, 90 AND equally 0, 10, 20, 30, 40, 50, -40, -30, -20, -10! Check out FFTSHIFT in Matlab as it does this translation. If this is still confusing, this would be a good different question to ask (or search if it has already been answered) – Dan Boschen Jun 08 '17 at 03:31
  • 1
    In my graphic I say the "unique span is -π to +π", but I could just have easily said the unique span is 0 to 2π. The FFT gives you frequencies from 0 to 2π. (Actually one sample less than 2π, as 2π is the same as 0!). When you use FFTSHIFT in Matlab in translates the 0 to 2π span to be -π to +π just by taking the second half of the vector and moving it to be in front of the first half: 0,1,2,3,4,5,6,7,8,9 becomes 0,1,2,3,4,5,-4,-3,-2,1! I have some graphics that illustrate this well, but it is off topic of your question here so probably should be asked as another question if still not clear – Dan Boschen Jun 08 '17 at 03:34
  • What I know fft bin represent max frequency upto fm = fs/2 .. as per Nyquist criteria. – user6363 Jun 08 '17 at 03:58
  • Also to avoid aliasing effect Normalised frequency should be <= 0.5 cycles/sample or <= π radians/sample. Is it correct / – user6363 Jun 08 '17 at 06:30
  • ok as you suggested i raised one question https://stackoverflow.com/questions/44429592/what-is-the-result-inside-fft-bin-at-different-index – user6363 Jun 08 '17 at 07:43
  • you said "So for a 10 pt FFT in a 100 Hz system, the frequencies are both 0, 10, 20, 30, 40, 50, 60, 70, 80, 90 AND equally 0, 10, 20, 30, 40, 50, -40, -30, -20, -10!" .. it is clear from this link when we under sample higher frequency circle seems moving in CCW direction ... thats why frequency above fs/2 appears as negative frequecny as if moving in counter clock wise direction https://www.nutaq.com/analog-digital-part-3-signal-sampling/ .. have i got it right ? – user6363 Jun 09 '17 at 12:00
  • 1
    Well, we aren't necessarily talking about undersampling but how the frequencies are represented once digital. You are referring to different options in where the analog frequency may be, but my answer is specific to what the digital frequencies represent. Once digital we have no way of knowing what the analog frequencies actually were (without knowledge of the analog anti-alias filter which may be a bandpass filter) – Dan Boschen Jun 09 '17 at 12:24
  • 1
    (It is a many-to-one mapping from the analog to the digital, and with the use of anti-alias filtering we can then make it a one-to-one mapping.) – Dan Boschen Jun 09 '17 at 12:25
  • Comments are not for extended discussion; this conversation has been moved to chat. – jojeck Jun 09 '17 at 12:49
  • @jojek If I press this chat link my stack exchange android app keep refreshing..Why so ? – user6363 Jun 10 '17 at 08:21
  • Could you elaborate on When the units are cycles/sample, the sampling rate is 1 (1 cycle per sample)? The normalized frequency $f_d$ is in cycles per sample units, indeed. But what do you mean with the sampling rate is 1? – Mussé Redi Jun 03 '18 at 15:18
  • Hi @MusséRedi Assuming you follow and agree with the logic that the units for the Frequency Axis when given as normalized frequency are in cycles/sample; an input frequency much lower than the sampling rate will be some fraction less than 1 (it could be negative if we are dealing with positive and negative frequencies, but magnitude will be a fraction less than 1). When the frequency of the signal is the same as the sampling rate, this fractional frequency term will be 1. – Dan Boschen Jun 05 '18 at 22:42
  • @MusséRedi Considering an example may help: Given a sampling rate of 100 Hz and an input signal of 10 Hz, the signal will go 10/100 = 0.1 cycles between every sample of the sampling clock. (Hence the signal has a normalized frequency of 0.1 cycles/sample.). If the input signal was 100 Hz, it's normalized frequency is 1 cycle/sample; it will rotate a complete cycle between every sample of the sampling clock and hence the normalized frequency of the sampling clock itself is 1 cycle/sample. In short it just means when we see 0.5 on the frequency axis, this is $f_s/2$. – Dan Boschen Jun 05 '18 at 22:45
  • Right. In that case, wouldn't it be more accurate to phrase it like: if the signal period is equal to the sampling rate, the sampled signal will have a sampling rate of $1$? – Mussé Redi Jun 06 '18 at 04:52
  • @MusséRedi Well I don't think it would be accurate to state "the signal period is equal to the sampling rate", since a period is the inverse of the rate. Did you mean "if the signal frequency is equal to the sampling rate?" I am trying to see the source of the issue; what do you find not accurate about what I did say? – Dan Boschen Jun 06 '18 at 10:22
  • @MusséRedi "Cycles/Sample" is the typical way this is presented (see https://en.wikipedia.org/wiki/Normalized_frequency_(unit) ) and is in fact most concise and accurate, but I think this helps clear up possible confusion if it was clearer that Sample here is a unit of time, given in samples, not seconds. So when we describe frequencies and rates in normalized terms, it is related to units of the sample period instead of units of seconds. But to be clear the sample period itself is given in Samples (not seconds!)-- Hence the unit "Sample". Not sure if this helps? – Dan Boschen Jun 06 '18 at 11:08
  • The motivation behind the use of cycles per sample is clear. With regards to my remark about the semantics of When the units are cycles/sample, the sampling rate is 1 (1 cycle per sample); I did, indeed, mean if the signal frequency is equal to the sampling rate. Say we have $F = \frac{1}{2} F_s$. In that case, the sampled frequency $\frac{F}{F_s} = \frac{1}{2} \text{cycles per sample}$. Therefore, the units are cycles per sample, like you stated; but the sampling rate, by which I presume you mean $\frac{F_s}{F}$, is not 1. – Mussé Redi Jun 06 '18 at 13:35
  • Hence my remark, isn't it more accurate to say: if the signal frequency is equal to the sampling rate, the sampled signal will have a sampling rate of 1? – Mussé Redi Jun 06 '18 at 13:39
  • @MusséRedi No, I don’t see it that way; the sampling rate is not dependent on the input signal (consider an actual waveform that is not a single frequency for example), so I did not at all mean the sampling rate is $Fs/F$ as you presumed, but instead like any other digital frequency described, it is normalized to the continuous time sampling rate $F_s$ And hence would indeed be 1. (1 if in the digital cycles/sample domain, or 2π in the digital angular frequency domain of radians\sample). Do you agree with that? – Dan Boschen Jun 10 '18 at 02:26
2

The following figure also displays a simplified graphical view of the frequency normalization procedure as a result of the sampling of a continuous-time signal enter image description here

Fat32
  • 28,152
  • 3
  • 24
  • 50
2

Short answer

What is normalized frequency?

Normalized frequency $f'$ appears in discrete-time signal equation, it corresponds to regular frequency $f$ seen in continuous-time signal equation. In their respective equations $f$ and $f'$ determine how quickly the periodic signal repeats.

  • Continuous-time: $x(t) = \cos (2 \pi \color{blue} {f t})$
  • Discrete-time: $x[n] = \cos (2 \pi \color{green} {f' n})$

Their values are different because the continuous-time signal is a function of time $\color{blue} {t}$ but the discrete-time signal is a function of sample index $\color{green} {n}$.

Note normalized frequency is $f'$ and the quantity $2 \pi f'$ is known as normalized radian frequency.

For the two functions to match at sampling times, $f'$ has to combine frequency and sampling rate: $f' = \frac {f} {f_s}$. For a 100Hz cosine sampled at 1600Hz:

  • $x(t) = \cos (2 \pi \color{blue} {100 t})$
  • $x[n] = \cos (2 \pi \color{green} {\frac {100} {1600} n})$

By definition of sampling interval $t = \frac {1} {1600} n$. Both functions deliver the same value for any sampling time:

enter image description here

More details and answers to your other questions are provided below.


Normalized vs analog frequency

What does normalized frequency mean in DSP and how it is different from analog frequency?

$f'$ is not a true frequency as it hasn't the $\frac {1} {s}$ dimension, however discrete-time product $\color {blue} {f' n}$ and continuous-time product $\color {green} {f t}$ are exactly comparable, they have no dimension, they are seen as angles in radians (angles have no dimension).

A sample sequence doesn't save the actual analog signal frequency. Time information is lost and only retrievable via the sampling rate, a separate quantity. This is why the sampling rate must be known when the analog signal is reconstructed from the samples.

On the other hand, many operations have a result depending on the waveform but not on the analog frequency. For these operations, the normalized frequency is sufficient. Discrete Fourier transform (DFT) is one of such operations. Fast Fourier transform (FFT), the algorithm used to efficiently compute a DFT, manipulates only normalized frequencies.

Normalized frequency in Discrete Fourier Transform

How does the FFT deal with normalized frequency?

The sampling rate is not passed to the DFT function, it works only on the samples. So how can the function know the actual frequency of the signal? It doesn't!

The sequence of $N$ samples passed to DCT must represent a signal period, this is a condition. Saying $N$ samples are present in a signal period is equivalent to saying the normalized frequency of the samples is $\frac {1} {N}$. So analog frequency is ignored, but normalized frequency is not.

DFT works assuming $\frac {1} {N}$ is the normalized frequency, and computes spectral coefficients $X_k$ associated to normalized frequencies defined relatively to $N$.

Corresponding analog frequencies can be retrieved at any time by multiplying each DFT bin normalized frequency by the separate sampling rate.

Normalized frequency use cases

What is the significance of normalized frequency in DSP?

Time-less samples and normalized frequency are sufficient, and allow generalization to any frequency for various transformations of the signal:

  • When signal waveform is the relevant factor, e.g. in spectral analysis.
  • When relative bandwidth is the relevant factor, e.g. when designing filters.

Wrapping of normalized frequency at 1

Why is the limit of normalized frequency 2π?

Normalized radian frequency wraps at $2 \pi$. The duration of a sample, expressed as a fraction of a signal cycle is the inverse of $f'$. After $k$ samples, the samples repeat. Therefore they repeat after $k f' = \frac {1} {f'} f' = 1$ cycle of $x$ and $f'$ has limits $[0, 1]$ or $[-\frac {1} {2}, \frac {1} {2}]$.

A consequence is normalized radian frequency ($\hat \omega = 2 \pi \frac {f} {f_s}$) has limits $[0, 2 \pi]$ or $[-\pi, \pi]$.

mins
  • 463
  • 3
  • 10