summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/gsm_receiver_cf.cc43
1 files changed, 5 insertions, 38 deletions
diff --git a/src/lib/gsm_receiver_cf.cc b/src/lib/gsm_receiver_cf.cc
index b58b108..c47e111 100644
--- a/src/lib/gsm_receiver_cf.cc
+++ b/src/lib/gsm_receiver_cf.cc
@@ -73,9 +73,6 @@ gsm_receiver_cf::gsm_receiver_cf(gr_feval_dd *tuner, int osr)
d_freq_offset(0),
d_state(first_fcch_search),
d_burst_nr(osr)
-// d_fcch_count(0), //!!
-// d_x_temp(0),//!!
-// d_x2_temp(0)//!!
{
int i;
gmsk_mapper(SYNC_BITS, N_SYNC_BITS, d_sch_training_seq, gr_complex(0.0,-1.0));
@@ -208,23 +205,15 @@ gsm_receiver_cf::general_work(int noutput_items,
break;
case normal_burst:
-// std::cout << "# name: norm_complex\n" ;
-// std::cout << "# type: complex matrix\n" ;
-// std::cout << "# rows: 1\n" ;
-// std::cout << "# columns: " << floor(d_OSR*(TS_BITS+GUARD_PERIOD)) << "\n";
burst_start = get_norm_chan_imp_resp(in, chan_imp_resp, TRAIN_SEARCH_RANGE);
-// std::cout << burst_start << "\n" ;
detect_burst(in, &d_channel_imp_resp[0], burst_start, output_binary);
// printf("burst = [ ");
//
- for (int i = 0; i < BURST_SIZE ; i++) {
- printf(" %d", output_binary[i]);
- }
- printf("];\n");
-//
-// for(int i=0; i<floor(d_OSR*(TS_BITS+GUARD_PERIOD)); i++){
-// std::cout << in[i] << "\n";
+// for (int i = 0; i < BURST_SIZE ; i++) {
+// printf(" %d", output_binary[i]);
// }
+// printf("];\n");
+
break;
case rach_burst:
@@ -380,18 +369,8 @@ bool gsm_receiver_cf::find_fcch_burst(const gr_complex *in, const int nitems)
double gsm_receiver_cf::compute_freq_offset(double best_sum, unsigned denominator)
{
float phase_offset, freq_offset;
-
phase_offset = best_sum / denominator;
freq_offset = phase_offset * 1625000.0 / (12.0 * M_PI);
-
-// d_fcch_count++;
-// d_x_temp += freq_offset;
-// d_x2_temp += freq_offset * freq_offset;
-// d_mean = d_x_temp / d_fcch_count;
-
-// DCOUT("freq_offset: " << freq_offset); //" best_sum: " << best_sum
-// DCOUT("wariance: " << sqrt((d_x2_temp / d_fcch_count - d_mean * d_mean)) << " fcch_count:" << d_fcch_count << " d_mean: " << d_mean);
-
return freq_offset;
}
@@ -413,10 +392,6 @@ bool gsm_receiver_cf::find_sch_burst(const gr_complex *in, const int nitems , fl
bool result = false;
int sample_nr_near_sch_start = d_fcch_start_pos + (FRAME_BITS - SAFETY_MARGIN) * d_OSR;
-// vector_complex correlation_buffer;
-// vector_float power_buffer;
-// vector_float window_energy_buffer;
-
enum states {
start, reach_sch, search_not_finished, sch_found
} sch_search_state;
@@ -621,20 +596,13 @@ int gsm_receiver_cf::get_norm_chan_imp_resp(const gr_complex *in, gr_complex * c
int chan_imp_resp_center;
float max_correlation = 0;
float energy = 0;
+
int search_start_pos = floor((TRAIN_POS + GUARD_PERIOD) * d_OSR);
int search_stop_pos = search_start_pos + search_range * d_OSR;
-// std::cout << "# name: correlation\n" ;
-// std::cout << "# type: complex matrix\n" ;
-// std::cout << "# rows: 1\n" ;
-// std::cout << "# columns: " << (search_stop_pos - search_start_pos) << "\n";
-
for (int ii = search_start_pos; ii < search_stop_pos; ii++) {
-// for (int ii = SYNC_POS * d_OSR; ii < (SYNC_POS + SYNC_SEARCH_RANGE) *d_OSR; ii++) {
-// for (int ii = 1; ii < (150) *d_OSR; ii++) {
gr_complex correlation = correlate_sequence(&d_norm_training_seq[d_bcc][5], &in[ii], N_TRAIN_BITS - 10);
-// std::cout << correlation << "\n" ;
correlation_buffer.push_back(correlation);
power_buffer.push_back(pow(abs(correlation), 2));
}
@@ -657,7 +625,6 @@ int gsm_receiver_cf::get_norm_chan_imp_resp(const gr_complex *in, gr_complex * c
break;
}
iter++;
-// std::cout << energy << "\n";
window_energy_buffer.push_back(energy);
}
personal git repositories of Harald Welte. Your mileage may vary