MATLAB Wiener filter - MATLAB implementation

  • Thread starter Thread starter hugheyst
  • Start date Start date
  • Tags Tags
    Filter Matlab
AI Thread Summary
The discussion focuses on implementing an 11-tap Wiener filter in MATLAB to remove noise from a QPSK signal affected by multipath interference, with a known channel impulse response. The user outlines their understanding of the filter's implementation, including the construction of the input vector and the calculation of filter coefficients using the autocorrelation function. Despite following the outlined steps, they are experiencing a high bit error rate of 50% across various signal-to-noise ratios in an AWGN environment. The user seeks guidance on troubleshooting their MATLAB implementation. The conversation suggests a potential need to move the topic to a more relevant forum section for better assistance.
hugheyst
Messages
5
Reaction score
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?
 
Physics news on Phys.org
I think you should repost this or ask the moderator to move it to the "Electrical Engineering" section...
 

Similar threads

Back
Top