|Subject:||[Discuss-gnuradio] Complex Short/INT16 type|
|Date:||Mon, 7 Nov 2011 22:15:29 +0000|
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.
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.
|[Prev in Thread]||Current Thread||[Next in Thread]|