- #1
hugheyst
- 5
- 0
Hello,
I'm currently working on a project in which I am required to implement an optimum 11-tap linear equalizer (Wiener filter) to remove additive noise from a QPSK signal over a multipath channel. The channel impulse response h{k} is known.
My understanding of the implementation:
Input sequence A
vector p = [gh,d gh,d-1 ... gh,0 0 0 0 ... 0] is length 11, where d is a delay in samples.
From this vector, p, and the autocorrelation function of the noisy received sequence, R, we can calculate the filter coefficients c like so:
c = σ2A(R-1p)*
We then convolve this vector c with the noisy received sequence to obtain a 'less dirty' version of the transmitted sequence A.
This is the explanation I've been given; however, I still cannot get it to work in MATLAB. My bit error rate is 50% over a wide range of signal-noise ratios for AWGN. Perhaps someone could point me in the right direction?
I'm currently working on a project in which I am required to implement an optimum 11-tap linear equalizer (Wiener filter) to remove additive noise from a QPSK signal over a multipath channel. The channel impulse response h{k} is known.
My understanding of the implementation:
Input sequence A
vector p = [gh,d gh,d-1 ... gh,0 0 0 0 ... 0] is length 11, where d is a delay in samples.
From this vector, p, and the autocorrelation function of the noisy received sequence, R, we can calculate the filter coefficients c like so:
c = σ2A(R-1p)*
We then convolve this vector c with the noisy received sequence to obtain a 'less dirty' version of the transmitted sequence A.
This is the explanation I've been given; however, I still cannot get it to work in MATLAB. My bit error rate is 50% over a wide range of signal-noise ratios for AWGN. Perhaps someone could point me in the right direction?