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 - The Fusion of Science and Community**

# Wiener filter - MATLAB implementation

Have something to add?

- Similar discussions for: Wiener filter - MATLAB implementation

Loading...

**Physics Forums - The Fusion of Science and Community**