Reputation: 145
I'm using a lime sdr mini for my source block with a defined sampling rate of let's say (x) Msps. I know from the spec sheet that the lime sdr mini hardware itself samples at around 30Msps. Also let's assume that x < 30. Does GNU radio just drop samples since the sampling rate is less then that provided by the lime sdr hardware or is there some buffer of sampled data that GNU radio holds and then eventually releases to my flowgraph to compensate for the mismatched sample rates?
I suppose the 'Sample Rate' in the source block is to set the RX of the lime sdr hardware itself? So for the lime sdr mini the sample rate must be no more than 30.72 MS/s.
Upvotes: 0
Views: 967
Reputation: 43852
GNU Radio itself — the framework that manages interconnections between blocks — knows nothing about sample rates; it just passes buffers between blocks as they are available. It will never drop samples.
In all cases I am aware of, a hardware source block which has a sample rate parameter will produce samples at the specified rate. This might internally involve resampling to produce the desired rate, or it might be directly controlling the hardware's sampling clock — in either case, the result in GNU Radio is the same.
(A software source, like the standard Signal Source block, does not obey any clock, and always produces enough samples to keep its downstream buffer full; the sample rate parameter in this case is just a convenience telling it how to convert frequency to phase-increment-per-sample, so you can specify the desired waveform in terms of time rather than samples.)
Upvotes: 0