pub struct AmplifierModelBuilder<'a> { /* private fields */ }Expand description
Builder for AmplifierModel.
§Examples
use gainlineup::{Block, AmplifierModel, AmplifierModelBuilder};
let block = Block {
name: "PA".to_string(),
gain_db: 25.0,
noise_figure_db: 6.0,
output_p1db_dbm: Some(33.0),
output_ip3_dbm: None,
};
let model = AmplifierModel::builder(&block)
.am_pm_coefficient(8.0)
.saturation_power(37.0)
.build();
assert_eq!(model.am_pm_coefficient_deg_per_db, Some(8.0));Implementations§
Source§impl<'a> AmplifierModelBuilder<'a>
impl<'a> AmplifierModelBuilder<'a>
Sourcepub fn am_pm_coefficient(self, coeff_deg_per_db: f64) -> Self
pub fn am_pm_coefficient(self, coeff_deg_per_db: f64) -> Self
Set the AM-PM conversion coefficient (°/dB).
§Examples
use gainlineup::{Block, AmplifierModel};
let block = Block {
name: "PA".to_string(),
gain_db: 20.0,
noise_figure_db: 5.0,
output_p1db_dbm: Some(30.0),
output_ip3_dbm: None,
};
let model = AmplifierModel::builder(&block)
.am_pm_coefficient(5.0)
.build();
assert_eq!(model.am_pm_coefficient_deg_per_db, Some(5.0));Sourcepub fn saturation_power(self, psat_dbm: f64) -> Self
pub fn saturation_power(self, psat_dbm: f64) -> Self
Set the saturated output power (dBm).
§Examples
use gainlineup::{Block, AmplifierModel};
let block = Block {
name: "PA".to_string(),
gain_db: 20.0,
noise_figure_db: 5.0,
output_p1db_dbm: Some(30.0),
output_ip3_dbm: None,
};
let model = AmplifierModel::builder(&block)
.saturation_power(35.0)
.build();
assert_eq!(model.saturation_power_dbm, Some(35.0));Sourcepub fn build(self) -> AmplifierModel<'a>
pub fn build(self) -> AmplifierModel<'a>
Build the AmplifierModel.
§Examples
use gainlineup::{Block, AmplifierModel};
let block = Block {
name: "PA".to_string(),
gain_db: 20.0,
noise_figure_db: 5.0,
output_p1db_dbm: Some(30.0),
output_ip3_dbm: None,
};
let model = AmplifierModel::builder(&block).build();
assert!(model.am_pm_coefficient_deg_per_db.is_none());Trait Implementations§
Source§impl<'a> Clone for AmplifierModelBuilder<'a>
impl<'a> Clone for AmplifierModelBuilder<'a>
Source§fn clone(&self) -> AmplifierModelBuilder<'a>
fn clone(&self) -> AmplifierModelBuilder<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<'a> Freeze for AmplifierModelBuilder<'a>
impl<'a> RefUnwindSafe for AmplifierModelBuilder<'a>
impl<'a> Send for AmplifierModelBuilder<'a>
impl<'a> Sync for AmplifierModelBuilder<'a>
impl<'a> Unpin for AmplifierModelBuilder<'a>
impl<'a> UnsafeUnpin for AmplifierModelBuilder<'a>
impl<'a> UnwindSafe for AmplifierModelBuilder<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more