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: Ben Reynwar
Subject: Re: [Discuss-gnuradio] raised cosine filter taps implementation
Date: Mon, 14 Nov 2011 11:09:29 -0700

On Mon, Nov 14, 2011 at 10:03 AM, Tom Rondeau <address@hidden> wrote:
> 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
>
I don't think it's for any good reason.  The raised cosine filter is
on the transmit side and I guess you can put whatever you want on the
receive side.  I would have thought another raised cosine filter on
the receiver side was the best way to go to maximise the signal and
then deal with the ISI afterwards.  I haven't looked at other peoples
code to see how they're doing it.
>>
>> 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]