discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] raised cosine filter taps implementation


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] raised cosine filter taps implementation
Date: Mon, 14 Nov 2011 12:03:45 -0500

On Mon, Nov 14, 2011 at 12:01 PM, Ben Reynwar <address@hidden> wrote:
PSK31 for ham radio uses a raised cosine filter rather than the RRC.

Interesting. Thanks.

Do you know why the do it? Do they just have the filter on one side?

Tom

 
On Mon, Nov 14, 2011 at 9:26 AM, Tom Rondeau <address@hidden> wrote:
> On Mon, Nov 14, 2011 at 10:40 AM, Nowlan, Sean <address@hidden>
> wrote:
>>
>> 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?
>
> Ok, but my question was Why do you need a raised cosine filter? I'm just
> curious about what applications use this instead of RRC filters?
> Tom
>
>>
>>
>>
>> From: Tom Rondeau [mailto:address@hidden]
>> Sent: Monday, November 14, 2011 9:56 AM
>> To: Nowlan, Sean
>> Cc: address@hidden
>> Subject: Re: [Discuss-gnuradio] 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/gnuradio-core/src/lib/general/. I see there's already a root-raised
>> cosine there. After looking through a few sources, I have the following
>> time-domain 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
>>
>>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]