Skip to main content

cascade_vector_return_output

Function cascade_vector_return_output 

Source
pub fn cascade_vector_return_output(
    input: Input,
    blocks: Vec<Block>,
) -> SignalNode
Expand 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);