pub use crate::prelude::*;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Signal {
#[serde(rename = "frequencyCenter")]
#[serde(skip_serializing_if = "Option::is_none")]
pub frequency_center: Option<Frequency>,
#[serde(rename = "frequencyRange")]
#[serde(skip_serializing_if = "Option::is_none")]
pub frequency_range: Option<FrequencyRange>,
#[serde(rename = "bandwidthHz")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bandwidth_hz: Option<f64>,
#[serde(rename = "signalToNoiseRatio")]
#[serde(skip_serializing_if = "Option::is_none")]
pub signal_to_noise_ratio: Option<f64>,
#[serde(rename = "lineOfBearing")]
#[serde(skip_serializing_if = "Option::is_none")]
pub line_of_bearing: Option<LineOfBearing>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fixed: Option<Fixed>,
#[serde(rename = "emitterNotations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub emitter_notations: Option<Vec<EmitterNotation>>,
#[serde(rename = "pulseWidthS")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pulse_width_s: Option<f64>,
#[serde(rename = "pulseRepetitionInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pulse_repetition_interval: Option<PulseRepetitionInterval>,
#[serde(rename = "scanCharacteristics")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scan_characteristics: Option<ScanCharacteristics>,
}