MATLAB Answers


Matched filter

Asked by vsee
on 1 Apr 2011

How can I write a mtached filter in Matlab? I have the filter design and signal processing tool boxes.


4 Answers

Answer by Honglei Chen
on 1 Apr 2011

If you have a signal, x, then the matched filter's coefficients is given by time reverse of x, i.e., x(end:-1:1). If your signal is complex, you also need to to use complex conjugate. You can then use it just as an FIR filter. For example,

>> x = ones(10,1);
>> b = x(end:-1:1);
>> y = filter(b,1,x);


on 1 Apr 2011

Thanks. I entered the same code that you provided. x is a column vector of 10 one's. b seems to be the same. Is b really the mirror image of x? In other words can you explain what x(end:-1:1) is doing? Thanks

Honglei Chen
on 4 Apr 2011

I was just giving an example. x and b are the same because x happens to be the same as its time inverse. You can replace x with a vector representing your particular signal. The key here is "end:-1:1" which flips the signal. You can also use flipud or fliplr depending on your vector's orientation.

Nuzat Alam
on 3 Apr 2013

Hii i was wondering what is the impulse response of matched filter here?I think it is related to b. Do you think if i want to select a specific sample number for b, i also need to change the length of input signal x?

Answer by Andrew Newell
on 1 Apr 2011

Check out MATLAB Simulations for Radar Systems Design from the File Exchange.


Answer by Bhaskar
on 15 Apr 2011

To elaborate on Honglei's answer. If the signal you are trying to design a matched filter for, is x, then --

>> b = x(end-1:1);
>> y = filter(b,1,x);

You should already have x.

  1 Comment

mmm ssss
on 9 Jan 2012

how can implement the same filter on image ?

how i should represent x.

Answer by Mathuranathan Viswanathan on 13 Apr 2013

Hi You can try the model given here

Square Root raised Cosine - Matched filter implementation

Regards Mathuranathan


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today