
From:  Tom Rondeau 
Subject:  Re: [Discussgnuradio] raised cosine filter taps implementation 
Date:  Mon, 14 Nov 2011 11:26:31 0500 
Because I need a raised cosine filter. If I convolve root raised cosine filter coefficients with themselves (generated with gr_firdes), do I need to apply a scaling factor?
From: Tom Rondeau [mailto:address@hidden]
Sent: Monday, November 14, 2011 9:56 AM
To: Nowlan, Sean
Cc: address@hidden
Subject: Re: [Discussgnuradio] raised cosine filter taps implementation
On Sun, Nov 13, 2011 at 6:56 PM, Nowlan, Sean <address@hidden> wrote:
I want to add a raised cosine filter to gr_firdes.* in gnuradio/gnuradiocore/src/lib/general/. I see there's already a rootraised cosine there. After looking through a few sources, I have the following timedomain response of an RC filter:
h(t) = [sin(pi * t / T_s) / (pi * t / T_s)] / [cos(pi * alpha * t / T_s) / (1  (2 * alpha * t / T_s )^2 )]
As far as I can tell, I should be able to compute the taps using:
for n = FLOOR(ntaps/2) to FLOOR(ntaps/2), do
h(n) = [sin(pi * n) / (pi * n)] / [cos(pi * alpha * n) / (1  (2 * alpha * n)^2 )]
end_for
The things I'll have to worry about:
1) if n is 0: h(n) = 1
2) if n is +/ 1/(2 * alpha): h(n) = (1 / (8 * alpha) ) * sin(pi / (2 * alpha) ) #I think I did this right...
3) rounding errors: not sure what to do here given we're operating with floats.
Any tips/suggestions?
Thanks,
Sean
Sean,
We've gotten this question before, and I'm again curious why you want a raised cosine filter? If you really are using it for something, the easiest thing to do is just create a root raised cosine filter and convolve it with itself.
Tom
[Prev in Thread]  Current Thread  [Next in Thread] 