pub fn cascade_vector_return_output(
input: Input,
blocks: Vec<Block>,
) -> SignalNodeExpand description
Cascade a vector of blocks and return only the final output SignalNode.
ยงExamples
use gainlineup::{Input, Block, cascade_vector_return_output};
let input = Input::new(1.0e9, 1.0e6, -30.0, Some(270.0));
let blocks = vec![
Block {
name: "LNA".to_string(),
gain_db: 30.0,
noise_figure_db: 1.5,
output_p1db_dbm: None,
output_ip3_dbm: None,
},
Block {
name: "Attenuator".to_string(),
gain_db: -6.0,
noise_figure_db: 6.0,
output_p1db_dbm: None,
output_ip3_dbm: None,
},
];
let output = cascade_vector_return_output(input, blocks);
assert_eq!(output.signal_power_dbm, -6.0); // -30 + 30 - 6
assert_eq!(output.cumulative_gain_db, 24.0);