Hello,(adsbygoogle = window.adsbygoogle || []).push({});

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

vectorp= [g_{h,d}g_{h,d-1}... g_{h,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 coefficientsclike so:

c= σ^{2}_{A}(R^{-1}p)*

We then convolve this vectorcwith 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?

**Physics Forums | Science Articles, Homework Help, Discussion**

Join Physics Forums Today!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# Wiener filter - MATLAB implementation

**Physics Forums | Science Articles, Homework Help, Discussion**