Amplitude coefficients of discrete, periodic pulses from their Fourier energy coefficients

37 Views Asked by At

Concise Summary:

This is not a homework question. In short, I'd like to find an algorithm to compute polynomial coefficients that satisfy:

$c_{0}$ $=$ $x_{1}^{2}$ + $x_{2}^{2}$ + $\cdots$ + $x_{L}^{2}$

$c_{1}$ $=$ $2\left(x_{1}x_{2} + x_{2}x_{3} + \cdots + x_{L-1}x_{L} \right)$

$c_{2}$ $=$ $2\left( x_{1}x_{3} + x_{2}x_{4} + \cdots + x_{L-2}x_{L} \right)$

$c_{3}$ $=$ $2\left( x_{1}x_{4} + x_{2}x_{5} + \cdots + x_{L-3}x_{L} \right)$

$\cdots$

$c_{L}$ $=$ $2\left( x_{1}x_{L} \right)$

I know $c_{k}$, $0 < k < L$. I want to compute / solve for each $x_{k}$.

Background:

I observe a sparse, $N$-length signal that I infused with $L$ weighted, unit pulses that are time-domain periodic:

$x[n]$ $=$ $x_{0}\delta(n)$ $+$ $x_{1}\delta(n-\Delta n)$ $+$ $x_{2}\delta(n-2\Delta n)$ $+$ $x_{3}\delta(n-3\Delta n)$ + $\cdots$ $x_{L}\delta(n-L\Delta n)$.

Here, $\Delta n$ is the repetition period of the pulses.

I computed the energy $E[k]$ $=$ $X[k]\bar{X}[k]$ of the discrete Fourier transform $X[k]$ of $x[n]$, by hand. I thereby retrieve a real energy signal that is even in Fourier index $k$. I can then compute coefficient $c_{m}$ for $E[k]$ from basis functions $e_{m}$:

$e_{m}$ $=$ $\cos\left( \cfrac{2\pi}{N} k (m \Delta n ) \right)$

I then normalize the cosine basis signals.

This produces the relation between $x_{m}$ and $c_{m}$ that I listed under Concise Summary, above. I require a computation method that solves for the coefficients, where coefficient $c_{m}$ is a sum of terms like $x_{i}\,x_{i+m}$.

I document a concrete example with $L$ $=$ $4$ below:

$c_{0} = x_{0}^{2} + x_{1}^{2} + x_{2}^{2} + x_{3}^{2}$

$c_{1} = 2 \left( x_{0} x_{1} + x_{1} x_{2} + x_{2} x_{3} \right)$

$c_{2} = 2 \left( x_{0} x_{2} + x_{1} x_{3} \right)$

$c_{3} = 2 \left( x_{0} x_{3} \right)$

Again, $c_{0}, \cdots, c_{3}$ are known. I require solutions for $x_{0},\cdots, x_{3}$. This looks like a special case of an autocorrelation.

I assume some kind of deconvolution algorithm might work? Help?