#[non_exhaustive]pub enum PilotPattern {
Block {
period: usize,
},
Comb {
spacing: usize,
},
Lattice {
freq: usize,
time: usize,
},
Explicit(Arc<PilotTable>),
None,
}Expand description
The positions of the pilots in the grid.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Block
Every subcarrier of the symbols $l$ with $l \bmod$ period $= 0$.
Comb
The subcarriers $k$ with $k \bmod$ spacing $= 0$ of every symbol.
Lattice
The subcarriers $k \bmod$ freq $= 0$ of the symbols $l \bmod$ time $= 0$.
Explicit(Arc<PilotTable>)
The pilots of a table: any positions, with their values.
None
No pilots (a receiver that knows the channel).
Implementations§
Source§impl PilotPattern
impl PilotPattern
Sourcepub fn block(period: usize) -> Result<PilotPattern>
pub fn block(period: usize) -> Result<PilotPattern>
PilotPattern::Block: every subcarrier of one symbol in period.
§Errors
Error::Config for a period of zero.
§Examples
use comnum_waveform::ofdm::grid::PilotPattern;
assert_eq!(PilotPattern::block(4)?, PilotPattern::Block { period: 4 });
assert!(PilotPattern::block(0).is_err());Sourcepub fn comb(spacing: usize) -> Result<PilotPattern>
pub fn comb(spacing: usize) -> Result<PilotPattern>
PilotPattern::Comb: one subcarrier in spacing of every symbol.
§Errors
Error::Config for a spacing of zero.
Sourcepub fn lattice(freq: usize, time: usize) -> Result<PilotPattern>
pub fn lattice(freq: usize, time: usize) -> Result<PilotPattern>
PilotPattern::Lattice: one subcarrier in freq of one symbol in time.
§Errors
Error::Config for a spacing of zero.
Trait Implementations§
Source§impl Clone for PilotPattern
impl Clone for PilotPattern
Source§impl Debug for PilotPattern
impl Debug for PilotPattern
Source§impl PartialEq for PilotPattern
impl PartialEq for PilotPattern
impl StructuralPartialEq for PilotPattern
Auto Trait Implementations§
impl Forget for PilotPattern
impl Freeze for PilotPattern
impl RefUnwindSafe for PilotPattern
impl Send for PilotPattern
impl Sync for PilotPattern
impl Unpin for PilotPattern
impl UnsafeUnpin for PilotPattern
impl UnwindSafe for PilotPattern
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