Английская Википедия:Generalized pencil-of-function method

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Файл:GPOF fit to noisy data.png
Extraction of two sinusoids from a noisy data through the GPOF method

Generalized pencil-of-function method (GPOF), also known as matrix pencil method, is a signal processing technique for estimating a signal or extracting information with complex exponentials. Being similar to Prony and original pencil-of-function methods, it is generally preferred to those for its robustness and computational efficiency.[1]

The method was originally developed by Yingbo Hua and Tapan Sarkar for estimating the behaviour of electromagnetic systems by its transient response, building on Sarkar's past work on the original pencil-of-function method.[1][2] The method has a plethora of applications in electrical engineering, particularly related to problems in computational electromagnetics, microwave engineering and antenna theory.[1]

Method

Mathematical basis

A transient electromagnetic signal can be represented as:[3]

<math>y(t)=x(t)+n(t) \approx \sum_{i=1}^{M}R_i e^{s_i t} + n(t); 0 \leq t \leq T, </math>

where

<math>y(t)</math> is the observed time-domain signal,
<math>n(t)</math> is the signal noise,
<math>x(t)</math> is the actual signal,
<math>R_i</math> are the residues (<math>R_i</math>),
<math>s_i</math> are the poles of the system, defined as <math>s_i=-\alpha_i+j \omega_i</math>,
<math>z_i=e^{(- \alpha_i + j \omega_i) T_s}</math> by the identities of Z-transform,
<math>\alpha_i</math> are the damping factors and
<math>\omega_i</math> are the angular frequencies.

The same sequence, sampled by a period of <math>T_s</math>, can be written as the following:

<math>y[kT_s]=x[kT_s]+n[kT_s] \approx \sum_{i=1}^{M}R_i z_i^{k} + n[kT_s]; k=0,...,N-1; i=1,2,...,M</math>,

Generalized pencil-of-function estimates the optimal <math>M</math> and <math>z_i</math>'s.[4]

Noise-free analysis

For the noiseless case, two <math>(N-L) \times L</math> matrices, <math>Y_1</math> and <math>Y_2</math>, are produced:[3]

<math>[Y_1]=

\begin{bmatrix} x(0) & x(1) & \cdots & x(L-1)\\ x(1) & x(2) & \cdots & x(L)\\ \vdots & \vdots & \ddots & \vdots\\ x(N-L-1) & x(N-L) & \cdots & x(N-2) \end{bmatrix}_{(N-L) \times L}; </math>Шаблон:Fs<math>[Y_2]= \begin{bmatrix} x(1) & x(2) & \cdots & x(L)\\ x(2) & x(3) & \cdots & x(L+1)\\ \vdots & \vdots & \ddots & \vdots\\ x(N-L) & x(N-L+1) & \cdots & x(N-1) \end{bmatrix}_{(N-L) \times L} </math>

where <math>L</math> is defined as the pencil parameter. <math>Y_1</math> and <math>Y_2</math> can be decomposed into the following matrices:[3]

<math>[Y_1]=[Z_1][B][Z_2]</math>
<math>[Y_2]=[Z_1][B][Z_0][Z_2]</math>

where

<math>[Z_1]=

\begin{bmatrix} 1 & 1 & \cdots & 1\\ z_1 & z_2 & \cdots & z_M\\ \vdots & \vdots & \ddots & \vdots\\ z_1^{(N-L-1)} & z_2^{(N-L-1)} & \cdots & z_M^{(N-L-1)} \end{bmatrix}_{(N-L) \times M}; </math>Шаблон:Fs<math>[Z_2]= \begin{bmatrix} 1 & z_1 & \cdots & z_1^{L-1}\\ 1 & z_2 & \cdots & z_2^{L-1}\\ \vdots & \vdots & \ddots & \vdots\\ 1 & z_M & \cdots & z_M^{L-1} \end{bmatrix}_{M \times L} </math>

<math display="inline">[Z_0]</math> and <math display="inline">[B]</math> are <math display="inline">M \times M</math> diagonal matrices with sequentially-placed <math display="inline">z_i</math> and <math display="inline">R_i</math> values, respectively.[3]

If <math display="inline">M \leq L \leq N-M</math>, the generalized eigenvalues of the matrix pencil

<math>[Y_2]-\lambda[Y_1]=[Z_1][B]([Z_0]-\lambda[I])[Z_2]</math>

yield the poles of the system, which are <math>\lambda=z_i</math>. Then, the generalized eigenvectors <math>p_i</math> can be obtained by the following identities:[3]

<math>[Y_1]^+[Y_1]p_i=p_i;</math>    <math>i=1,...,M</math>
<math>[Y_1]^+[Y_2]p_i=z_i p_i;</math>    <math>i=1,...,M</math>

where the <math>^+</math> denotes the Moore–Penrose inverse, also known as the pseudo-inverse. Singular value decomposition can be employed to compute the pseudo-inverse.

Noise filtering

If noise is present in the system, <math display="inline">[Y_1]</math> and <math display="inline">[Y_2]</math> are combined in a general data matrix, <math display="inline">[Y]</math>:[3]

<math>[Y]=

\begin{bmatrix} y(0) & y(1) & \cdots & y(L)\\ y(1) & y(2) & \cdots & y(L+1)\\ \vdots & \vdots & \ddots & \vdots\\ y(N-L-1) & y(N-L) & \cdots & y(N-1) \end{bmatrix}_{(N-L) \times (L+1)} </math>

where <math>y</math> is the noisy data. For efficient filtering, L is chosen between <math display="inline"> \frac{N}{3}</math> and <math display="inline"> \frac{N}{2}</math>. A singular value decomposition on <math display="inline">[Y]</math> yields:

<math>[Y]=[U][\Sigma][V]^H</math>

In this decomposition, <math display="inline">[U]</math> and <math display="inline">[V]</math> are unitary matrices with respective eigenvectors <math display="inline">[Y][Y]^H</math> and <math display="inline">[Y]^H[Y]</math> and <math display="inline">[\Sigma]</math> is a diagonal matrix with singular values of <math display="inline">[Y]</math>. Superscript <math display="inline">H</math> denotes the conjugate transpose.[3][4]

Then the parameter <math display="inline">M</math> is chosen for filtering. Singular values after <math display="inline">M</math>, which are below the filtering threshold, are set to zero; for an arbitrary singular value <math display="inline">\sigma_c</math>, the threshold is denoted by the following formula:[1]

<math>\frac{\sigma_c}{\sigma_{max}}=10^{-p}</math>,

<math display="inline">\sigma_{max}</math> and Шаблон:Math are the maximum singular value and significant decimal digits, respectively. For a data with significant digits accurate up to Шаблон:Math, singular values below <math display="inline">10^{-p}</math> are considered noise.[4]

<math display="inline">[V_1']</math> and <math display="inline">[V_2']</math> are obtained through removing the last and first row and column of the filtered matrix <math display="inline">[V']</math>, respectively; <math display="inline">M</math> columns of <math display="inline">[\Sigma]</math> represent <math display="inline">[\Sigma']</math>. Filtered <math display="inline">[Y_1]</math> and <math display="inline">[Y_2]</math> matrices are obtained as:[4]

<math>[Y_1]=[U][\Sigma'][V_1']^H</math>
<math>[Y_2]=[U][\Sigma'][V_2']^H</math>

Prefiltering can be used to combat noise and enhance signal-to-noise ratio (SNR).[1] Band-pass matrix pencil (BPMP) method is a modification of the GPOF method via FIR or IIR band-pass filters.[1][5]

GPOF can handle up to 25 dB SNR. For GPOF, as well as for BPMP, variace of the estimates approximately reaches Cramér–Rao bound.[3][5][4]

Calculation of residues

Residues of the complex poles are obtained through the least squares problem:[1]

<math>\begin{bmatrix}

y(0) \\ y(1) \\ \vdots \\ y(N-1) \end{bmatrix} = \begin{bmatrix} 1 & 1 & \cdots & 1 \\ z_1 & z_2 & \cdots & z_M \\ \vdots & \vdots & \ddots & \vdots \\ z_1^{N-1} & z_2^{N-1} & \cdots & z_M^{N-1} \end{bmatrix} \begin{bmatrix} R_1 \\ R_2 \\ \vdots \\ R_M \end{bmatrix} </math>

Applications

The method is generally used for the closed-form evaluation of Sommerfeld integrals in discrete complex image method for method of moments applications, where the spectral Green's function is approximated as a sum of complex exponentials.[1][6] Additionally, the method is used in antenna analysis, S-parameter-estimation in microwave integrated circuits, wave propagation analysis, moving target indication, radar signal processing,[1][7][8] and series acceleration in electromagnetic problems.[9]

See also

References

Шаблон:Reflist

  1. 1,0 1,1 1,2 1,3 1,4 1,5 1,6 1,7 1,8 Ошибка цитирования Неверный тег <ref>; для сносок matrix-pencil-1995 не указан текст
  2. Ошибка цитирования Неверный тег <ref>; для сносок suboptimal-1980 не указан текст
  3. 3,0 3,1 3,2 3,3 3,4 3,5 3,6 3,7 Ошибка цитирования Неверный тег <ref>; для сносок generalized-1989 не указан текст
  4. 4,0 4,1 4,2 4,3 4,4 Ошибка цитирования Неверный тег <ref>; для сносок hua-sarkar-1990 не указан текст
  5. 5,0 5,1 Ошибка цитирования Неверный тег <ref>; для сносок bpmp-paper не указан текст
  6. Ошибка цитирования Неверный тег <ref>; для сносок gpof-green не указан текст
  7. Ошибка цитирования Неверный тег <ref>; для сносок kahrizi-slot не указан текст
  8. Ошибка цитирования Неверный тег <ref>; для сносок hua-radar не указан текст
  9. Ошибка цитирования Неверный тег <ref>; для сносок summation-2016 не указан текст