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