-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Saving (truly) raw IQ samples #80
Comments
The original SDR samples are read as complex float 32 directly (this is done by SoapySDR, perhaps that's the extra processing you see), and Suscan is therefore a blind of the underlying precision of the samples. Perhaps this could be done by providing an option to save samples with arbitrary precision (1 bit, 8 bit, 16 bit...), but this should be done in SigDigger (which is the tool that actually saves the samples). It should not be too difficult actually (see code of SourceWidget). |
I was afraid of that. It would take a bit of rearchitecting, but if SoapySDR supports returning the raw samples (I don't know if it does), suscan could do the conversion to cf32 itself but also keep the original samples in an adjacent buffer. In a way, outputting two streams. SigDigger could then save the original one if desired. This is likely not worth it for this feature - but I recall reading that you want to support multiple streams for multi-antenna setups so maybe this could piggyback on that work somehow.
That's an interesting idea and probably a good one in general. While this still has the problem of not saving the truly raw data, at least it lets the user decide how much space to use.
I tried to be clever and file the bug in the right place and got it exactly backwards :) |
It is unfortunate that every sample suscan/SigDigger saves is a cf32 since most SDRs have nowhere near the resolution. For example, when I use SigDigger to save IQ samples from an RTL-SDR device, the resulting file is 4x the size it would be if I used rtl_sdr/rtl_fm -M raw/etc. even though it doesn't actually contain any additional information. (Fancier 9..16-bit SDRs may suffer "only" 2x growth.)
So, it would be nice if there was an option to save the original SDR samples instead of the lightly processed (gain only?) cf32 samples.
I looked at the cf32 data in a recording I made, and I saw more than 256 unique floats, so the saved samples appear to be lightly processed.
The text was updated successfully, but these errors were encountered: