pub struct CcsdsTurbo {
pub decoder: TurboDecoder,
/* private fields */
}Expand description
A turbo code of CCSDS (see the module).
Fields§
§decoder: TurboDecoderThe decoder settings.
Implementations§
Source§impl CcsdsTurbo
impl CcsdsTurbo
Sourcepub fn new(k: usize, rate: TurboRate) -> Result<CcsdsTurbo>
pub fn new(k: usize, rate: TurboRate) -> Result<CcsdsTurbo>
The code of k information bits (1784, 3568, 7136 or 8920) and rate rate.
§Errors
Error::Config for another $k$.
Sourcepub fn interleaver(&self) -> &Interleaver
pub fn interleaver(&self) -> &Interleaver
The permutation of the second encoder.
Trait Implementations§
Source§impl BlockCode for CcsdsTurbo
impl BlockCode for CcsdsTurbo
Source§fn encode_block(&self, info: &[u8]) -> Result<Vec<u8>>
fn encode_block(&self, info: &[u8]) -> Result<Vec<u8>>
Encode one block of $k$ bits. Read more
Source§fn decode_block(&self, llr: &[f64]) -> Result<Vec<u8>>
fn decode_block(&self, llr: &[f64]) -> Result<Vec<u8>>
Decode one block of $n$ LLRs into $k$ bits. Read more
Source§fn encode_block_into(&self, info: &[u8], out: &mut [u8]) -> Result<()>
fn encode_block_into(&self, info: &[u8], out: &mut [u8]) -> Result<()>
Encode one block of $k$ bits into the $n$ values of
out (ADR 0011: the default
copies BlockCode::encode_block; a code overrides it when a profile shows the
copy). Read moreSource§fn decode_block_into(&self, llr: &[f64], out: &mut [u8]) -> Result<()>
fn decode_block_into(&self, llr: &[f64], out: &mut [u8]) -> Result<()>
Decode one block of $n$ LLRs into the $k$ values of
out (as
BlockCode::encode_block_into). Read moreSource§impl Clone for CcsdsTurbo
impl Clone for CcsdsTurbo
Source§impl Debug for CcsdsTurbo
impl Debug for CcsdsTurbo
Source§impl Decode for CcsdsTurbo
impl Decode for CcsdsTurbo
Source§impl Encode for CcsdsTurbo
impl Encode for CcsdsTurbo
Source§impl PartialEq for CcsdsTurbo
impl PartialEq for CcsdsTurbo
Source§impl SoftDecode for CcsdsTurbo
impl SoftDecode for CcsdsTurbo
Source§fn app_into(
&self,
llr: &[f64],
apriori: Option<&[f64]>,
out: &mut [f64],
) -> Result<usize>
fn app_into( &self, llr: &[f64], apriori: Option<&[f64]>, out: &mut [f64], ) -> Result<usize>
The iterative decoder of crate::turbo on the two constituent codes: the
a posteriori LLRs of the second decoder after the last iteration, deinterleaved;
the a priori LLRs add to the systematic channel LLRs.
impl StructuralPartialEq for CcsdsTurbo
Auto Trait Implementations§
impl Forget for CcsdsTurbo
impl Freeze for CcsdsTurbo
impl RefUnwindSafe for CcsdsTurbo
impl Send for CcsdsTurbo
impl Sync for CcsdsTurbo
impl Unpin for CcsdsTurbo
impl UnsafeUnpin for CcsdsTurbo
impl UnwindSafe for CcsdsTurbo
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