[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r6109 - gnuradio/branches/developers/trondeau/ofdm_mod
From: |
trondeau |
Subject: |
[Commit-gnuradio] r6109 - gnuradio/branches/developers/trondeau/ofdm_mod/gnuradio-core/src/lib/general |
Date: |
Fri, 3 Aug 2007 11:09:58 -0600 (MDT) |
Author: trondeau
Date: 2007-08-03 11:09:57 -0600 (Fri, 03 Aug 2007)
New Revision: 6109
Modified:
gnuradio/branches/developers/trondeau/ofdm_mod/gnuradio-core/src/lib/general/gr_ofdm_correlator.cc
Log:
fixing correlator coarse frequency correction
Modified:
gnuradio/branches/developers/trondeau/ofdm_mod/gnuradio-core/src/lib/general/gr_ofdm_correlator.cc
===================================================================
---
gnuradio/branches/developers/trondeau/ofdm_mod/gnuradio-core/src/lib/general/gr_ofdm_correlator.cc
2007-08-03 13:22:55 UTC (rev 6108)
+++
gnuradio/branches/developers/trondeau/ofdm_mod/gnuradio-core/src/lib/general/gr_ofdm_correlator.cc
2007-08-03 17:09:57 UTC (rev 6109)
@@ -125,22 +125,22 @@
for(i = 0; i < d_occupied_carriers; i++) {
h_sqrd = h_sqrd + previous[i+zeros_on_left+search_delta] *
-
conj(coarse_freq_comp(search_delta,0)*current[i+zeros_on_left+search_delta]) *
+
conj(coarse_freq_comp(search_delta,1)*current[i+zeros_on_left+search_delta]) *
d_diff_corr_factor[i];
+
power = power + norm(current[i+zeros_on_left+search_delta]); // No need
to do coarse freq here
}
#if VERBOSE
- printf("bin %d\th_sqrd = ( %f, %f )\t power = %f\t real(h)/p = %f\t
angle = %f\n",
- search_delta, h_sqrd.real(), h_sqrd.imag(), power,
h_sqrd.real()/power, arg(h_sqrd));
-#endif
-
- // FIXME: Look at h_sqrd.read() > power
- if((h_sqrd.real() > 0.82*power) && (h_sqrd.real() < 1.1 * power)) {
+ printf("bin %d\th_sqrd = ( %f, %f )\t power = %f\t real(h)/p = %f\t angle
= %f\n",
+ search_delta, h_sqrd.real(), h_sqrd.imag(), power,
h_sqrd.real()/power, arg(h_sqrd));
+#endif
+ // FIXME: Look at h_sqrd.read() > power
+ if((h_sqrd.real() > 0.82*power) && (h_sqrd.real() < 1.1 * power)) {
found = true;
//printf("search delta: %d\n", search_delta);
d_coarse_freq = search_delta;
- d_phase_count = 0;
+ d_phase_count = 1;
//d_snr_est = 10*log10(power/(power-h_sqrd.real()));
// check for low noise power; sets maximum SNR at 100 dB
@@ -223,7 +223,7 @@
d_phase_count++;
if(d_phase_count == MAX_NUM_SYMBOLS) {
- d_phase_count = 0;
+ d_phase_count = 1;
}
consume_each(1);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r6109 - gnuradio/branches/developers/trondeau/ofdm_mod/gnuradio-core/src/lib/general,
trondeau <=