Signal Processing - November 2016 - 139

x est =
R
V
Sh [0]
W
Sh [1] h [0]
WRs [0]V
W
S
WS
Sh [2] h [1] h [0]
WSs [1]W
S
WSs [2]W,
h [2] h [1] h [0]
W
S
WS
h [2] h [1] h [0]WSs [3]W
S
S
h [2] h [1]WSs [4]W
T
X
SS
h [2]WW
T
X
forms the matrix with entries from h,
and the second,
R
Ss [0]
Ss [1]
S
Ss [2]
x est = Ss [3]
S
Ss [4]
S
SS
T

s [0]
s [1]
s [2]
s [3]
s [4]

V
W
W
W
s [0]W h [0]
s [1]W>h [1]H = Sh,
W
s [2]W h [2]
s [3]W
s [4]WW
X

uses the entries of s in the matrix S.
Note that here h ) s computes the "full"
convolution, which includes using the
zero-padded boundaries. In MATLAB,
we can compute the convolution with
the conv function:
x_est=conv(h, s, 'full').
For the gradient d h f , we treat s as a
constant, and so it is natural to use the
second matrix-vector product where we
use the entries of s to form the linear
operator. We have
d h f = d h 1 < Sh - x < 2
2
= S ) (Sh - x) = S ) r,
where we define the residual r = Sh - x =
x est - x . Written out, this gradient is
shown in the boxed equation at the bottom of the page. We recognize this as
the cross correlation between s and r:
d h f [n] =

Dfh = conv(r, conj(s(end:
-1:1)), 'valid').
The derivation and computations for
d s f are very similar.
Now that we can efficiently compute
the required gradients, we can use existing first-order methods. As an example,
we consider a simulated underwater
acoustic channel. A single unknown
real source signal is broadcast over two
noisy acoustic channels with unknown
real impulse responses. We extend the
blind channel estimation problem to
two channels quite naturally:
2

min
/ ^< h i ) s - x i < 22 + m h < h i < 1 h
h ,s
i

i=1

+ m s < s < 1.
Further, we may add a differentiable
1-D TV-like term to promote sharp
transitions and stretches of nearly constant signal values (e.g., where the
channel impulse response is constant
for brief periods). The true TV seminor m of h may be computed as
< Dh < 1 , where D is the operator that
subtracts consecutive pairs of elements
of h: {Dh} j = h j + 1 - h j . We can, in
fact, form D as a sparse matrix and
compute D ) easily. To "soften" the TV
norm to a differentiable term, we may
use the Huber function, defined as
1 z2
z #d
2
L d (z) = *
1
d ` z - d j z 2 d.
2
The Huber function is commonly used
in regression with outliers, as it is linear
for z 2 d , and so it is less sensitive to
outliers. Unlike < · < 1 , the Huber function is differentiable for all z. We can
approximate the TV norm with

< h < TV: = < Dh < 1 . L d (Dh) /d . The augmented problem, with the differentiable
TV-like term is
fd (h i, s) = < h i ) s - x i < 22
+ m h, TV L d (Dh i) /d,
min
h ,s
i

2

/ ^f

d

i=1

(h i, s) + m h < h i < 1 h + m s < s < 1 .
(6)

It is straightforward to include the "soft"
TV term in the gradients, and we can use
standard first-order algorithms to solve
the augmented problem. Simulated data
containing an impulsive source, two
underwater acoustic channel impulse
responses, and the two outputs of the
underwater channels were provided by
[11]. The simulation also added zero
mean Gaussian noise with standard deviation 0.005. We used the two channel outputs to attempt to recover the impulsive
source and channel impulse responses.
We take m h = 0.1, m s = 0.01, m h, TV =
0.01, and d = 0.1 for the Huber functions L d (·) . We initialized h i and s
with zero mean Gaussian random
numbers with unit standard deviation. In
practice, we may not know the true
lengths of h i and s, K and N, respectively. We do know the length of the
observed signals, which is K + N - 1. In
this example, K = 894 and N = 1, 717 ,
and we guess K est = 844 and N est =
1, 767. We used L1General [12] to find
a local solution of the augmented
problem (6). The initial guesses for h i
and s were drawn from the standard
normal distribution.
The results of the recovery are shown
in Figure 4. We show the output and
channel impulse response for only the
first channel; the second channel is similar. Researchers studying the acoustic

4

/ sr [k] r [k + n]

k=0

= (sr [-·] ) r [·]) [n],
where sr [- ·] is the matched filter of
s [·] . Note that the convolution here
does not include the entries that use
the zero-padded boundaries. In MATLAB, we can compute this convolution with

Rr [0]V
S
W
Sr [1]W
Sr [2]W
sr [0] sr [1] sr [2] sr [3] sr [4]
S
W
sr [0] sr [1] sr [2] sr [3] sr [4]
dh f = >
H # Sr [3]W.
sr [0] sr [1] sr [2] sr [3] sr [4] Sr [4]W
S
W
Sr [5]W
Sr [6]W
T
X

IEEE Signal Processing Magazine

|

November 2016

|

139



Table of Contents for the Digital Edition of Signal Processing - November 2016

Signal Processing - November 2016 - Cover1
Signal Processing - November 2016 - Cover2
Signal Processing - November 2016 - 1
Signal Processing - November 2016 - 2
Signal Processing - November 2016 - 3
Signal Processing - November 2016 - 4
Signal Processing - November 2016 - 5
Signal Processing - November 2016 - 6
Signal Processing - November 2016 - 7
Signal Processing - November 2016 - 8
Signal Processing - November 2016 - 9
Signal Processing - November 2016 - 10
Signal Processing - November 2016 - 11
Signal Processing - November 2016 - 12
Signal Processing - November 2016 - 13
Signal Processing - November 2016 - 14
Signal Processing - November 2016 - 15
Signal Processing - November 2016 - 16
Signal Processing - November 2016 - 17
Signal Processing - November 2016 - 18
Signal Processing - November 2016 - 19
Signal Processing - November 2016 - 20
Signal Processing - November 2016 - 21
Signal Processing - November 2016 - 22
Signal Processing - November 2016 - 23
Signal Processing - November 2016 - 24
Signal Processing - November 2016 - 25
Signal Processing - November 2016 - 26
Signal Processing - November 2016 - 27
Signal Processing - November 2016 - 28
Signal Processing - November 2016 - 29
Signal Processing - November 2016 - 30
Signal Processing - November 2016 - 31
Signal Processing - November 2016 - 32
Signal Processing - November 2016 - 33
Signal Processing - November 2016 - 34
Signal Processing - November 2016 - 35
Signal Processing - November 2016 - 36
Signal Processing - November 2016 - 37
Signal Processing - November 2016 - 38
Signal Processing - November 2016 - 39
Signal Processing - November 2016 - 40
Signal Processing - November 2016 - 41
Signal Processing - November 2016 - 42
Signal Processing - November 2016 - 43
Signal Processing - November 2016 - 44
Signal Processing - November 2016 - 45
Signal Processing - November 2016 - 46
Signal Processing - November 2016 - 47
Signal Processing - November 2016 - 48
Signal Processing - November 2016 - 49
Signal Processing - November 2016 - 50
Signal Processing - November 2016 - 51
Signal Processing - November 2016 - 52
Signal Processing - November 2016 - 53
Signal Processing - November 2016 - 54
Signal Processing - November 2016 - 55
Signal Processing - November 2016 - 56
Signal Processing - November 2016 - 57
Signal Processing - November 2016 - 58
Signal Processing - November 2016 - 59
Signal Processing - November 2016 - 60
Signal Processing - November 2016 - 61
Signal Processing - November 2016 - 62
Signal Processing - November 2016 - 63
Signal Processing - November 2016 - 64
Signal Processing - November 2016 - 65
Signal Processing - November 2016 - 66
Signal Processing - November 2016 - 67
Signal Processing - November 2016 - 68
Signal Processing - November 2016 - 69
Signal Processing - November 2016 - 70
Signal Processing - November 2016 - 71
Signal Processing - November 2016 - 72
Signal Processing - November 2016 - 73
Signal Processing - November 2016 - 74
Signal Processing - November 2016 - 75
Signal Processing - November 2016 - 76
Signal Processing - November 2016 - 77
Signal Processing - November 2016 - 78
Signal Processing - November 2016 - 79
Signal Processing - November 2016 - 80
Signal Processing - November 2016 - 81
Signal Processing - November 2016 - 82
Signal Processing - November 2016 - 83
Signal Processing - November 2016 - 84
Signal Processing - November 2016 - 85
Signal Processing - November 2016 - 86
Signal Processing - November 2016 - 87
Signal Processing - November 2016 - 88
Signal Processing - November 2016 - 89
Signal Processing - November 2016 - 90
Signal Processing - November 2016 - 91
Signal Processing - November 2016 - 92
Signal Processing - November 2016 - 93
Signal Processing - November 2016 - 94
Signal Processing - November 2016 - 95
Signal Processing - November 2016 - 96
Signal Processing - November 2016 - 97
Signal Processing - November 2016 - 98
Signal Processing - November 2016 - 99
Signal Processing - November 2016 - 100
Signal Processing - November 2016 - 101
Signal Processing - November 2016 - 102
Signal Processing - November 2016 - 103
Signal Processing - November 2016 - 104
Signal Processing - November 2016 - 105
Signal Processing - November 2016 - 106
Signal Processing - November 2016 - 107
Signal Processing - November 2016 - 108
Signal Processing - November 2016 - 109
Signal Processing - November 2016 - 110
Signal Processing - November 2016 - 111
Signal Processing - November 2016 - 112
Signal Processing - November 2016 - 113
Signal Processing - November 2016 - 114
Signal Processing - November 2016 - 115
Signal Processing - November 2016 - 116
Signal Processing - November 2016 - 117
Signal Processing - November 2016 - 118
Signal Processing - November 2016 - 119
Signal Processing - November 2016 - 120
Signal Processing - November 2016 - 121
Signal Processing - November 2016 - 122
Signal Processing - November 2016 - 123
Signal Processing - November 2016 - 124
Signal Processing - November 2016 - 125
Signal Processing - November 2016 - 126
Signal Processing - November 2016 - 127
Signal Processing - November 2016 - 128
Signal Processing - November 2016 - 129
Signal Processing - November 2016 - 130
Signal Processing - November 2016 - 131
Signal Processing - November 2016 - 132
Signal Processing - November 2016 - 133
Signal Processing - November 2016 - 134
Signal Processing - November 2016 - 135
Signal Processing - November 2016 - 136
Signal Processing - November 2016 - 137
Signal Processing - November 2016 - 138
Signal Processing - November 2016 - 139
Signal Processing - November 2016 - 140
Signal Processing - November 2016 - 141
Signal Processing - November 2016 - 142
Signal Processing - November 2016 - 143
Signal Processing - November 2016 - 144
Signal Processing - November 2016 - 145
Signal Processing - November 2016 - 146
Signal Processing - November 2016 - 147
Signal Processing - November 2016 - 148
Signal Processing - November 2016 - Cover3
Signal Processing - November 2016 - 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