Signal Conditioner
A Signal Conditioner block is in charge of adapting the sample bit depth to a data type tractable at the host computer running the software receiver, and optionally intermediate frequency to baseband conversion, resampling, and filtering.
Regardless of the selected signal source features, the Signal Conditioner interface delivers in a unified format a sample data stream to the receiver downstream processing channels, acting as a facade between the signal source and the synchronization channels, providing a simplified interface to the input signal at a reference, internal sample rate \(f_{IN}\). We denote the complex samples at the Signal Conditioner output as \(x_{\text{IN}}[n]\). This signal stream feeds a set of parallel Channels.
Implementation: Signal_Conditioner
This implementation is in fact a wrapper for other three processing blocks.
Those inner blocks are in charge of:
-
The role of the Data Type Adapter block is to perform a conversion of the data type in the incoming sample stream.
-
The role of the Input Filter block is to filter the incoming signal.
-
The role of the Resampler block is to resample the signal and to deliver it to the \(N\) parallel processing channels.
Any of them can be bypassed by using a Pass_Through
implementation.
The Signal_Conditioner
implementation accepts the following parameters:
Parameter | Description | Required |
---|---|---|
implementation |
Signal_Conditioner |
Mandatory |
DataTypeAdapter | This implementation requires the configuration of a Data Type Adapter block. | Mandatory |
InputFilter | This implementation requires the configuration of an Input Filter block. | Mandatory |
Resampler | This implementation requires the configuration of a Resampler block. | Mandatory |
Signal Conditioner implementation: Signal_Conditioner
.
Example:
;######### SIGNAL_CONDITIONER CONFIG ############
;## It holds blocks to change data type, filter and resample input data.
SignalConditioner.implementation=Signal_Conditioner
;######### DATA_TYPE_ADAPTER CONFIG ############
;## Changes the type of input data.
;#implementation: [Pass_Through] disables this block
DataTypeAdapter.implementation=Ishort_To_Complex
;######### INPUT_FILTER CONFIG ############
;## Filter the input data.
InputFilter.implementation=Fir_Filter
InputFilter.input_item_type=gr_complex
InputFilter.output_item_type=gr_complex
; ... other InputFilter parameters
;######### RESAMPLER CONFIG ############
;## Resamples the input data.
Resampler.implementation=Pass_Through
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 |
[gr_complex , cshort ]: Format of data samples. It defaults to gr_complex . |
Optional |
Signal Conditioner implementation: Pass_Through
.
Examples:
;######### SIGNAL_CONDITIONER CONFIG ############
SignalConditioner.implementation=Pass_Through
;######### SIGNAL_CONDITIONER CONFIG ############
SignalConditioner.implementation=Pass_Through
SignalConditioner.item_type=cshort
Leave a comment