# Spreading sequence and equalization based on a paper

I am having difficulty in understanding how the Authors in this paper, An EM based method for semi blind identification of linear systems driven by Chaotic signals

have used the expressions derived from applying an EM_EKF estimation method when the driving process is a non-linear input. They have considered the noise model as AWGN. They then apply their method for in equalization. They apply the estimators derived in Eq(12)--Eq(15) to estimate the MA process with Rayleigh fading coefficients

The channel is a linear filter with taps whose magnitudes are modeled as Rayleigh random variables. Assuming, the input $(\mathbf{z}_n)$ take in 8 symbols from QAM constellation instead of two symbols $\pm1$ as in BPSK. The model is

$$y_n = \mathbf{H} (\mathbf{z}_n) + w_n \tag{1}$$ expanding $$y_n = h_1 z_{n}+ h_2 z_{n-1} + h_3 z_{n-2} + w_n \tag{2}$$

with channel coefficients as $\mathbf{h} = [h_1,h_2,h_3]$.

$$\mathbf{z}_n = [z_n,...,z_{n-p+1}] = [z_{n},z_{n-1},z_{n-2}] \tag{3}$$

$\mathbf{y}= [y_1,y_2,y_3, ...]$ is a one dimensional array (scalar valued) noisy output of n = 1,....,N data points.

The number of multipaths = 3. The Authors say that they have used a spreading sequnce in equalization. If so, would (1) still be the model and the expression for the estimators derived in the paper would not change? It is not clear form the paper how they have applied their method in equalization.

I am not aware what would be the functional form of the model in equalization application when a spreading sequence is used. Can somebody please explain how the method is applied in equalization using spreading sequence, the model (FIR) equation and how to apply the estimators using the spreading sequence. (An explanation with implementation would also be useful, if possible).

Thank you.

## 1 Answer

This is really a bit of a guess, since I haven't read the paper, but:

A spreading sequence can be designed/used to whiten a signal – that is the PSD of $y_n$ is the sum of a white process $w_n$ and a colored process $\sum\limits_{i=1}^3 h_i z_i$.

Based on observation of the receive signal you can estimate the PSD (e.g. by $\left|\mathrm{FFT}\right|^2$) and subtract your noise power density estimate (that you could get either from observing more bandwidth than your transmission, or by observing your band while you're not transmitting) for $w$; that way, you'd get the "spectral shape" of $h$, and thus, at least a start for equalization; for simple signals (like BPSK) equalizing the amplitude alone might suffice.

Now, for QAM etc., this might not really be the way to go.

However, we know the following about the autocorrelation of both your $w$ and your $z$:

Their autocorrelation is zero but for a single dirac impulse with the power of the signal at $\tau=0$. Note that autocorrelation is a property of a stochastic process that you, again, cannot observe directly, but estimate from a sample autocorrelation. That's why when you look at graphs that correlate a signal with itself, you don't see that perfect behaviour but non-zero: your observation is of finite length.

Now, with that knowledge, a discrete-time non-multipath reception of a signal should have exactly the same property: with increased duration of observation, the autocorrelation of the receive vector should converge to a dirac impulse.

With multiple paths, the "shortest" path's receive signal should, however, also correlate with the the other paths – and thus, you should get "peaks" for every $\tau$ that is a path length difference.

That's pretty nice!

The "boring" way of finding those peaks is actually computing the sample autocorrelation – but since correlation has time complexity $\mathcal O(N^2)$, and you might even want to interpolate your $N$ samples first to get higher resolution, you'd do it the fast correlation with the FFT. Notice that you can then comfortably increase the resolution by zero-padding.

The algorithm for that would be \begin{align} \mathbb R^K \ni &\quad \mathbf{\tau}_\text{peaks} \\ &=\text{largest}_K \big(R_{yy}(\tau)\big)\\ &=\text{largest}_K \big(\mathrm{IFFT}_N\big\{\mathrm{FFT}_N\left\{y\right\}(f)\cdot\mathrm{FFT}_N^*\left\{y\right\}(f)\big\}(\tau)\big)\\ &=\text{largest}_K \big(\mathrm{IFFT}_{\text{hermitian},N}\left\{\left|\mathrm{FFT}_N\left\{y\right\}(f)\right|^2\right\}(\tau)\big)\\ \end{align}

The "$\text{hermitian}$" is but a hint – the FFT for real input data is faster to calculate in most cases than the general complex input case.

Notice how $\text{largest}_K \big(\mathrm{IFFT}\big)$ is a frequency estimation problem, where you're looking for $N$ frequencies – and looking for known-$N$ dominant frequencies especially well-solved by parametric estimators, where you can get very high resolution – without needing to pad the FFT in the first place. I'd like to point you to ESPRIT: \begin{align} \mathbb R^N \ni &\quad \mathbf{\tau}_\text{peaks} \\ &= \text{ESPRIT}_{N,K}\left(\left|\mathrm{FFT}_N\left\{y\right\}(f)\right|^2\right) \end{align}

• Thank you for the explanation. Can estimation and equalization be performed without applying spreading? The Authors have derived the expression for the estimators based on Eq(1). For applying spreading sequences, would Eq(1) (the system model) change? How to mathematically write out the Equation then? Or spreading sequence would not effect the expression for the estimators. From your answer, I understand that the role of spreading sequence is in actual transmission of signals, but theoreticaly on pen and paper we don't need to plug them when deriving estimators. Please correct me if wrong. – SKM Dec 14 '16 at 18:02
• The point is that the autocorr peaks are not really peaks if the PSD isn't white – so that's why you can't do it with a periodic signal – far too many autocorrelation values that are not 0 – Marcus Müller Dec 14 '16 at 18:14
• I can understand the reason for using spreading sequence now. However, when deriving analytical expression for any estimation method, we donot plug the spreading sequence expression (if any) into the model. Am I right? I read that Bit error rate plot is done with the spreading sequence included. So, how to include spreading sequence into the model in Eq(1)..what changes in Eq(1)? It would be very helpfulto clear the concept if you may kindly include this in your answer. – SKM Dec 14 '16 at 21:15
• Could you please mention for the model in the Question how to use the spreading sequence, what is used as a spreading sequence and how to implement it. – SKM Dec 14 '16 at 21:17
• The only requirement for the spreading sequence is that it's white – meaning that it's autocorrelation takes dirac impulse shape. That's all I can say about the spreading sequence, since it's all that is necessary. – Marcus Müller Dec 15 '16 at 2:04