Hardware Radio Frequency Chain Modeling#
Isolation model (to be implemented): Kiayani et al.[1]
- class RfChain(phase_offset=None, amplitude_imbalance=None)#
Bases:
Serializable
Implements an RF chain model.
Only PA is modelled.
- yaml_tag: Optional[str] = 'RfChain'#
YAML serialization tag.
- property amplitude_imbalance: float#
I/Q amplitude imbalance.
- Raises:
ValueError – If the imbalance is less than -1 or more than one.
- property phase_offset: float#
I/Q phase offset.
Returns: Phase offset in radians.
- transmit(input_signal)#
Returns the distorted version of signal in “input_signal”.
According to transmission impairments.
- Return type:
- add_iq_imbalance(input_signal)#
Adds Phase offset and amplitude error to input signal.
Notation taken from https://en.wikipedia.org/wiki/IQ_imbalance.
- Parameters:
input_signal (np.ndarray) – Signal to be deteriorated as a matrix in shape #no_antennas x #no_samples. #no_antennas depends if on receiver or transmitter side.
- Returns:
Deteriorated signal with the same shape as input_signal.
- Return type:
np.ndarray
- receive(input_signal)#
Returns the distorted version of signal in “input_signal”.
According to reception impairments.
- Return type:
- property power_amplifier: PowerAmplifier#
Access the PowerAmplifier of the rf chain.
- Returns:
A handle to the PowerAmplifier.
- property phase_noise: PhaseNoise#
Phase Noise model configuration.
Returns: Handle to the pase noise model.