-
Notifications
You must be signed in to change notification settings - Fork 100
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
API Improvements: Document Requirements / Add Missing Constants #346
Comments
Actually there is no requirement to use a half-band filter. The only requirement is that the input sample rate is 744187.5. I agree that it would be useful to add the required sample rates to the API documentation (1488375 for We could also document that the audio sample rate is always 44100. |
The reason for 744187.5 is that it is the most convenient sample rate for OFDM demodulation. Unfortunately, the RTL-SDR does not natively support this sample rate (it allows only 225000-300000 and 900000-3200000). Because of this limitation, nrsc5 samples at 744187.5 * 2 = 1488375 and uses a decimating half-band filter to reach the desired sample rate. The API allows samples to be injected either before or after nrsc5's filter. If samples are injected after the filter, the application can use whatever means it likes to achieve the correct sample rate. |
Thanks for letting me know. my oblivious nature is a good example that it should probably be documented
Would be very useful. I have constants I added in my code that would make sense to be added. |
Should i make pull request for this? |
Yes, that would be useful. |
On the topic, It would be nice to see CS16 supported in NRSC5 for I/Q input without use the of API. #284 Also, Maybe some GNuradio flowgraphs for both cu8 and cs16 samples would be good to include? I find myself taking I/Q files from say SDRconsole and running though GNUradio flowgraph to get a usable CU8 file for use in NRSC5. If I could keep those 16-bit I figure it should yield better performance. |
A quick look, it looks like that would require another function in the API. For example something like: (directed towards argilo, wasn't clear when i made this post) |
That would have to be @argilo call to make :) Trying to create a gnuradio flowgraph now for cs16. |
I can't get CS16 input working with the the current Python cli in a file converted in GNUradio. Works perfectly fine for cu8 with flow graph over at #33 (comment) I am feeding it 744187.5 resampled from GNUradio. Likely something I'm doing wrong. Please excuse my poor DSP knowledge :) Input sample rate here is 500,000 Singed 16-bit and the frequency doesn't need to be shifted. |
Your probably busy @argilo but when you get chance to answer the question form @TheDaChicken and my issue that would be awesome :) |
@argilo If your back from your vacation and can look at the above that would be awesome :) @TheDaChicken Not sure if your done with #347 yet |
I'd say it is done. A new pull request can be done for #284 |
The constants I wanted to document have been added. We can continue the IQ 16 bits discussion in #284 |
In the API,
nrsc5_pipe_samples_cs16
assumes input went through the half-band filter. This isn't documented as a requirement/function / is not labeled to require in the function name.I encountered a problem using 16 bits as a constant type for piping data from different SDRs which required the half-band filter. I have to implement a half-band filter to pipe that type.
API does not include a few constants such as which may be required:
Silly small tidbit:
__declspec(dllexport)
is meant to be used in the header file.The text was updated successfully, but these errors were encountered: