4.4  Energy spectral density (ESD)

To understand the ESD definition, it is useful to recall the Parseval’s Theorem 2 for block transforms in Section 2.4.5. This theorem can be extended to continuous and discrete-time signals.

For continuous-time signals, the energy can be obtained in time-domain according to Eq. (1.22) or, equivalently, in frequency-domain as

E =|x(t)|2dt =|X(f)|2df,
(4.15)

which is a version of Parseval’s Theorem.

Eq. (4.15) suggests defining

G(f) = |X(f)|2
(4.16)

as the ESD in continuous-time. Therefore, G(f) describes how the signal energy E is spread over frequency and its integral is the energy E. The adopted unit for the ESD is joules/Hz.

Note that, while |x(t)|2 represents the instantaneous power in time-domain, in frequency-domain, |X(f)|2 represents the ESD.

Example 4.5. ESD of a real-valued exponential. Consider the energy signal x(t) = eatu(t) in volts, where a = 0.9. Its Fourier transform is X(f) = 1(j2πf + a) and the ESD in joules/Hz is

G(f) = |X(f)|2 = 1 (2πf)2 + a2.

The signal energy is E = |x(t)|2dt =G(f)df 0.55556. Listing 4.6 illustrates how E can be estimated in time-domain and also using G(f). In this case, the range ] ,[ is simulated as [0,30] s and [1000,1000] Hz in time and frequency-domain, respectively.

Listing 4.6: MatlabOctaveCodeSnippets/snip_frequency_exp_esd.m
1%% Generate time-domain signal 
2Ts=0.0001; %defines resolution in time 
3t=0:Ts:30; %time axis 
4a=0.9; %constant 
5x=exp(-a*t); %signal 
6subplot(211), plot(t,x) 
7xlabel('t (s)'); ylabel('x(t) amplitude') 
8%% Generate ESD 
9f=linspace(-2,2,1000); %frequency axis 
10Gf= 1 ./ ((2*pi*f).^2 + a^2); %ESD 
11subplot(212) 
12plot(t,x), plot(f,Gf) 
13xlabel('f (Hz)'); ylabel('ESD (J/Hz)') 
14%% Confirm Parseval theorem 
15energy_equation = 1/(2*a); %theoretical 
16energy_time = sum(abs(x).^2)*Ts; %integration 
17df=0.0001; %defines resolution in frequency 
18min_f = -1000; %range of interest 
19max_f = 1000; 
20f=min_f:df:max_f; %frequency axis 
21Gf= 1 ./ ((2*pi*f).^2 + a^2); %recalculate ESD 
22energy_frequency = sum(Gf)*df; %integration 
23disp(['Theoretical energy =' num2str(energy_equation) ' Joules']) 
24disp(['Integration in time =' num2str(energy_time) ' Joules']) 
25disp(['Integration in frequency =' num2str(energy_frequency) ' J']) 
26%% Energy in given frequency band 
27min_f = 0.2; max_f = 1; %range of interest 
28f=min_f:df:max_f; %new frequency axis 
29Gf= 1 ./ ((2*pi*f).^2 + a^2); %recalculate ESD 
30energy_band = 2*sum(Gf)*df; %integration using 2 times 
31disp(['Energy in band =' num2str(energy_band) ' Joules'])
  

Listing 4.6 also illustrates how G(f) can be conveniently used to estimate the energy within a given frequency band. In this example, the energy within the range from 0.2 to 1 Hz, considering both negative and positive frequencies, is Er = 2 0.21G(f)df 0.16954 J.    

Example 4.6. ESD of a sinc in time-domain. Now consider the energy signal is x(t) = 400sinc(100t) in volts. According to Eq. (A.56), one needs to consider that 2F = 100, such that F = 50 Hz. With this assumption, Eq. (A.56) can be used together with the linearity property of the Fourier transform. The linearity takes care of a factor of 4 that multiplies Eq. (A.56), such that one has X(f) = 4 for |f| 50 Hz and 0 otherwise. Hence, the ESD of x(t) is G(f) = 16 for |f| 50 Hz and 0 otherwise. In this case, using the ESD instead of x(t), it is easy to conclude that the total signal energy is E = 16 × 100 = 1600 joules.    

4.4.1  ESD of discrete-time signals

The ESD in discrete-time is defined as

G(ejΩ) = |X(ejΩ)|2.
(4.17)

Similar to Eq. (4.19), G(ejΩ) needs to be normalized by the factor 2π to be interpreted as G(ejΩ)(2π) in units of joules per radians. Using this definition, one can properly interpret a version of the Parseval’s theorem in discrete-time:

E = n=|x[n]|2 = 1 2π<2π>|X(ejΩ)|2dΩ.
(4.18)

Example 4.7. ESD of a discrete-time sinc. Consider the discrete-time, non-periodic and finite-energy signal

x[n] = 20sinc ( n 10 )

in volts. From Eq. (A.58), its DTFT is known to be:

X(ejΩ) = 200rect (5Ω π ) = { 200,|Ω| 0.1π

The corresponding ESD is given by

G(ejΩ) = |X(ejΩ)|2 = { 40000,|Ω| 0.1π

Using Parseval’s Theorem for discrete-time signals, the total signal energy can be computed as

E = 1 2πππG(ejΩ)dΩ = 1 2π0.1π0.1π40000dΩ = 1 2π 40000 0.2π = 4000

Thus, the total energy of the signal is E = 4000 joules.   

4.4.2  Advanced: Different definitions of ESD and their units

In continuous-time spectral analysis, the linear frequency in Hertz is more convenient and angular frequencies are seldom adopted. But this is not an option in discrete-time processing, given that Ω is an angle (assumed in radians) and does not have a counterpart in Hertz. Hence, in spite of being more convenient in continuous-time signal processing to adopt G(f) (using Hz), it is useful to discuss G(ω) (using rad/s) in continuous-time to facilitate interpreting G(ejΩ) (using rad) in discrete-time processing.

4.4.3  Units of ESD when angular frequencies are adopted

Similar to the discussion in Section 2.5.4 regarding the Fourier transform X(ω) with ω in rad/s, there is a subtle issue when using radians per second instead of Hertz for the ESD. In this case, the factor 2π needs to be taken in account such that G(ω)(2π) = |X(ω)|2(2π) has the unit of joules/(rad/s). In other words, while G(f) has the unit of joules/Hz, it is not strictly correct to state that G(ω) has the unit of joules/(rad/s). Only after the normalization by 2π, one has G(ω)(2π) with the unit of joules/(rad/s).

The energy over a band of frequencies specified in rad/s can then be calculated by integrating |X(ω)|2(2π) over this band. For instance, considering a band ω [,] the energy E is:

E =|x(t)|2dt = 1 2π|X(ω)|2dω = 1 2πG(ω)dω,
(4.19)

where G(ω) = G(2πf) and the unit of G(ω)(2π) is joules/(rad/s).

Example 4.8. The unit of G(ω)(2π) is joules/(rad/s). For instance, take the sinc signal of Example 4.6, which has a flat ESD given by G(f) = 16 J/Hz within the range [50,50] Hz and zero otherwise. The representation G(ω) of this ESD in rad/s has the same constant value G(ω) = 16 but now over the range [100π,100π] rad/s. The value G(ω)(2π) = 16(2π) can be interpreted as a density in J/(rad/s). Within the range [100π,100π], one has (16(2π)) × 200π = 1600 J.   

Table 4.2 summarizes the discussed ESD functions.

Table 4.2: ESD functions. E is the total energy and the column “Ind. var” (independent variable) indicates the units and symbols used for the independent variable of each function. The units of G(f), G(ω)(2π) and G(ejΩ)(2π) are J/Hz, J/(rad/s) and J/rad, respectively.
Time Ind. var. ESD definition ESD main property
Continuous-time f (Hz) G(f) = |X(f)|2 E = G(f)df
Continuous-time ω (rad/s) G(ω) = |X(ω)|2 E = 1 2π G(ω)dω
Discrete-time Ω (rad) G(ejΩ) = |X(ejΩ)|2 E = 1 2π <2π>G(ejΩ)dΩ