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:21:50 -0700

On Mon, Nov 14, 2011 at 11:11 AM, Tom Rondeau <address@hidden> wrote:
> On Mon, Nov 14, 2011 at 1:09 PM, Ben Reynwar <address@hidden> wrote:
>>
>> 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.
>
> I would have figured it was on the Tx side for bandwidth control, and you
> could do various things on the receiver side with that. It's of course why
> we normally use RRC filters though; restrict the transmitted signal
> bandwidth, then the receive RRC does both a matched filter and creates
> Nyquist pulses (ignoring multipath).
> Tom
>
Yep.  I meant that I don't think there was a good reason for the
author of PSK31 choosing raised cosine over RRC.
>
>>
>> >>
>> >> 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]