Resampler
The Resampler is the third processing block inside a Signal Conditioner when
the latter is using a Signal_Conditioner
implementation.
A Resampler block is in charge of resampling the signal and delivering it to the \(N\) parallel processing channels.
At the Resampler’s output, only complex types are allowed: cbyte
, cshort
, or
gr_complex
.
This block does not perform any data type conversion.
Implementation: Direct_Resampler
This implementation performs a direct resampling of the incoming signal, without performing any interpolation.
It accepts the following parameters:
Parameter | Description | Required |
---|---|---|
implementation |
Direct_Resampler |
Mandatory |
sample_freq_in |
Sample rate at the block input, in samples per second. | Mandatory |
sample_freq_out |
Sample rate at the block output, in samples per second. | Mandatory |
item_type |
[cbyte , cshort , gr_complex ]: Data type to be resampled. |
Mandatory |
Resampler implementation: Direct_Resampler
.
Examples:
;######### RESAMPLER CONFIG ############
Resampler.implementation=Direct_Resampler
Resampler.sample_freq_in=8000000
Resampler.sample_freq_out=4000000
Resampler.item_type=gr_complex
;######### RESAMPLER CONFIG ############
Resampler.implementation=Direct_Resampler
Resampler.sample_freq_in=8000000
Resampler.sample_freq_out=2500000
Resampler.item_type=cshort
Implementation: Mmse_Resampler
This implementation performs a resampling of the incoming signal with a MMSE filtering stage. This resampling block is suitable in cases when the ratio between the incoming sampling frequency and the outcoming one is not a rational number. A typical use case is when the sampling frequency is an integer multiple of the chip frequency and artifacts appear in the tracking blocks. In that case, it is desirable to slightly decrease the sampling ratio in order to avoid the artifacts and, also, to maintain a similar sampling frequency (for instance, downsampling from 30.69 to 30 Msps).
It accepts the following parameters:
Parameter | Description | Required |
---|---|---|
implementation |
Mmse_Resampler |
Mandatory |
sample_freq_in |
Sample rate at the block input, in samples per second. | Mandatory |
sample_freq_out |
Sample rate at the block output, in samples per second. | Mandatory |
item_type |
[gr_complex ]: Data type to be resampled. This implementation only accepts samples of gr_complex type. |
Optional |
Resampler implementation: Mmse_Resampler
.
Examples:
;######### RESAMPLER CONFIG ############
Resampler.implementation=Mmse_Resampler
Resampler.sample_freq_in=30690000
Resampler.sample_freq_out=30000000
Resampler.item_type=gr_complex
Implementation: Pass_Through
This implementation copies samples from its input to its output.
It accepts the following parameters:
Parameter | Description | Required |
---|---|---|
implementation |
Pass_Through |
Mandatory |
item_type |
[cbyte , cshort , gr_complex ]: Data type to be copied from the input to the output of this block. It defaults to gr_complex . |
Optional |
Resampler implementation: Pass_Through
.
Examples:
;######### RESAMPLER CONFIG ############
Resampler.implementation=Pass_Through
;######### RESAMPLER CONFIG ############
Resampler.implementation=Pass_Through
Resampler.item_type=cshort
Leave a comment