HiI am recording a dvb-s2 signal using pluto sdr and writing the data to a file sink ( complex format ) in gnu radio.When I try to do the same in Matlab, the file written in Matlab does not work in the decoder whereas the one in gnu radio and gqrx works.I used the following code https://github.com/adamgann/matlab_utils for complex data reading and writing but the file size in matlab is MB where as in gnu radio/gqrx same amount of data is in GB.I want to save .bin data in Matlab using pluto in 32 bit complex numbers / float format . Thanks,
MATLAB scales data by 1/2^15 when you set output mode to double. GNU Radio scales by 1/2^11 : https://github.com/analogdevicesinc/gr-iio/blob/master/lib/fmcomms2_source_impl.cc#L55
Have you inspected the data in GNU Radio you see if in the format it expects? For example, if you simply export some known data (like a few integers) from MATLAB and view it in GNU Radio does it appear correct?
Yes I verified the data is correct when I export from Matlab to GNU Radio.
If the data is correct, what is the problem then?
This was a known integer data that I sent.Whilst recording dvb s2 signals the file size is extremely small for the same amount of data recorded in gnu radio. I don't know if there is some compression going on in Matlab but the recorded file does not work in the decoder either.Do we expect that the same data recorded in the same format the file size should be the same in both Matlab and GNURadio or GQRX ?Also, whilst recording in pluto I have the option to choose data type as double single or int16. I tried all of them and saved the data using gnu-matlab utils.I can't figure it out.
SKhan555 said: I don't know if there is some compression going on in Matlab but the recorded file does not work in the decoder either.
If the data is the same when passed into GNU Radio (generated from MATLAB) this should not matter.
SKhan555 said:Do we expect that the same data recorded in the same format the file size should be the same in both Matlab and GNURadio or GQRX ?
This assumes you are configuring the devices in the same way and you are scaling/casting data in the same way.
I would recommend manually inspecting the data between the two captures and not just rely on the DVB receiver.