7 boost::unique_lock<boost::mutex> lock(ready_mutex);
10 ready_cond.wait(lock);
16 boost::unique_lock<boost::mutex> lock(ready_mutex);
19 ready_cond.notify_all();
23 boost::unique_lock<boost::mutex> lock(ready_mutex);
26 ready_cond.notify_all();
32 buffer_len = init_buffer_len;
35 total_len = buffer_len;
37 valid_size = (total_len/ppt);
39 new0 = total_len - ppt*valid_size;
41 spare_begin = total_len - new0;
47 total_len = buffer_len + new0;
49 valid_size = (total_len/ppt);
51 new0 = total_len - ppt*valid_size;
53 spare_begin = total_len - new0;
63 buffer_len = buffer_len_init;
69 tot_buffer_len = buffer_len;
72 out_size = calculate_outsize();
78 if(new_buffer_len != 0)buffer_len = new_buffer_len;
79 tot_buffer_len = new_0 + buffer_len;
80 out_size = calculate_outsize();
81 new_0 = calculate_spare();
84 int gp_decimator_helper::calculate_spare(){
85 return tot_buffer_len - out_size*decim;
88 int gp_decimator_helper::calculate_outsize(){
89 return std::floor(tot_buffer_len/decim);
98 buffer_len = current_batch * nfft;
99 out_size = std::floor( nfft* std::floor(buffer_len/(
float)nfft)/(
float)decim);
100 new_0 = buffer_len - out_size;
108 buffer_len = _buffer_len;
110 n_eff_tones = _n_eff_tones;
113 eff_length = _buffer_len;
115 current_batch = simulate_batching();
116 spare_samples = eff_length - current_batch*n_tones;
117 spare_begin = eff_length - spare_samples;
122 copy_size = n_eff_tones * current_batch;
129 new_0 = spare_samples;
132 eff_length = spare_samples + buffer_len;
135 current_batch = simulate_batching();
137 copy_size = n_eff_tones * current_batch;
138 spare_samples = eff_length - current_batch*n_tones;
139 spare_begin = eff_length - spare_samples;
145 int buffer_helper::simulate_batching(){
149 while(offset + average*n_tones < eff_length){
void update(int current_batch)
void update(int new_buffer_len=0)
gp_decimator_helper(int buffer_len_init, int decim_init)
VNA_decimator_helper(int init_ppt, int init_buffer_len)
pfb_decimator_helper(int init_decim, int init_nfft)
buffer_helper(int _n_tones, int _buffer_len, int _average, int _n_eff_tones)