[Top][All Lists]
[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
>>> >> >
>>> >> >
>>> >
>>> >
>>
>>
>
- [Discuss-gnuradio] raised cosine filter taps implementation, Nowlan, Sean, 2011/11/13
- Re: [Discuss-gnuradio] raised cosine filter taps implementation, Tom Rondeau, 2011/11/14
- Re: [Discuss-gnuradio] raised cosine filter taps implementation, Nowlan, Sean, 2011/11/14
- Re: [Discuss-gnuradio] raised cosine filter taps implementation, Tom Rondeau, 2011/11/14
- Re: [Discuss-gnuradio] raised cosine filter taps implementation, Ben Reynwar, 2011/11/14
- Re: [Discuss-gnuradio] raised cosine filter taps implementation, Tom Rondeau, 2011/11/14
- Re: [Discuss-gnuradio] raised cosine filter taps implementation, Ben Reynwar, 2011/11/14
- Re: [Discuss-gnuradio] raised cosine filter taps implementation, Tom Rondeau, 2011/11/14
- Re: [Discuss-gnuradio] raised cosine filter taps implementation, Ben Reynwar, 2011/11/14
- Re: [Discuss-gnuradio] raised cosine filter taps implementation,
Ben Reynwar <=
- Re: [Discuss-gnuradio] raised cosine filter taps implementation, Nick Foster, 2011/11/14
- Re: [Discuss-gnuradio] raised cosine filter taps implementation, Nowlan, Sean, 2011/11/16
- Re: [Discuss-gnuradio] raised cosine filter taps implementation, Nowlan, Sean, 2011/11/16
- Re: [Discuss-gnuradio] raised cosine filter taps implementation, Martin Braun, 2011/11/17
- Re: [Discuss-gnuradio] raised cosine filter taps implementation, Nowlan, Sean, 2011/11/20