Closed daltoncass closed 1 year ago
@daltoncass Thank you for the issue and the detailed explanation. This seems like a relatively simple fix and we're actively working on it.
Thank you @daltoncass , wanted to follow up with an explanation on how the fixes were made.
An overarching problem was the use of iq_samples_per_symbol as a bandwidth measure, which works for QAM/PSK but does not work for FSK as you mentioned. Within the FSKDataset() class in datasets/synthetic.py, I reassign iq_samples_per_symbol variable into the variable "oversampling_rate" and then re-calculate the actual samples per symbol as based on the oversampling rate and the modulation order. This is part of the solution to problems 1 and 2 you identified.
To finish problem 2, I also redefined the freq_map variable for FSK/MSK/GMSK/GFSK such that the modulation index is consistent for all higher order modulations.
Prior fixes solved the randomized LPF applied to both FSK and MSK, but in reviewing the code I discovered that the GFSK/GMSK modulations were not low-pass filtered and resampled. A merge request has been submitted which corrects for this and closes out this issue.
There are a couple of issues with the FSK signal generation: