removed void detect_norm_burst(const gr_complex * in, gr_complex * chan_imp_resp, int burst_start, unsigned char * output_binary);
This commit is contained in:
parent
6497de667a
commit
99e4a46c9a
|
@ -695,44 +695,3 @@ int gsm_receiver_cf::get_norm_chan_imp_resp(const gr_complex *in, gr_complex * c
|
|||
burst_start = search_start_pos + strongest_window_nr + chan_imp_resp_center - 66 * d_OSR - 2 * d_OSR + 2;
|
||||
return burst_start;
|
||||
}
|
||||
|
||||
void gsm_receiver_cf::detect_norm_burst(const gr_complex * in, gr_complex * chan_imp_resp, int burst_start, unsigned char * output_binary)
|
||||
{
|
||||
float output[BURST_SIZE];
|
||||
gr_complex rhh_temp[CHAN_IMP_RESP_LENGTH*d_OSR];
|
||||
gr_complex rhh[CHAN_IMP_RESP_LENGTH];
|
||||
gr_complex filtered_burst[BURST_SIZE];
|
||||
int start_state = 3;
|
||||
unsigned int stop_states[2] = {4, 12};
|
||||
|
||||
autocorrelation(chan_imp_resp, rhh_temp, d_chan_imp_length*d_OSR);
|
||||
for (int ii = 0; ii < (d_chan_imp_length); ii++) {
|
||||
rhh[ii] = conj(rhh_temp[ii*d_OSR]);
|
||||
}
|
||||
|
||||
mafi_norm(&in[burst_start], BURST_SIZE, chan_imp_resp, d_chan_imp_length*d_OSR, filtered_burst);
|
||||
|
||||
viterbi_detector(filtered_burst, BURST_SIZE, rhh, start_state, stop_states, 2, output);
|
||||
|
||||
for (int i = 0; i < BURST_SIZE ; i++) {
|
||||
output_binary[i] = (output[i] > 0);
|
||||
}
|
||||
}
|
||||
|
||||
inline void gsm_receiver_cf::mafi_norm(const gr_complex * input, int input_length, gr_complex * filter, int filter_length, gr_complex * output)
|
||||
{
|
||||
int ii = 0, n, a;
|
||||
|
||||
for (n = 0; n < input_length; n++) {
|
||||
a = n * d_OSR;
|
||||
output[n] = 0;
|
||||
ii = 0;
|
||||
|
||||
while (ii < filter_length) {
|
||||
if ((a + ii) >= input_length*d_OSR)
|
||||
break;
|
||||
output[n] += input[a+ii] * filter[ii]; //!!conj
|
||||
ii++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -290,8 +290,6 @@ class gsm_receiver_cf : public gr_block
|
|||
inline void autocorrelation(const gr_complex * input, gr_complex * out, int length);
|
||||
inline void mafi(const gr_complex * input, int input_length, gr_complex * filter, int filter_length, gr_complex * output);
|
||||
int get_norm_chan_imp_resp(const gr_complex *in, gr_complex * chan_imp_resp, unsigned search_range);
|
||||
void detect_norm_burst(const gr_complex * in, gr_complex * chan_imp_resp, int burst_start, unsigned char * output_binary);
|
||||
inline void mafi_norm(const gr_complex * input, int input_length, gr_complex * filter, int filter_length, gr_complex * output);
|
||||
|
||||
public:
|
||||
~gsm_receiver_cf();
|
||||
|
|
Loading…
Reference in New Issue