---
title: Filtered-X NSAF-NKP-II for Fast ANC Convergence
url: https://www.emergentmind.com/topics/filtered-x-nsaf-nkp-ii-nkp-fxnsaf
type: topic
---

# Filtered-X NSAF-NKP-II for Fast ANC Convergence

The filtered-x NSAF-NKP-II (NKP-FxNSAF) algorithm is an adaptive filtering method developed for active noise control (ANC) systems, combining subband normalized adaptive filtering with a nearest Kronecker product (NKP) decomposition of the controller’s long impulse response. It is specifically designed to accelerate convergence and reduce computational complexity, especially in scenarios involving long, highly correlated input signals, and is structured to operate within the classic filtered-x ANC configuration. This method achieves rapid convergence, stability, and efficient implementation, and has demonstrated state-of-the-art performance in both linear and nonlinear ANC benchmarks [2601.10078].

## 1. ANC System, Subband Structure, and Signal Flow

In the NKP-FxNSAF framework, the ANC system comprises a reference signal \(x_r\), a primary path modeled by a long impulse response \(\bm m_0\) (length \(D=D_1 D_2\), transfer function \(P(z)\)), and a secondary path (transfer function \(S(z)\), estimated by \(\hat S(z)\)). The desired signal at the error microphone is expressed as
\[
d_r = P(z) x_r + \nu_r,
\]
where \(\nu_r\) is ambient noise uncorrelated with \(x_r\). The filtered-x signal, which serves as input to the adaptive controller, is obtained as
\[
x'_r = \hat S(z)\,x_r.
\]
The error signal entering adaptation is
\[
e_r = d_r + y_r,
\]
where the controller’s output through \(\hat S(z)\) is \(y_r = -\hat{\bm m}_r^T \bm x'_r\).

A subband decomposition is implemented using an analysis filter bank \(\{\bm f_j\}_{j=1}^N\) of length \(L\), assembled into a matrix \(F\). Data-block vectors \(\bm x'_r \in \mathbb R^L\) and \(\bm e_r \in \mathbb R^L\) are formed. Subband inputs and errors are computed as
\[
\bm x_{r,j}' = \bm f_j^T \bm x'_r, \quad e_{r,j} = \bm f_j^T \bm e_r, \quad j=1,\ldots,N.
\]

## 2. Nearest Kronecker Product Decomposition and Adaptive Update Structure

The NKP decomposition approximates the long controller \(\bm m_0\) with a sum of \(P\) Kronecker products:
\[
\bm m_0 \approx \sum_{p=1}^P \bm m_{2,p} \otimes \bm m_{1,p}, \quad \bm m_{1,p} \in \mathbb R^{D_1}, \ \bm m_{2,p} \in \mathbb R^{D_2}.
\]
The estimated controller at time \(r\) is
\[
\hat{\bm m}_r = \sum_{p=1}^P \hat{\bm m}_{2,p,r} \otimes \hat{\bm m}_{1,p,r}.
\]
Linking subfilters to the full filter, define
\[
\hat M_{r,1,p} = [I_{D_2} \otimes \hat{\bm m}_{1,p,r}] \in \mathbb R^{D_1 D_2 \times D_2},
\]
\[
\hat M_{r,2,p} = [\hat{\bm m}_{2,p,r} \otimes I_{D_1}] \in \mathbb R^{D_1 D_2 \times D_1}.
\]
For each subband \(j\) and component \(p\), the subband-processed data vectors are
\[
\bm x_{r,j,2,p} = \hat M_{r,2,p}^T \bm x_{r,j}', \quad \bm x_{r,j,1,p} = \hat M_{r,1,p}^T \bm x_{r,j}'.
\]
These are stacked to form
\[
\bm x_{r,j,2} = [ \bm x_{r,j,2,1}^T, \ldots, \bm x_{r,j,2,P}^T ]^T \in \mathbb R^{P D_1},
\]
\[
\bm x_{r,j,1} = [ \bm x_{r,j,1,1}^T, \ldots, \bm x_{r,j,1,P}^T ]^T \in \mathbb R^{P D_2}.
\]

## 3. Normalized Subband Adaptive Updates and Algorithm Skeleton

At each adaptation interval (\(r \to r+k\), typically \(k=N\)), the cost function for subfilter 1 is
\[
J(\hat{\bm m}_{r,1}) = \frac{1}{2} \sum_{j=1}^N \frac{e_{r,j}^2}{\|\bm x_{r,j,2}\|^2 + \delta}.
\]
The stochastic-gradient updates are
\[
\hat{\bm m}_{r+k,1} = \hat{\bm m}_{r,1} + \mu_1 \sum_{j=1}^N \frac{\bm x_{r,j,2} e_{r,j}}{\|\bm x_{r,j,2}\|^2 + \delta},
\]
\[
\hat{\bm m}_{r+k,2} = \hat{\bm m}_{r,2} + \mu_2 \sum_{j=1}^N \frac{\bm x_{r,j,1} e_{r,j}}{\|\bm x_{r,j,1}\|^2 + \delta}.
\]
The synthesized filter estimate is
\[
\hat{\bm m}_{r+k} = \sum_{p=1}^P \hat{\bm m}_{2,p,r+k} \otimes \hat{\bm m}_{1,p,r+k}.
\]
This per-subband update scheme avoids the computational burden associated with joint subband processing (as in type-I NSAF-NKP-I), reducing the required multiplications by approximately an order of magnitude [2601.10078].

## 4. Stability, Parameter Ranges, and Steady-State Performance

The step-size parameters (\(\mu_1, \mu_2\)) must satisfy
\[
0 < \mu_1 + \mu_2 < 2
\]
to ensure mean-square convergence. In the case \(\mu_1 = \mu_2 = \mu\), this condition simplifies to \(0 < \mu < 1\).

With white subband signals and noise of variance \(\sigma_v^2\), the theoretical steady-state EMSE is
\[
\text{EMSE} = \frac{\mu_1 + \mu_2}{2 - (\mu_1 + \mu_2)} \sigma_v^2.
\]
For equal step-sizes:
\[
\text{EMSE} = \frac{\mu}{1 - \mu} \sigma_v^2.
\]

## 5. Computational Complexity

The per-update computational cost for each \(k\) input samples (typically \(k=N\)) is, for multiplications,
\[
P D + 4 P N D + 3 N P (D_1 + D_2) + 4 N + (D + 1) L N,
\]
with similar order for additions (details omitted). The per-sample cost is obtained by dividing by \(k\). Type-II (NKP-FxNSAF) achieves this efficiency by eschewing the need for large intermediate matrices required by Type-I [Table I, 2601.10078].

## 6. Simulation Protocols and Performance Benchmarks

ANC experiments implement:
- Primary path: \(P(z) = z^{-3} - 0.3 z^{-4} + 0.2 z^{-5}\)
- Secondary path: \(S(z) = z^{-2} + 0.5 z^{-5}\), with exact knowledge of \(\hat S(z)\)
- Subband decomposition: \(N=4\) bands, prototype length \(L=33\)
- Filter sizes: \(D_1 = D_2 = 10\) (\(D=100\)), \(P=2\) Kronecker terms, update interval \(k=4\)
- Benchmarked algorithms: FxLMS, Fx-IPLMS, FxNSAF, NKP-FxAPA, and NKP-FxNSAF (and its robust variants)

Performance is assessed using average noise reduction (ANR), defined as
\[
\mathrm{ANR}(r) = 10 \log_{10} \frac{S_e^2(r)}{S_d^2(r)},
\]
where \(S_e\), \(S_d\) are exponentially averaged magnitudes of the error and primary signals.

Simulation results indicate:
- All NKP-FxNSAF variants exhibit faster convergence and higher ANR compared to FxLMS, Fx-IPLMS, and FxNSAF.
- Performance is comparable to NKP-FxAPA but at significantly lower computational cost.
- Under challenging conditions (pink noise, real-world impulsive noises), NKP-FxNSAF and its robust variants (MCC, LC) achieve 5–10 dB additional ANR and maintain robustness [2601.10078].

## 7. Algorithm Workflow

A streamlined NKP-FxNSAF implementation proceeds as follows:
- **Initialization:** Select \(D_1, D_2, P, N, L, k, \mu_1, \mu_2, \delta\); initialize \(\hat{\bm m}_{0,i,p}\).
- **For each time \(r\):**
    1. Construct \(\bm x'_r = [x'_r, \ldots, x'_{r-L+1}]^T\) and \(\bm e_r = [e_r, \ldots, e_{r-L+1}]^T\)
    2. If \(r \bmod k = 0\):
        - Form subband inputs/outputs
        - For each subband, assemble vectors \(\bm x_{r,j,2}, \bm x_{r,j,1}\)
        - Update subfilters via normalized subband increments
        - Synthesize \(\hat{\bm m}_{r+k}\)
    3. Else, maintain the previous filter estimate.

This compact structure enables high scalability for long controllers with low overhead.

---

The NKP-FxNSAF algorithm thus integrates subband NSAF-NKP-II’s dual-short-filter decomposition within filtered-x ANC, attaining fast convergence, strong decorrelation, and reduced update burden. It generalizes efficiently to both linear and nonlinear ANC environments and demonstrates robust, superior performance over established filtered-x algorithms under both simulated and practical disturbances [2601.10078].

Source: https://www.emergentmind.com/topics/filtered-x-nsaf-nkp-ii-nkp-fxnsaf