Changeset 3094

Show
Ignore:
Timestamp:
03/12/07 15:16:57 (6 years ago)
Author:
jgaeddert
Message:

fixing PPFB math

Location:
SigProc/trunk/SigProc
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • SigProc/trunk/SigProc/SigProc.h

    r3089 r3094  
    310310    unsigned int h_len; 
    311311 
    312     /// circular input buffer (header ptr) 
     312    /// circular input buffer 
    313313    short *v; 
    314314 
  • SigProc/trunk/SigProc/filters.cpp

    r3089 r3094  
    197197    // the correct length of each filter in the bank. 
    198198    v = new short[h_len]; 
     199 
     200    // memset input buffer to zeros 
     201    ResetBuffer(); 
    199202     
    200203} 
     
    218221 
    219222    v = new short[h_len]; 
     223 
     224    // memset input buffer to zeros 
     225    ResetBuffer(); 
    220226} 
    221227 
     
    274280    for (unsigned int i=0; i<h_len; i++) 
    275281    { 
    276         // Decrement read index 
    277         i_read = (--i_read) % h_len; 
    278  
    279282        // Accumulate (apply filter) 
    280283        yf += float( v[i_read] ) * H[B+i]; 
    281284 
     285        // Increment read index 
     286        i_read++; 
     287        i_read = i_read % h_len; 
    282288    } 
    283289 
     
    295301void SigProc::FIRPolyphaseFilterBank::ResetBuffer() 
    296302{ 
    297     memset(v, 0, h_len); 
     303    // overwrite input buffer with zeros 
     304    memset(v, 0, sizeof(short) * h_len); 
    298305} 
    299306