# US 11,308,349 B1 · Method to modify adaptive filter weights in a decentralized wireless sensor network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,308,349 B1
- Document ID: US11308349B1
- Status: Granted
- Kind: B1
- Application number: 17/502,593
- Filed: 2021-10-15
- Granted: 2022-04-19
- Earliest claimed: 2021-10-15
- Assignees: King Abdulaziz University
- Applicants: King Abdulaziz University
- Inventors: Abdulrahman U. Alsaggaf; Ubaid M. Al-Saggaf; Muhammad Moinuddin; Muhammad Arif; Imran Naseem
- Web page: https://patentgrep.com/patent/US11308349B1

## CPC

- G06F 18/23213: with fixed number of clusters, e.g. K-means clustering
- G06N 20/00: Machine learning
- G06F 18/2113: by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
- G06F 18/21322: {Rendering the within-class scatter matrix non-singular}
- H03H 2021/0056: {Non-recursive least squares algorithm [LMS]}
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- H03H: IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS (waveguides, resonators, lines or other devices of the waveguide type H01P)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method and a system of distributed estimation using q-diffusion least mean squares (qDiff-LMS) to modify adaptive filter weights in a decentralized wireless sensor network of N nodes is described. The method includes receiving, at each node, k, a local estimate of a previous time instance weight, wk(i−1), of an adaptive filter of each neighboring node, l, where l=1, 2, . . . , M, combining the local estimates of the previous time instance weights to generate a linear combination of global diffused weights, Øk(i−1), measuring, for each node k, an output, yk(i), of the adaptive filter of the node k, calculating, for each node k, a desired response, dk(i); generating, for each node k, an estimation error, ekCTA(i) by subtracting the output, yk(i) from the desired response, dk(i), and updating the global diffused weights by adding a portion of the estimated error to the global diffused weights.

## Claims

### Claim 1

A method of distributed estimation using q-diffusion least mean squares (qDiff-LMS) to modify adaptive filter weights in a decentralized wireless sensor network of N nodes, comprising:
receiving, at each node, k, a local estimate of a previous time instance weight, wk(i−1), of an adaptive filter of each neighboring node, l, where l=1, 2, . . . , M;
combining the local estimates of the previous time instance weights to generate a linear combination of global diffused weights, Øk(i−1);
measuring, for each node k, an output, yk(i), of the adaptive filter of the node k;
calculating, for each node k, a desired response, dk(i);
generating, for each node k, an estimation error, ekCTA(i) by subtracting the output, yk(i) from the desired response, dk(i); and
updating the global diffused weights by adding a portion of the estimated error to the global diffused weights.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
generating the linear combination of global diffused weights, Øk(i−1), based on:
∅
k
⁡
(
i
-
1
)
=
∑
l
∈
N
k
⁢
⁢
c
kl
⁢
w
l
⁡
(
i
-
1
)
where ckl is a combining coefficient equal to 1/Nk, for each node k, where Nk is a sum of the nodes in the neighborhood of the node k.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
calculating the output yk(i) of the adaptive filter at each node k based on:
yk(i)=xk(i)Øk(i−1)
where xk(i) is an input signal vector of size 1×M at the node k.

### Claim 4 (depends on 3)

The method of claim 3, further comprising:
applying a steepest descent optimization of a q-LMS algorithm to update each previous time instance weight, wk(i−1), of the linear combination of the global diffused weights, Øk(i−1), to an updated weight wk(i), such that each updated weight wk(i) is given by:
wk(i)=Øk(i−1)+μGkxkT(i)ekCTA(i)
where μ is a fixed step-size of the steepest descent optimization, xkT represents a transpose of xk(i), and Gk is a diagonal matrix having q-parameters on a diagonal, where the diagonal is given by:
diag
⁡
(
G
k
)
=
[
(
q
k
⁢
1
+
1
)
2
,
(
q
k
⁢
2
+
1
)
2
,
…
⁢
,
(
q
k
⁢
M
+
1
)
2
]
T
.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
modifying the matrix Gk by a time varying q-parameter Gk(i), wherein each eigenvalue, ζk(i+1), of matrix Gk(i) is calculated based on:
ζk(i+1)=βζk(i)+γek2(i), for (0<β<1,γ>0),
where β is a first constant tuning parameter, and γ is a second constant tuning parameter.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
forming a weight matrix of the global diffused weights by selecting each q-parameter based on:
q
k
⁡
(
i
+
1
)
=
{
q
k
u
⁢
p
if
⁢
⁢
ζ
k
⁡
(
i
+
1
)
>
q
k
u
⁢
p
1
if
⁢
⁢
ζ
k
⁡
(
i
+
1
)
<
1
ζ
k
⁡
(
i
+
1
)
otherwise
,
where,
q
k
u
⁢
p
=
2
μ
⁢
λ
max
k
.
and λmaxk is a maximum eigenvalue of an input correlation matrix for the node k.

### Claim 7

A method of distributed estimation using q-diffusion least mean squares (qDiff-LMS) to modify adaptive filter weights in a decentralized wireless sensor network of N nodes, comprising:
calculating an output, yk(i), of an adaptive filter of each node k, based on a product of a measured position, xk(i) of the node k, and an estimate of a previous time instance weight, wk(i−1) of each adaptive filter;
calculating, for each node, k, a desired response, dk(i);
calculating, for each node k, an estimation error, ekATC(i) by subtracting the output, yk(i) from the desired response, dk(i);
updating the local estimate of the previous time instance weight, wk(i−1), of the adaptive filter at each node k by adding a portion of the estimation error to the previous time instance weight, thus generating a local estimate of a diffused weight, Øk(i−1);
receiving, at each node k, the local estimate of the diffused weight Øl(i−1) from each neighboring node l, where l=1, 2, . . . , M; and
combining the local estimates of the diffused weights Øk(i−1) in a linear combination, thus generating a global diffused weight, w.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
calculating the output of the adaptive filter at each node based on:
yk(i)=xk(i)Øk(i−1)
where xk(i) is an input signal vector of size 1×M at the node k.

### Claim 9 (depends on 8)

The method of claim 8, wherein the estimation error, ekATC(i) is calculated based on: ekATC(i)=dki(i)−xk(i)wk(i−1).

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
updating the local estimate of the previous time instance weight, wk(i−1), of the adaptive filter, by using a steepest descent optimization of a q-LMS algorithm.

### Claim 11 (depends on 9)

The method of claim 9, further comprising:
applying a steepest descent optimization of a q-LMS algorithm to update each local estimate of the diffused weight Øk(i−1) based on:
Øk(i−1)=wk(i−1)+μGkxkT(i)ekATC(i)
where μ is a fixed step size of the steepest descent optimization, xkT(i) represents a transpose of xk(i), and Gk is a diagonal matrix having q-parameters on a diagonal, where the diagonal is given by:
diag
⁡
(
G
k
)
=
[
(
q
k
⁢
1
+
1
)
2
,
(
q
k
⁢
2
+
1
)
2
,
…
⁢
,
(
q
k
⁢
M
+
1
)
2
]
T
.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
modifying the matrix Gk by the time varying q-parameter Gk(i), wherein each diagonal, ζk(i+1), of matrix Gk(i) is calculated based on:
ζk(i+1)=βζk(i)+γek2(i),(0<β<1,γ>0),
where β is a first constant tuning parameter, and γ is a second constant tuning parameter.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
generating the diagonal of the weight matrix Gk(i) by selecting each q-parameter based on:
q
k
⁡
(
i
+
1
)
=
{
q
k
u
⁢
p
if
⁢
⁢
ζ
k
⁡
(
i
+
1
)
>
q
k
u
⁢
p
1
if
⁢
⁢
ζ
k
⁡
(
i
+
1
)
<
1
ζ
k
⁡
(
i
+
1
)
otherwise
,
where,
q
k
u
⁢
p
=
2
μ
⁢
λ
max
k
.
and λmaxk is a maximum eigenvalue of an input correlation matrix for the node k.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
generating the global diffused weight, W, based on:
W
=
∑
l
∈
N
k
⁢
c
k
⁢
l
⁢
∅
l
(
i
-
1
)
where ckl is a combining coefficient equal to 1/Nk, for each node k, and Nk is a set of the nodes in the neighborhood of the node k.

### Claim 15

A system for distributed estimation of adaptive filter weights using q-diffusion least mean squares (qDiff-LMS) to modify adaptive filter weights in a decentralized wireless sensor network of N nodes, comprising:
a decentralized wireless sensor network of N nodes, wherein each node k of the N nodes is defined by a position coordinate, xk(i);
an adaptive filter located in each node k of the N nodes, wherein the adaptive filter is represented by a plurality of weights:
a computing device located in each node k, wherein the computing device includes circuitry and program instructions, which when executed by at least one processor, are configured to:
calculate an output, yk(i), of the adaptive filter of the node k, based on a product of a measured position, xk(i) of the node k, and an estimate of a previous time instance weight, wk(i−1) of each adaptive filter;
calculate, for each node k, a desired response, dk(i);
generate, for each node k, an estimation error, ek(i), by subtracting the output, yk(i) from the desired response, dk(i);
generate one of:
a linear combination of global diffused weights, Øk(i−1) based on receiving, at each node k, a local estimate of a previous time instance weight, wk(i−1), of an adaptive filter of each neighboring node, l, where l=1, 2, . . . , M, and
a linear combination of global diffused weights, Øk(i−1) based on receiving, at each node k, a local estimate of the diffused weight Øl(i−1) calculated by each neighboring node 1; and
updating one or more of the previous time instance weights, wk(i−1) of each adaptive filter, and the local estimate of the diffused weights Øl(i−1).

### Claim 16 (depends on 15)

The system of claim 15, wherein the computing device is further configured to calculate the output of the adaptive filter at each node k based on:
yk(i)=xk(i)Øl(i−1)
where xk(i) is an input signal vector of size 1×M at the node k.

### Claim 17 (depends on 16)

The system of claim 16, wherein the computing device is further configured to, when the linear combination global diffused weights, Øk(i−1) is based on receiving the local estimate of the previous time instance weight, wk(i−1):
calculate the estimation error, ekCTA(i) for each node k based on: ekCTA(i)=dki(i)−xk(i)wk(i−1);
apply a steepest descent optimization of a q-LMS algorithm to update each previous time instance weight, wk(i−1), of the linear combination of the global diffused weights, Øk(i−1), to an updated weight wk(i), such that each updated weight wk(i) is given by: wk(i)=Øk(i−1)+μGkxkT(i)ekCTA(i), where μ is a fixed step size of the steepest descent optimization, xkT(i) represents a transpose of xk(i), and Gk is a diagonal matrix having q-parameters on a diagonal, where the diagonal is given by:
diag
⁡
(
G
k
)
=
[
(
q
k
⁢
1
+
1
)
2
,
(
q
k
⁢
2
+
1
)
2
,
…
⁢
,
(
q
k
⁢
M
+
1
)
2
]
T
;
modify the matrix Gk by a time varying q-parameter Gk(i), wherein each eigenvalue, ζk(i+1), of matrix Gk(i) is calculated based on:
ζk(i+1)=βζk(i)+γekT(i),(0<β<1,γ>0),
where, β is a first constant tuning parameter, and γ is a second constant tuning parameter.

### Claim 18 (depends on 16)

The system of claim 16, wherein the computing device is further configured to, when the linear combination global diffused weights, Øk(i−1) is based on the local estimate of the diffused weight Øl(i−1):
calculate the estimation error, ek(i) for each node k based on: ekATC(i)=dki(i)−xk(i)wk(i−1);
apply a steepest descent optimization of a q-LMS algorithm to update each local estimate of the diffused weight Øk(i−1) based on
Øk(i−1)=wk(i−1)+μGkxkT(i)ekATC(i),′
where μ is a fixed step size of the steepest descent optimization, xkT(i) represents a transpose of xk(i), and Gk is a diagonal matrix having q-parameters on a diagonal, where the diagonal is given by
diag
⁡
(
G
k
)
=
[
(
q
k
⁢
1
+
1
)
2
,
(
q
k
⁢
2
+
1
)
2
,
…
⁢
,
(
q
k
⁢
M
+
1
)
2
]
T
;
modify the matrix Gk by the time varying q-parameter Gk(i), wherein each diagonal, ζk(i+1), of matrix Gk(i) is calculated based on
ζk(i+1)=βζk(i)+γek2(i),(0<β<1,γ>0),
where, β is a first constant tuning parameter, and γ is a second constant tuning parameter.

### Claim 19 (depends on 16)

The system of claim 16, wherein the computing device is further configured to:
calculate a diagonal matrix Gk having q-parameters on a diagonal, where the diagonal is given by:
diag
⁡
(
G
k
)
=
[
(
q
k
⁢
1
+
1
)
2
,
(
q
k
⁢
2
+
1
)
2
,
…
⁢
,
(
q
k
⁢
M
+
1
)
2
]
T
;
form a weight matrix of the global diffused weights by selecting each q-parameter based on:
q
k
⁡
(
i
+
1
)
=
{
q
k
u
⁢
p
if
⁢
⁢
ζ
k
⁡
(
i
+
1
)
>
q
k
u
⁢
p
1
if
⁢
⁢
ζ
k
⁡
(
i
+
1
)
<
1
ζ
k
⁡
(
i
+
1
)
otherwise
,
where,
q
k
u
⁢
p
=
2
μ
⁢
λ
max
k
.
and λmaxk is a maximum eigenvalue of an input correlation matrix for the node k.

### Claim 20 (depends on 16)

The system of claim 16, wherein the computing device is further configured to:
generate a cost function, J(w), of the weights of the adaptive filters of the N nodes in the decentralized wireless sensor network;
minimize the cost function, J(w), based on
minw J(w)=E[∥d−Xw∥2],
where E is an expectation operator of an absolute value of a least mean square error of the estimated output.
