34 int d_samples_per_symbol;
35 int d_samples_per_pulse;
37 std::vector<float> case1;
38 std::vector<float> case0;
40 void initialize_vector(){
43 int rest_len = symbol_len - pulse_len;
44 case0.resize(symbol_len);
45 case1.resize(symbol_len);
47 for (
int j = 0; j < symbol_len; j++) {
60 float matched_filter(std::vector<float> samples_array){
64 for (
int x = 0; x < d_samples_per_symbol; x++)
66 v1 += samples_array[x] * case1[x];
67 v0 += samples_array[x] * case0[x];
70 return (v1 > v0) ? 1.0 : 0.0;
84 int work(
int noutput_items, gr_vector_const_void_star &input_items,
85 gr_vector_void_star &output_items);