pub struct SignalModulation { /* private fields */ }Expand description
Navigation modulation model used by spectrum-domain metrics.
Implementations§
Source§impl SignalModulation
impl SignalModulation
Sourcepub fn bpsk(order: f64) -> Result<Self, SignalAnalysisError>
pub fn bpsk(order: f64) -> Result<Self, SignalAnalysisError>
Construct BPSK(n), with code rate n * 1.023 MHz.
Sourcepub fn boc(
m: f64,
n: f64,
phasing: BocPhasing,
) -> Result<Self, SignalAnalysisError>
pub fn boc( m: f64, n: f64, phasing: BocPhasing, ) -> Result<Self, SignalAnalysisError>
Construct BOC(m,n) with the requested square-wave phasing.
Sourcepub fn boc_sine(m: f64, n: f64) -> Result<Self, SignalAnalysisError>
pub fn boc_sine(m: f64, n: f64) -> Result<Self, SignalAnalysisError>
Construct sine-phased BOC(m,n).
Sourcepub fn boc_cosine(m: f64, n: f64) -> Result<Self, SignalAnalysisError>
pub fn boc_cosine(m: f64, n: f64) -> Result<Self, SignalAnalysisError>
Construct cosine-phased BOC(m,n).
Sourcepub fn mboc_6_1_1_over_11() -> Self
pub fn mboc_6_1_1_over_11() -> Self
Construct the normalized MBOC(6,1,1/11) PSD.
Sourcepub fn tmboc_6_1_4_over_33() -> Self
pub fn tmboc_6_1_4_over_33() -> Self
Construct the GPS L1C pilot TMBOC(6,1,4/33) PSD.
Sourcepub fn cboc_6_1_1_over_11(sign: CbocSign) -> Self
pub fn cboc_6_1_1_over_11(sign: CbocSign) -> Self
Construct one Galileo E1 CBOC(6,1,1/11) chip pulse.
Sourcepub fn weighted(
components: Vec<WeightedComponent>,
) -> Result<Self, SignalAnalysisError>
pub fn weighted( components: Vec<WeightedComponent>, ) -> Result<Self, SignalAnalysisError>
Construct a custom normalized weighted PSD composite.
The component weights must be finite, non-negative, and sum to 1
within 1e-12. The resulting PSD is the weighted sum of the component
PSDs, so it models time multiplexing or an explicitly published average
spectrum rather than an arbitrary coherent channel sum.
Sourcepub fn psd_hz(&self, offset_hz: f64) -> Result<f64, SignalAnalysisError>
pub fn psd_hz(&self, offset_hz: f64) -> Result<f64, SignalAnalysisError>
Return the normalized power spectral density at offset frequency f.
The return value has units of 1/Hz and integrates to unit power over
infinite bandwidth for every shipped modulation.
Sourcepub fn code_rate_hz(&self) -> Result<f64, SignalAnalysisError>
pub fn code_rate_hz(&self) -> Result<f64, SignalAnalysisError>
Return the code rate in hertz when the modulation has one unambiguous rate.
Trait Implementations§
Source§impl Clone for SignalModulation
impl Clone for SignalModulation
Source§fn clone(&self) -> SignalModulation
fn clone(&self) -> SignalModulation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SignalModulation
impl Debug for SignalModulation
Source§impl PartialEq for SignalModulation
impl PartialEq for SignalModulation
Source§fn eq(&self, other: &SignalModulation) -> bool
fn eq(&self, other: &SignalModulation) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SignalModulation
Auto Trait Implementations§
impl Freeze for SignalModulation
impl RefUnwindSafe for SignalModulation
impl Send for SignalModulation
impl Sync for SignalModulation
impl Unpin for SignalModulation
impl UnsafeUnpin for SignalModulation
impl UnwindSafe for SignalModulation
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.