On Mon, Nov 14, 2011 at 11:21 AM, Ben Reynwar <b...@reynwar.net> wrote: > On Mon, Nov 14, 2011 at 11:11 AM, Tom Rondeau <trondeau1...@gmail.com> wrote: >> On Mon, Nov 14, 2011 at 1:09 PM, Ben Reynwar <b...@reynwar.net> wrote: >>> >>> On Mon, Nov 14, 2011 at 10:03 AM, Tom Rondeau <trondeau1...@gmail.com> >>> wrote: >>> > On Mon, Nov 14, 2011 at 12:01 PM, Ben Reynwar <b...@reynwar.net> 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 <trondeau1...@gmail.com> >>> >> wrote: >>> >> > On Mon, Nov 14, 2011 at 10:40 AM, Nowlan, Sean >>> >> > <sean.now...@gtri.gatech.edu> >>> >> > 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:trondeau1...@gmail.com] >>> >> >> Sent: Monday, November 14, 2011 9:56 AM >>> >> >> To: Nowlan, Sean >>> >> >> Cc: discuss-gnuradio@gnu.org >>> >> >> Subject: Re: [Discuss-gnuradio] raised cosine filter taps >>> >> >> implementation >>> >> >> >>> >> >> >>> >> >> >>> >> >> On Sun, Nov 13, 2011 at 6:56 PM, Nowlan, Sean >>> >> >> <sean.now...@gtri.gatech.edu> 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 >>> >> > Discuss-gnuradio@gnu.org >>> >> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >>> >> > >>> >> > >>> > >>> > >> >> > _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio