-
Notifications
You must be signed in to change notification settings - Fork 51
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
Dump feature vectors #770
Comments
Is this something that would be usable via of the unit test infrastructure being worked on in #761? Or is this intended to be usable during normal usage of FreeDV? EDIT: I guess for (4) it would have to be usable during regular operation. That brings up the question of how the files get generated (i.e. is a new file created every time PTT is toggled, we keep appending to a single set of files, etc). |
Initially for unit testing, but I can see some possibilities for OTA tuning/debugging. |
Any remaining items needed here, or can this be closed? We're able to capture both RX and TX features now: parser.AddOption("f", "config", "Use different configuration file instead of the default.");
parser.AddOption("ut", "unit_test", "Execute FreeDV in unit test mode.");
parser.AddOption("utmode", wxEmptyString, "Switch FreeDV to the given mode before UT execution.");
parser.AddOption("rxfile", wxEmptyString, "In UT mode, pipes given WAV file through receive pipeline.");
parser.AddOption("txfile", wxEmptyString, "In UT mode, pipes given WAV file through transmit pipeline.");
parser.AddOption("rxfeaturefile", wxEmptyString, "Capture RX features from RADE decoder into the provided file.");
parser.AddOption("txfeaturefile", wxEmptyString, "Capture TX features from FARGAN encoder into the provided file.");
parser.AddOption("txtime", "60", "In UT mode, the amount of time to transmit (default 60 seconds)", wxCMD_LINE_VAL_NUMBER); |
Thanks @tmiw yes this can be closed. It's proved more useful (and surprising) than I had thought - uncovering many signal processing gremlins. Our challenge moving forward will be to develop the skills and habits necessary to maintain clean signal processing and avoiding ad hoc changes that impact performance without careful thought and design. |
Proposal for a freedv-gui test mode/feature to dump a file of
features_out.f32
vectors (36 cols each, x length of sample). These are the vectors at the output of the RADE decoder, that are fed to the FARGAN vocoder for synthesis. By comparing them to a corresponding input set offeatures_in.f32
vectors, we can objectively measure distortion (usingradae/loss.py
) of the RADE signal as it passes through freedv-gui.The
features_out.f32
file should start when sync is obtained, and stop when sync stops.Use cases include:
features_in.f32
and creates a tx wave file that is fed to afreedv-gui
Rx.features_in.f32
), and measure the loss under various channel and radio settings (ie AGC, Tx drive, or additional filtering).The text was updated successfully, but these errors were encountered: