Changeset 4154

Show
Ignore:
Timestamp:
06/13/07 16:42:57 (6 years ago)
Author:
hvolos
Message:

Added decoder::Reset()

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • SigProc/trunk/SigProc/fec_conv.cpp

    r4153 r4154  
    180180{ 
    181181    fec_conv_decoder::mode=mode; 
     182}; 
     183 
     184void fec_conv_decoder::Reset() 
     185{ 
     186    decodedSymbolIndex=0; 
     187    currentTrellisIndex=0; 
     188     for (unsigned int i=0;i<theTrellisTable->numberOfTrellisStates;i++) 
     189        for (unsigned int j=0;j<=noOfSymbols2TraceBack;j++){ 
     190            theTrellis[i][j].previousState=0; 
     191            theTrellis[i][j].symbolNo=0; 
     192            theTrellis[i][j].distance=(signed int)-1; 
     193        } 
     194    theTrellis[0][0].distance=0; 
    182195}; 
    183196 
     
    322335void fec_conv_decoder::GetDecodedSymbol(unsigned short int * outputData) 
    323336{ 
    324     if (currentTrellisIndex==0) 
    325     { 
    326  
    327         if (decodedSymbolIndex<noOfSymbols2TraceBack) 
    328         { 
    329             Dec2Bin(tracedBackSymbols[decodedSymbolIndex],outputData,theTrellisTable->k); 
    330         } 
     337    if (currentTrellisIndex==0){ 
     338 
     339        if (decodedSymbolIndex<noOfSymbols2TraceBack){ 
     340            Dec2Bin(tracedBackSymbols[decodedSymbolIndex], 
     341            outputData, 
     342            theTrellisTable->k); 
     343        } 
     344         
    331345        decodedSymbolIndex++; 
    332     } 
    333     else 
    334     { 
     346         
     347    } else { 
    335348    } 
    336349} 
     
    353366            delete theTrellis[i]; 
    354367        }; 
     368         
    355369        delete []theTrellis; 
    356370    }