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:31:39 -0700

On Mon, Nov 14, 2011 at 11:21 AM, Ben Reynwar <address@hidden> wrote:
> 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.
>>

I just remembered it's raised cosine in time not raised cosine in
frequency space, and so completely different from what the original
question was about.  Oh well.
Cheers,
Ben

>>>
>>> >>
>>> >> 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]