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
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to