Changeset 3963

Show
Ignore:
Timestamp:
05/27/07 01:00:05 (6 years ago)
Author:
jgaeddert
Message:

adding documentation to SymbolSyncPoly, MultirateSynchronizer?, and FrameSynchronizer components

Location:
experimental/components/SymbolSyncPoly
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • experimental/components/SymbolSyncPoly/Doxyfile

    r3897 r3963  
    180180# You can put \n's in the value part of an alias to insert newlines. 
    181181 
    182 ALIASES                =  
     182ALIASES                += "cite=\xrefitem cite \"Ref\" \"Bibliography\"" 
    183183 
    184184# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C  
  • experimental/components/SymbolSyncPoly/documentation.txt

    r3897 r3963  
    2424 
    2525\section description Basic description 
    26   - SymbolSyncPoly 
    27   - Multi-rateSynchronizer 
    28   - FrameSynchronizer 
     26The multi-rate synchronization component library builds off three components, 
     27each implementing a polyphase filter bank for multi-rate resampling and 
     28simultaneous matched-filter decimation of digital symbols. 
     29 
     30\subsection SymbolSyncPoly Symbol Synchronizer (Polyphase Filter Bank) 
     31The SymbolSyncPoly component efficiently performs matched-filter decimation of 
     32received digital signals and returns the optimal sampling point by 
     33interpolating between available samples.  These three steps are performed 
     34simultaneously by choosing the appropriate filter from a bank of 
     35matched-filter coefficients, each offset by a different sampling phase. 
     36 
     37Timing error is calculated by computing the derivative matched filter output 
     38and drives the loop and flow controls to produce both the appropriate output 
     39sample and the correct filter bank index from which it is calculated.  The 
     40timing feedback loop operates at one sample per symbol. 
     41 
     42Although timing may be done asynchronously, the carrier offset must be small 
     43enough such that employing the matched filter does not introduce sufficient 
     44pulse distortion and inter-symbol interference (ISI).  Typical carrier offsets 
     45should not exceed 5% of the signal bandwidth. 
     46 
     47The component uses the FIRPolyphaseFilterBank class in the OSSIE Signal 
     48Processing Library.  For more information we direct the interested reader to 
     49the following reference: 
     50 
     51\cite M. Rice and fred harris, "Polyphase Filterbanks for Symbol Timing 
     52Synchronization in Sampled Data Receivers," in MILCOMM Proceedings, vol. 
     532, October 2002, pp. 982--986. 
     54    
     55\subsection MultirateSynchronizer Multi-rate Synchronizer 
     56The MultirateSynchronizer expands upon the functionality of the SymbolSyncPoly 
     57component by also adjusting carrier phase.  Before matched filtering, the 
     58MultirateSynchronizer performs complex mixing on the input signal with a 
     59numerically-controlled oscillator.  The phase of the oscillator is adjusted by 
     60the output error after timing correction. 
     61 
     62Phase error is calculated once per symbol, and the internal NCO is updated 
     63at the same rate.  The phase error itself is specific to the modulation scheme 
     64used to transmit data.  The current modulation schemes suppported by the 
     65MultirateSynchronizer component are 
     66  - BPSK 
     67  - QPSK 
     68  - 8-PSK 
     69  - 16-QAM 
     70  - 4-PAM 
     71 
     72\subsection FrameSynchronizer Frame Synchronizer 
     73The FrameSynchronizer component extends functionality beyond the 
     74MultirateSynchronizer by introducing frames of data.  Each frame contains a 
     75BPSK header which includes: 
     76  - a preamble phasing pattern (\c 10101010...) for initial timing and phase 
     77  recovery 
     78  - a P/N code for identification and frame synchronization 
     79  - control bits to determine modulation scheme and frame length 
     80  - additinal control bits for future expansion 
    2981 
    3082\section properties Properties 
     
    3890\subsection prop_k Samples per Symbol 
    3991CORBA::UShort 
     92Decimation rate 
    4093 
    4194\subsection prop_m Symbol Delay 
    4295CORBA::UShort 
     96Excess delay of the filter 
    4397 
    4498\subsection prop_beta Excess Bandwidth Factor 
    4599CORBA::Float 
     100Excess filter bandwidth 
    46101 
    47 \subsection prop_Npfb Number of Filter in Bank 
     102\subsection prop_Npfb Number of Filters in Bank 
    48103CORBA::UShort 
     104Number of filters in the bank; determines the number of interpolation points 
     105possible between two available received samples 
    49106 
    50107\subsection prop_mod_scheme Modulation scheme 
    51108CORBA::String 
     109(MultirateSynchronizer only) 
     110Modulation scheme (determines phase error generator function) 
    52111 
    53112\section interfaces Interfaces 
    54113 
    55 \subsection port_baseband_in Port: "baseband_in" 
     114\subsection port_in Port: "baseband_in" / "IF_in" 
    56115 
    57116\subsection port_symbols_out Port: "symbols_out"