Hi all -

I'm getting limited by the slow ARM processor in the E100 and I want to modify 
parts of gr-digital and gnuradio-core to support complex short/INT16 types in 
the modulation schemes. I suspect that it won't be as trivial as defining 
"typedef std::complex<short> gr_complexs;" in 
gnuradio-core/src/lib/runtime/gr_complex.h and doing a find-and-replace in the 
relevant source files. There are probably issues with dynamic range that I'll 
have to deal with in addition to having to implement filters using fixed-point 
math.

Questions:

1)      Do you think I'd save anything by doing all the modulation & filtering 
in complex float32 and then converting at the very end? This will reduce the 
bandwidth requirement to the FPGA by two, but I'm afraid the float math is the 
true limitation.

2)      Why is there a gr_complex_to_interleaved_short block but not a 
gr_complex_to_complex_short block? Would it be better if I rolled my own or 
just hooked up a gr_complex_to_interleaved_short block and then a deinterleave 
block? Or alternatively, split the complex float vector into two streams and 
feed them to a USRP sink block using COMPLEX.INT16?

3)      What specific parts of the modulation examples or gnuradio-core do you 
think I need to change to support complex short ints?

Thanks so much for your help.

Sean

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to