IEEE Signal Processing - March 2018 - 162

Tips & Tricks
Stephen So
and Kuldip K. Paliwal

Reconstruction of a Signal from the Real Part
of Its Discrete Fourier Transform

I

n this tutorial, we present a procedure
for reconstructing a complex-valued,
discrete-time signal from only partial
Fourier transform (FT) information,
more specifically, the real part of its discrete FT (RDFT). By applying a delay,
coupled with appropriate zero-padding
to ensure a sufficiently dense sampling of
the frequency axis, we show that any signal can be reconstructed perfectly from
the RDFT alone. The presented procedure can, in the case of a densely sampled
DFT, provide a reduction in the computational complexity of analysis-modification-synthesis-based speech processing
methods that independently process the
real and imaginary (RI) parts temporally.
Furthermore, the perfect reconstruction
property of this method implies that the
RDFT alone captures all of the information about the signal, which suggests that
it may be a potentially useful frequencyderived domain for the processing of
speech signals.

Introduction
Discrete-time signal reconstruction from
complete or partial frequency domain
information is a very common task in
digital signal processing. When referring to frequency domain information,
we mean in terms of the magnitude and
phase components, or RI parts that are
computed from the DFT of the signal.
By using the inverse DFT with appropriate zero-padding, a discrete-time signal
Digital Object Identifier 10.1109/MSP.2017.2771817
Date of publication: 7 March 2018

162

can be completely and uniquely determined, if both the magnitude and phase,
or similarly, both the RI parts at each
frequency sample are known.
Some previous literature has studied
signal reconstruction techniques from
partial FT information. Van Hove et al.
[1] showed that a one- or two-dimensional
signal can be uniquely specified by its FT
magnitude and limited (1-bit) FT phase
information. An iterative reconstruction algorithm was presented, where
the mean squared error of the reconstructed sequence decreased monotonically with each iteration, provided that
the "signed FT magnitude is densely
sampled in the frequency domain" [1].
Hayes et al. [2] developed a set of conditions for reconstruction (to within a scale
factor) of a discrete-time signal by using
only FT magnitude or phase. An iterative
reconstruction algorithm was presented
that utilized an M-point DFT. The authors
reported the total squared error was observed to monotonically decrease with
each iteration, as long as M $ 2N, where
N is the length of the discrete-time signal.
In this tutorial, we present a simple,
noniterative procedure for reconstructing a discrete-time signal using only
the RDFT. In contrast to the iterative
methods that reconstructed a discretetime signal using only FT magnitude
or phase [1]-[3], this procedure can
perfectly reconstruct the original signal, if appropriate zero-padding and
DFT sizes are used. This implies that
the RDFT captures all the information
about the signal.
IEEE Signal Processing Magazine

|

March 2018

|

Signal reconstruction
from the RDFT
RDFT reconstruction procedure
Let us assume an N-length discretetime complex-valued signal x (n), where
n = 0, 1, f, N - 1. An extended signal
xu (n) is created by first delaying x (n)
by one sample and padding a zero at the
beginning and then padding a sufficient
number of zeros at the end, to give it a
length of M $ 2N + 1
xu (n)
0,
for n = 0
= * x (n - 1), for n = 1, 2, f, N
.
0,
for n = N + 1, f, M - 1
(1)

[Zero-padding the first sample is only
required if x(n) is a complex-valued signal. If x(n) is real-valued, the zero at the
beginning is not necessary.]
An M-point discrete FT is performed
on this extended signal

Xu (k) =

M-1

/

xu (n) e -j2rnk/M,

n=0

for k = 0, 1, f, M - 1

(2)

where k is the frequency sample. The
complex DFT can be written as a sum of
RI parts, Xu R (k) and Xu I (k), respectively,
Xu (k) = Xu R (k) + jXu I (k) .

(3)

To reconstruct the signal using only the real
part Xu R (k), we first multiply it by a factor
of two and then take the inverse DFT
1053-5888/18©2018IEEE



Table of Contents for the Digital Edition of IEEE Signal Processing - March 2018

Contents
IEEE Signal Processing - March 2018 - Cover1
IEEE Signal Processing - March 2018 - Cover2
IEEE Signal Processing - March 2018 - Contents
IEEE Signal Processing - March 2018 - 2
IEEE Signal Processing - March 2018 - 3
IEEE Signal Processing - March 2018 - 4
IEEE Signal Processing - March 2018 - 5
IEEE Signal Processing - March 2018 - 6
IEEE Signal Processing - March 2018 - 7
IEEE Signal Processing - March 2018 - 8
IEEE Signal Processing - March 2018 - 9
IEEE Signal Processing - March 2018 - 10
IEEE Signal Processing - March 2018 - 11
IEEE Signal Processing - March 2018 - 12
IEEE Signal Processing - March 2018 - 13
IEEE Signal Processing - March 2018 - 14
IEEE Signal Processing - March 2018 - 15
IEEE Signal Processing - March 2018 - 16
IEEE Signal Processing - March 2018 - 17
IEEE Signal Processing - March 2018 - 18
IEEE Signal Processing - March 2018 - 19
IEEE Signal Processing - March 2018 - 20
IEEE Signal Processing - March 2018 - 21
IEEE Signal Processing - March 2018 - 22
IEEE Signal Processing - March 2018 - 23
IEEE Signal Processing - March 2018 - 24
IEEE Signal Processing - March 2018 - 25
IEEE Signal Processing - March 2018 - 26
IEEE Signal Processing - March 2018 - 27
IEEE Signal Processing - March 2018 - 28
IEEE Signal Processing - March 2018 - 29
IEEE Signal Processing - March 2018 - 30
IEEE Signal Processing - March 2018 - 31
IEEE Signal Processing - March 2018 - 32
IEEE Signal Processing - March 2018 - 33
IEEE Signal Processing - March 2018 - 34
IEEE Signal Processing - March 2018 - 35
IEEE Signal Processing - March 2018 - 36
IEEE Signal Processing - March 2018 - 37
IEEE Signal Processing - March 2018 - 38
IEEE Signal Processing - March 2018 - 39
IEEE Signal Processing - March 2018 - 40
IEEE Signal Processing - March 2018 - 41
IEEE Signal Processing - March 2018 - 42
IEEE Signal Processing - March 2018 - 43
IEEE Signal Processing - March 2018 - 44
IEEE Signal Processing - March 2018 - 45
IEEE Signal Processing - March 2018 - 46
IEEE Signal Processing - March 2018 - 47
IEEE Signal Processing - March 2018 - 48
IEEE Signal Processing - March 2018 - 49
IEEE Signal Processing - March 2018 - 50
IEEE Signal Processing - March 2018 - 51
IEEE Signal Processing - March 2018 - 52
IEEE Signal Processing - March 2018 - 53
IEEE Signal Processing - March 2018 - 54
IEEE Signal Processing - March 2018 - 55
IEEE Signal Processing - March 2018 - 56
IEEE Signal Processing - March 2018 - 57
IEEE Signal Processing - March 2018 - 58
IEEE Signal Processing - March 2018 - 59
IEEE Signal Processing - March 2018 - 60
IEEE Signal Processing - March 2018 - 61
IEEE Signal Processing - March 2018 - 62
IEEE Signal Processing - March 2018 - 63
IEEE Signal Processing - March 2018 - 64
IEEE Signal Processing - March 2018 - 65
IEEE Signal Processing - March 2018 - 66
IEEE Signal Processing - March 2018 - 67
IEEE Signal Processing - March 2018 - 68
IEEE Signal Processing - March 2018 - 69
IEEE Signal Processing - March 2018 - 70
IEEE Signal Processing - March 2018 - 71
IEEE Signal Processing - March 2018 - 72
IEEE Signal Processing - March 2018 - 73
IEEE Signal Processing - March 2018 - 74
IEEE Signal Processing - March 2018 - 75
IEEE Signal Processing - March 2018 - 76
IEEE Signal Processing - March 2018 - 77
IEEE Signal Processing - March 2018 - 78
IEEE Signal Processing - March 2018 - 79
IEEE Signal Processing - March 2018 - 80
IEEE Signal Processing - March 2018 - 81
IEEE Signal Processing - March 2018 - 82
IEEE Signal Processing - March 2018 - 83
IEEE Signal Processing - March 2018 - 84
IEEE Signal Processing - March 2018 - 85
IEEE Signal Processing - March 2018 - 86
IEEE Signal Processing - March 2018 - 87
IEEE Signal Processing - March 2018 - 88
IEEE Signal Processing - March 2018 - 89
IEEE Signal Processing - March 2018 - 90
IEEE Signal Processing - March 2018 - 91
IEEE Signal Processing - March 2018 - 92
IEEE Signal Processing - March 2018 - 93
IEEE Signal Processing - March 2018 - 94
IEEE Signal Processing - March 2018 - 95
IEEE Signal Processing - March 2018 - 96
IEEE Signal Processing - March 2018 - 97
IEEE Signal Processing - March 2018 - 98
IEEE Signal Processing - March 2018 - 99
IEEE Signal Processing - March 2018 - 100
IEEE Signal Processing - March 2018 - 101
IEEE Signal Processing - March 2018 - 102
IEEE Signal Processing - March 2018 - 103
IEEE Signal Processing - March 2018 - 104
IEEE Signal Processing - March 2018 - 105
IEEE Signal Processing - March 2018 - 106
IEEE Signal Processing - March 2018 - 107
IEEE Signal Processing - March 2018 - 108
IEEE Signal Processing - March 2018 - 109
IEEE Signal Processing - March 2018 - 110
IEEE Signal Processing - March 2018 - 111
IEEE Signal Processing - March 2018 - 112
IEEE Signal Processing - March 2018 - 113
IEEE Signal Processing - March 2018 - 114
IEEE Signal Processing - March 2018 - 115
IEEE Signal Processing - March 2018 - 116
IEEE Signal Processing - March 2018 - 117
IEEE Signal Processing - March 2018 - 118
IEEE Signal Processing - March 2018 - 119
IEEE Signal Processing - March 2018 - 120
IEEE Signal Processing - March 2018 - 121
IEEE Signal Processing - March 2018 - 122
IEEE Signal Processing - March 2018 - 123
IEEE Signal Processing - March 2018 - 124
IEEE Signal Processing - March 2018 - 125
IEEE Signal Processing - March 2018 - 126
IEEE Signal Processing - March 2018 - 127
IEEE Signal Processing - March 2018 - 128
IEEE Signal Processing - March 2018 - 129
IEEE Signal Processing - March 2018 - 130
IEEE Signal Processing - March 2018 - 131
IEEE Signal Processing - March 2018 - 132
IEEE Signal Processing - March 2018 - 133
IEEE Signal Processing - March 2018 - 134
IEEE Signal Processing - March 2018 - 135
IEEE Signal Processing - March 2018 - 136
IEEE Signal Processing - March 2018 - 137
IEEE Signal Processing - March 2018 - 138
IEEE Signal Processing - March 2018 - 139
IEEE Signal Processing - March 2018 - 140
IEEE Signal Processing - March 2018 - 141
IEEE Signal Processing - March 2018 - 142
IEEE Signal Processing - March 2018 - 143
IEEE Signal Processing - March 2018 - 144
IEEE Signal Processing - March 2018 - 145
IEEE Signal Processing - March 2018 - 146
IEEE Signal Processing - March 2018 - 147
IEEE Signal Processing - March 2018 - 148
IEEE Signal Processing - March 2018 - 149
IEEE Signal Processing - March 2018 - 150
IEEE Signal Processing - March 2018 - 151
IEEE Signal Processing - March 2018 - 152
IEEE Signal Processing - March 2018 - 153
IEEE Signal Processing - March 2018 - 154
IEEE Signal Processing - March 2018 - 155
IEEE Signal Processing - March 2018 - 156
IEEE Signal Processing - March 2018 - 157
IEEE Signal Processing - March 2018 - 158
IEEE Signal Processing - March 2018 - 159
IEEE Signal Processing - March 2018 - 160
IEEE Signal Processing - March 2018 - 161
IEEE Signal Processing - March 2018 - 162
IEEE Signal Processing - March 2018 - 163
IEEE Signal Processing - March 2018 - 164
IEEE Signal Processing - March 2018 - 165
IEEE Signal Processing - March 2018 - 166
IEEE Signal Processing - March 2018 - 167
IEEE Signal Processing - March 2018 - 168
IEEE Signal Processing - March 2018 - 169
IEEE Signal Processing - March 2018 - 170
IEEE Signal Processing - March 2018 - 171
IEEE Signal Processing - March 2018 - 172
IEEE Signal Processing - March 2018 - 173
IEEE Signal Processing - March 2018 - 174
IEEE Signal Processing - March 2018 - 175
IEEE Signal Processing - March 2018 - 176
IEEE Signal Processing - March 2018 - Cover3
IEEE Signal Processing - March 2018 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201809
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201807
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201805
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201803
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201801
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1117
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0917
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0717
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0517
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0317
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0117
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1116
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0916
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0716
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0516
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0316
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0116
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1115
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0915
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0715
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0515
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0315
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0115
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1114
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0914
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0714
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0514
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0314
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0114
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1113
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0913
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0713
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0513
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0313
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0113
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1112
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0912
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0712
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0512
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0312
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0112
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1111
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0911
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0711
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0511
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0311
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0111
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1110
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0910
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0710
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0510
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0310
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0110
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1109
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0909
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0709
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0509
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0309
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0109
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1108
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0908
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0708
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0508
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0308
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0108
https://www.nxtbookmedia.com