Hi, I'm writing a Galileo sdr simulator for research.
My simulator generates a bin file with i/q data. The problem is that when I pass my generated file to gnss-sdr, (an open-source software gnss-reciever), it successfully tracks the generated signals, extracts the nav data and gets the expected 3D fix. But when I transmit my generated file to my u-blox M8 GNSS Evaluation-Kit it only tracks the right prns but doesn't succeed in extracting the nav data.
in the UBX->NAV->SAT->Qi my satellites only get 3. which means "signal detected but unusable" according to ublox manual.
I know of 2 issues with my simulator that I don't think are related to this problem.
1. I don't generate valid almanac data - instead I send 0 bits. I don't think it's related because a fix can be achieved by using solely the ephemeris data + I expect that the receiver would extract the ephemeris or at least the time, and would not use the almanac.
2. I generate my i/q with sample rate of 4M samples, while the Galileo satellites generates the real signals in 24.552M samples. It means that I lose a lot of the E1 code in the resampling. but I don't think this is related because I generated my file with 12.276M samples (I don't have a RF front-end that can transmit in 24M, and in 12.276M data shouldn't be lost) and the behavior was the same. + I recorded a real Galileo signal from the sky in 4M samples and when I transmit it to the ublox-reciever I get 3D fix.
so I have no idea where to look for the bug in my code.
I will really appreciate your help with this.