Forums

Matched filtering in matlab

Started by Ishtiaque Ahmed February 1, 2008
hello,
I need to compress a chirp signal using convolution i.e. by Matched filtering in Matlab.
*Can anybody write the steps how to do this in Matlab??
*How can I define an Impulse function and of what kind should it be? What should I do with this impulse function?
Thanks.
Ishtiaque-

> I need to compress a chirp signal using convolution i.e. by Matched filtering in Matlab.
> *Can anybody write the steps how to do this in Matlab??
> *How can I define an Impulse function and of what kind should it be? What should I do with
> this impulse function?

Just use MATLAB convolution function. Convolution is filtering, which is what you're trying to do. "Matched"
filtering just means to select something very application-specific as the filter.

-Jeff
Istiaque-

> Thanks for ur reply. Let me explain my job little more:
> I have to define a function for Matched filter in the range between -(Tp/2) to (Tp/2).
>
> The equation is below-
> Smf = exp(-d*2*fc*tau - d*K*tau^2);
> here, tau= -(Tp/2):(Tp/2).
>
> Then, i have to convolv my one recereived signal (Srx) with the above Smf, i.e. S=Sr*Smf.
>
> I have to call the matched_filter function from another .m file.
>
> That's what i have to do. Hope to hear from you. Thanks.

Please post to the group, not to me.

-Jeff

> Jeff Brower wrote:
> Ishtiaque-
>
>> I need to compress a chirp signal using convolution i.e. by Matched filtering in Matlab.
>> *Can anybody write the steps how to do this in Matlab??
>> *How can I define an Impulse function and of what kind should it be? What should I do with
>> this impulse function?
>
> Just use MATLAB convolution function. Convolution is filtering, which is what you're trying to do. "Matched"
> filtering just means to select something very application-specific as the filter.
>
> -Jeff
Istiaque,

I am assuming that you have an .m file like match_filter.m which has the function defined as

function matchedFilterCoefs = match_filter(fc,K, tau,d)

you will call the filter function to generate the coeficients after providing the arguments to this function. Then you should use either conv or filter function to filter received signal Srx. The only difference in the usage will be; convolution will give you m+n-1 samples in S whereas filter will return S equal to Srx.

You can also write the logic for convolution yourself, its not that hard to follow the equation.

-Amit Pathania

Jeff Brower wrote:
Istiaque-

> Thanks for ur reply. Let me explain my job little more:
> I have to define a function for Matched filter in the range between -(Tp/2) to (Tp/2).
>
> The equation is below-
> Smf = exp(-d*2*fc*tau - d*K*tau^2);
> here, tau= -(Tp/2):(Tp/2).
>
> Then, i have to convolv my one recereived signal (Srx) with the above Smf, i.e. S=Sr*Smf.
>
> I have to call the matched_filter function from another .m file.
>
> That's what i have to do. Hope to hear from you. Thanks.

Please post to the group, not to me.

-Jeff

> Jeff Brower wrote:
> Ishtiaque-
>
>> I need to compress a chirp signal using convolution i.e. by Matched filtering in Matlab.
>> *Can anybody write the steps how to do this in Matlab??
>> *How can I define an Impulse function and of what kind should it be? What should I do with
>> this impulse function?
>
> Just use MATLAB convolution function. Convolution is filtering, which is what you're trying to do. "Matched"
> filtering just means to select something very application-specific as the filter.
>
> -Jeff