In general, radios that use complex-baseband format interleave I/Q in the way you're apparently using here. That's very conventional.
It's very usual for the interface to "present" complex-float to Gnu Radio as the default format, since the vast majority of DSP blocks operate on complex-float or float. Not a show-stopper, since blocks exist to convert from signed-short formats into complex-float, but it's a nice convenience for users. On 2015-04-23 15:09, Yile Ku wrote: > I am writing a source module/block and I generate 16 bit signed I and Q > values. There is first a 16 bit I value then a 16 bit Q value repeated 1024 > times. > > In my source module I have: > > usbradio_impl::usbradio_impl() > : gr::sync_block("usbradio", > gr::io_signature::make(1, 1, sizeof(short)), > gr::io_signature::make(1, 1, sizeof(short))) > { > state = 0; > cnt = 0; > set_max_noutput_items(1); > set_max_output_buffer(2); > } > > /* > * Our virtual destructor. > */ > usbradio_impl::~usbradio_impl() > { > } > > int > usbradio_impl::work(int noutput_items, > gr_vector_const_void_star &input_items, > gr_vector_void_star &output_items) > { > short *out = (short *) output_items[0]; > > // Do <+signal processing+> > stuff_output(out); > > // Tell runtime system how many output items we produced. > return 1024; > } > > The stuff_output(out) function will stuff an I value then a Q value 512 > times. > > Is that the correct way to present I & Q values? > > Thx, Y- > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio [1] Links: ------ [1] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio