IEEE Solid-States Circuits Magazine - Fall 2023 - 15
data instead of the full FFT, you
will not see these pairs, but then
you might be dealing with an alias,
rather than the original frequency,
which can be tricky. See " Aliasing
and Phase " for more details.
Figure 3(a) is the raw data directly
from the FFT. Although it shows
a phase relationship between the
various harmonics, it is not THE
relationship. If you take a different
data record and get another FFT, the
plot will NOT be a rotated version
of Figure 3(a). It will be different.
Remember that all of these vectors
are really phasors representing different
frequencies, so each one will
be rotating at a different speed.
As a reference point, we choose the
time instant when the phase of the fundamental
is zero. That makes the plot
shown in Figure 3(d). All of the plots
in Figure 3 are made from exactly the
same FFT data, except that Figure 3(d)
has been adjusted so that the fundamental
is captured at its zero-phase
point. How do you do that?
Let's Do the Phase Warp Again
You could take FFTs over and over
again until you get one where the
fundamental has zero phase, but
that's not recommended unless
you're being paid by the hour.
(Actually,
it's impossible to get
exactly zero.) Conceptually, timeshifting
the data makes more
sense. As you'll recall, FFTs are
really Fourier series that assume
that the time data record repeats
indefinitely. Another way to think
of this is that the time data used for
the FFT are a circular buffer. Where
you start/stop on that buffer determines
the phase numbers of the
FFT outputs but doesn't change the
magnitudes at all. So you can perform
an effective time shift on the
FFT input (not the output!!), using
the Python numpy.roll() function,
for example.
Let's say you are doing an FFT of 2
N
points, and your fundamental lands in
bin 127. That means your fundamental
makes 127 cycles over the course
of the time record. So, one cycle must
take 2
N
/127 time points. To correct
(a)
(b)
for a fundamental phase angle of i127
in radians, you need to time-shift by
(2
N
/127) × i127/(2π) points in the time
data record. But wait... what if this
is not an integer number? When you
round off to the nearest integer, you
get close, but it's not perfect. Figure 3(c)
shows what this looks like.
A better way to do this is to
manipulate the phase data directly.
Following the previous example,
where the phase of the fundamental
is i127
where k is the index of the FFT data
(sorta like frequency) from 0 to
2
N
fundamental in this example.
This is what was done to create
, you imagine a noninteger time
shift that would make that zero. Now
the second harmonic is twice the frequency
of the fundamental, so with
the same time shift, you would get
a phase change of 2i127
harmonic would shift by 3i127
. The third
, and so
forth. Apply this thinking to all the
phase data of the FFT, and you get
ik' = ik - k × i127
/ 127
(1)
Figure 3(d). Of course, the plot itself
is not essential. If all you want is the
relative phase of the harmonics, use
(1) to calculate what you need. The
Python code used to perform the
calculation and generate Figure 3 is
available on GitHub [2] if you'd like
to see the details.
The Payoff
OK, now we know how to extract
a meaningful phase number for
harmonics. What can we do with
this information? The phase of
the distortion will indicate what
the corrupted signal will look like.
But that's not the reason I dragged
you here.
- 1, and 127 is the index of the
(c)
(d)
FIGURE 3: The concept of relative phase. (a) Original FFT data. (b) Zoomed-in to see
harmonics. (c) Time-shift phase rotation. (d) Exact calculation. With the fundamental at exactly
0°, the angles of the harmonics in this plot-and only this plot-define " relative phase. " (The
radial axes for all plots are in dB magnitude. The fundamental and first two harmonics are
marked with colored lines and labeled 1, 2, and 3, respectively.)
IEEE SOLID-STATE CIRCUITS MAGAZINE
FALL 2023
15
IEEE Solid-States Circuits Magazine - Fall 2023
Table of Contents for the Digital Edition of IEEE Solid-States Circuits Magazine - Fall 2023
Contents
IEEE Solid-States Circuits Magazine - Fall 2023 - Cover1
IEEE Solid-States Circuits Magazine - Fall 2023 - Cover2
IEEE Solid-States Circuits Magazine - Fall 2023 - Contents
IEEE Solid-States Circuits Magazine - Fall 2023 - 2
IEEE Solid-States Circuits Magazine - Fall 2023 - 3
IEEE Solid-States Circuits Magazine - Fall 2023 - 4
IEEE Solid-States Circuits Magazine - Fall 2023 - 5
IEEE Solid-States Circuits Magazine - Fall 2023 - 6
IEEE Solid-States Circuits Magazine - Fall 2023 - 7
IEEE Solid-States Circuits Magazine - Fall 2023 - 8
IEEE Solid-States Circuits Magazine - Fall 2023 - 9
IEEE Solid-States Circuits Magazine - Fall 2023 - 10
IEEE Solid-States Circuits Magazine - Fall 2023 - 11
IEEE Solid-States Circuits Magazine - Fall 2023 - 12
IEEE Solid-States Circuits Magazine - Fall 2023 - 13
IEEE Solid-States Circuits Magazine - Fall 2023 - 14
IEEE Solid-States Circuits Magazine - Fall 2023 - 15
IEEE Solid-States Circuits Magazine - Fall 2023 - 16
IEEE Solid-States Circuits Magazine - Fall 2023 - 17
IEEE Solid-States Circuits Magazine - Fall 2023 - 18
IEEE Solid-States Circuits Magazine - Fall 2023 - 19
IEEE Solid-States Circuits Magazine - Fall 2023 - 20
IEEE Solid-States Circuits Magazine - Fall 2023 - 21
IEEE Solid-States Circuits Magazine - Fall 2023 - 22
IEEE Solid-States Circuits Magazine - Fall 2023 - 23
IEEE Solid-States Circuits Magazine - Fall 2023 - 24
IEEE Solid-States Circuits Magazine - Fall 2023 - 25
IEEE Solid-States Circuits Magazine - Fall 2023 - 26
IEEE Solid-States Circuits Magazine - Fall 2023 - 27
IEEE Solid-States Circuits Magazine - Fall 2023 - 28
IEEE Solid-States Circuits Magazine - Fall 2023 - 29
IEEE Solid-States Circuits Magazine - Fall 2023 - 30
IEEE Solid-States Circuits Magazine - Fall 2023 - 31
IEEE Solid-States Circuits Magazine - Fall 2023 - 32
IEEE Solid-States Circuits Magazine - Fall 2023 - 33
IEEE Solid-States Circuits Magazine - Fall 2023 - 34
IEEE Solid-States Circuits Magazine - Fall 2023 - 35
IEEE Solid-States Circuits Magazine - Fall 2023 - 36
IEEE Solid-States Circuits Magazine - Fall 2023 - 37
IEEE Solid-States Circuits Magazine - Fall 2023 - 38
IEEE Solid-States Circuits Magazine - Fall 2023 - 39
IEEE Solid-States Circuits Magazine - Fall 2023 - 40
IEEE Solid-States Circuits Magazine - Fall 2023 - 41
IEEE Solid-States Circuits Magazine - Fall 2023 - 42
IEEE Solid-States Circuits Magazine - Fall 2023 - 43
IEEE Solid-States Circuits Magazine - Fall 2023 - 44
IEEE Solid-States Circuits Magazine - Fall 2023 - 45
IEEE Solid-States Circuits Magazine - Fall 2023 - 46
IEEE Solid-States Circuits Magazine - Fall 2023 - 47
IEEE Solid-States Circuits Magazine - Fall 2023 - 48
IEEE Solid-States Circuits Magazine - Fall 2023 - 49
IEEE Solid-States Circuits Magazine - Fall 2023 - 50
IEEE Solid-States Circuits Magazine - Fall 2023 - 51
IEEE Solid-States Circuits Magazine - Fall 2023 - 52
IEEE Solid-States Circuits Magazine - Fall 2023 - 53
IEEE Solid-States Circuits Magazine - Fall 2023 - 54
IEEE Solid-States Circuits Magazine - Fall 2023 - 55
IEEE Solid-States Circuits Magazine - Fall 2023 - 56
IEEE Solid-States Circuits Magazine - Fall 2023 - 57
IEEE Solid-States Circuits Magazine - Fall 2023 - 58
IEEE Solid-States Circuits Magazine - Fall 2023 - 59
IEEE Solid-States Circuits Magazine - Fall 2023 - 60
IEEE Solid-States Circuits Magazine - Fall 2023 - 61
IEEE Solid-States Circuits Magazine - Fall 2023 - 62
IEEE Solid-States Circuits Magazine - Fall 2023 - 63
IEEE Solid-States Circuits Magazine - Fall 2023 - 64
IEEE Solid-States Circuits Magazine - Fall 2023 - 65
IEEE Solid-States Circuits Magazine - Fall 2023 - 66
IEEE Solid-States Circuits Magazine - Fall 2023 - 67
IEEE Solid-States Circuits Magazine - Fall 2023 - 68
IEEE Solid-States Circuits Magazine - Fall 2023 - 69
IEEE Solid-States Circuits Magazine - Fall 2023 - 70
IEEE Solid-States Circuits Magazine - Fall 2023 - 71
IEEE Solid-States Circuits Magazine - Fall 2023 - 72
IEEE Solid-States Circuits Magazine - Fall 2023 - 73
IEEE Solid-States Circuits Magazine - Fall 2023 - 74
IEEE Solid-States Circuits Magazine - Fall 2023 - 75
IEEE Solid-States Circuits Magazine - Fall 2023 - 76
IEEE Solid-States Circuits Magazine - Fall 2023 - 77
IEEE Solid-States Circuits Magazine - Fall 2023 - 78
IEEE Solid-States Circuits Magazine - Fall 2023 - 79
IEEE Solid-States Circuits Magazine - Fall 2023 - 80
IEEE Solid-States Circuits Magazine - Fall 2023 - 81
IEEE Solid-States Circuits Magazine - Fall 2023 - 82
IEEE Solid-States Circuits Magazine - Fall 2023 - 83
IEEE Solid-States Circuits Magazine - Fall 2023 - 84
IEEE Solid-States Circuits Magazine - Fall 2023 - 85
IEEE Solid-States Circuits Magazine - Fall 2023 - 86
IEEE Solid-States Circuits Magazine - Fall 2023 - 87
IEEE Solid-States Circuits Magazine - Fall 2023 - 88
IEEE Solid-States Circuits Magazine - Fall 2023 - 89
IEEE Solid-States Circuits Magazine - Fall 2023 - 90
IEEE Solid-States Circuits Magazine - Fall 2023 - 91
IEEE Solid-States Circuits Magazine - Fall 2023 - 92
IEEE Solid-States Circuits Magazine - Fall 2023 - 93
IEEE Solid-States Circuits Magazine - Fall 2023 - 94
IEEE Solid-States Circuits Magazine - Fall 2023 - 95
IEEE Solid-States Circuits Magazine - Fall 2023 - 96
IEEE Solid-States Circuits Magazine - Fall 2023 - Cover3
IEEE Solid-States Circuits Magazine - Fall 2023 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2023
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2023
https://www.nxtbook.com/nxtbooks/ieee/mssc_spring2023
https://www.nxtbook.com/nxtbooks/ieee/mssc_winter2023
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2022
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2022
https://www.nxtbook.com/nxtbooks/ieee/mssc_spring2022
https://www.nxtbook.com/nxtbooks/ieee/mssc_winter2022
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2021
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2021
https://www.nxtbook.com/nxtbooks/ieee/mssc_spring2021
https://www.nxtbook.com/nxtbooks/ieee/mssc_winter2021
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2020
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2020
https://www.nxtbook.com/nxtbooks/ieee/mssc_spring2020
https://www.nxtbook.com/nxtbooks/ieee/mssc_winter2020
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2019
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2019
https://www.nxtbook.com/nxtbooks/ieee/mssc_2019summer
https://www.nxtbook.com/nxtbooks/ieee/mssc_2019winter
https://www.nxtbook.com/nxtbooks/ieee/mssc_2018fall
https://www.nxtbook.com/nxtbooks/ieee/mssc_2018summer
https://www.nxtbook.com/nxtbooks/ieee/mssc_2018spring
https://www.nxtbook.com/nxtbooks/ieee/mssc_2018winter
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_winter2017
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_fall2017
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_summer2017
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_spring2017
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_winter2016
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_fall2016
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_summer2016
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_spring2016
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_winter2015
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_fall2015
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_summer2015
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_spring2015
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_winter2014
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_fall2014
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_summer2014
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_spring2014
https://www.nxtbookmedia.com