Skip to content
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

SigMF support #988

Open
argilo opened this issue Oct 4, 2021 · 5 comments
Open

SigMF support #988

argilo opened this issue Oct 4, 2021 · 5 comments
Labels

Comments

@argilo
Copy link
Member

argilo commented Oct 4, 2021

It would be nice if Gqrx used SigMF to save metadata when making I/Q recordings. It could also use the metadata (if available) when playing back I/Q recordings.

@argilo argilo added the feature label Oct 4, 2021
@LongnoseRob
Copy link

yes that would make handling IQ data much more versatile for both replay of IQ data within GQRX and for out of GQRX analsysis.

@devnulling
Copy link
Contributor

Bump on this thread. It'd be super to see this functionality in GQRX.

I guess it's split into two parts of effort:

  1. Writing out the extra sigmf meta file on recording (and switching the IQ output extension from .raw to .sigmf-data)
  2. Handling the metadata on playback

The 2nd part is a bit more difficult to handle, as SigMF can support several dataformats, and GQRX afaik, handles everything for the most part internally as fc32.

IMO a good start would be to just support the 1st item as it'd make the recordings output by GQRX a bit easier to work with other programs that use SigMF.

@argilo
Copy link
Member Author

argilo commented Feb 4, 2022

100% agreed that this can be split into two parts, and that part 1 would be the easier of the two. I'd love to see it as a new feature in 2.16.

@Niautanor
Copy link
Contributor

From a very preliminary look at the code it looks like everything that would be required for part 1 would be to:

  1. change the file extension for the data file in MainWindow::startIqRecording() from .raw to .sigmf-data
  2. Also write a metadata file in MainWindow::startIqRecording() (which doesn't need to be any more complex than filling a string template with the info that is currently encoded into the file name and then dumping that in a .sigmf-meta file)
  3. Ensure that we don't create recordings without metadata or metadata without recordings (in case writing to one of the files fails)
  4. Potentially adjust playback file filter to also allow .sigmf-data files (with the caveat that this will not work in the general case until part 2 but I guess having .raw files that are not in the format that gqrx expects was always a possibility too)

Did I miss something here?

I'm gonna have a go at making a merge request for this. My one question would be if I should hide this with some feature flag (either compile time or as a chooser in the iq recorder dialog).

@vladisslav2011
Copy link
Contributor

I think, runtime option (a checkbox for example) is better, than compile-time.
For part 2 you may take a look at these PRs: #1139 #1013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants