[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r4189 - gnuradio/branches/developers/n4hy/ofdm/gnuradi
From: |
trondeau |
Subject: |
[Commit-gnuradio] r4189 - gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general |
Date: |
Sat, 23 Dec 2006 15:05:39 -0700 (MST) |
Author: trondeau
Date: 2006-12-23 15:05:39 -0700 (Sat, 23 Dec 2006)
New Revision: 4189
Modified:
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.cc
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.h
Log:
fixed a few bugs in OFDM mapper; now working with channel model
Modified:
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.cc
===================================================================
---
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.cc
2006-12-23 22:02:13 UTC (rev 4188)
+++
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.cc
2006-12-23 22:05:39 UTC (rev 4189)
@@ -29,12 +29,12 @@
#include <vector>
gr_ofdm_bpsk_mapper_sptr
-gr_make_ofdm_bpsk_mapper (unsigned mtu, unsigned int occupied_carriers,
unsigned int vlen)
+gr_make_ofdm_bpsk_mapper (unsigned int mtu, unsigned int occupied_carriers,
unsigned int vlen)
{
return gr_ofdm_bpsk_mapper_sptr (new gr_ofdm_bpsk_mapper (mtu,
occupied_carriers, vlen));
}
-gr_ofdm_bpsk_mapper::gr_ofdm_bpsk_mapper (unsigned mtu, unsigned
occupied_carriers, unsigned int vlen)
+gr_ofdm_bpsk_mapper::gr_ofdm_bpsk_mapper (unsigned int mtu, unsigned int
occupied_carriers, unsigned int vlen)
: gr_block ("ofdm_bpsk_mapper",
gr_make_io_signature (1, 1, 2*sizeof(int) + sizeof(unsigned
char)*mtu),
gr_make_io_signature (1, 1, sizeof(gr_complex)*vlen)),
@@ -42,7 +42,8 @@
d_occupied_carriers(occupied_carriers),
d_vlen(vlen),
d_packet_offset(0),
- d_bit_offset(0)
+ d_bit_offset(0),
+ d_header_sent(0)
{
assert(d_occupied_carriers < d_vlen);
}
@@ -70,10 +71,10 @@
unsigned int i=0;
unsigned int num_symbols = 0, pkt_length;
-
+
pkt_length = in[0].length;
- if(d_packet_offset == 0) {
+ if(!d_header_sent) {
// Add training symbols here
for(i=0; i < (ceil((d_vlen - d_occupied_carriers)/2.0)); i++) {
out[i] = gr_complex(0,0);
@@ -87,22 +88,16 @@
num_symbols = 1;
out += d_vlen;
+ d_header_sent = true;
}
-
+
unsigned int unoccupied_carriers = d_vlen - d_occupied_carriers;
unsigned int zeros_on_left = (unsigned)ceil(unoccupied_carriers/2.0);
unsigned int zeros_on_right = unoccupied_carriers - zeros_on_left;
-#if 0
- printf("mod in: ");
- for(i = 0; i < pkt_length; i++) {
- printf("%4d", in[0].data[i]);
- }
- printf(" \tlen: %d\n\n", i);
-#endif
-
while(num_symbols < (unsigned)noutput_items) {
+
// stick in unused carriers
for(i = d_vlen-zeros_on_right; i < d_vlen; i++) {
out[i] = gr_complex(0,0);
@@ -122,19 +117,15 @@
}
// Ran out of data to put in symbols
- if(i < d_vlen-zeros_on_right) {
+ if(d_packet_offset == pkt_length) {
while(i < d_vlen-zeros_on_right) {
out[i++] = gr_complex(0,0);
}
- #if 0
- fprintf(stdout,"Packet length %d, packet offset
%d\n",pkt_length,d_packet_offset);
- fprintf(stdout,"Ran out of data for symbols, sent %d
symbols\n",num_symbols);
- #endif
d_packet_offset = 0;
assert(d_bit_offset == 0);
-
num_symbols++;
+ d_header_sent = false;
consume_each(1);
return num_symbols;
}
@@ -144,11 +135,6 @@
num_symbols++;
}
consume_each(0);
-
- #if 0
- fprintf(stdout,"Done, sent %d symbols\n",num_symbols);
- #endif
-
return num_symbols;
}
Modified:
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.h
===================================================================
---
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.h
2006-12-23 22:02:13 UTC (rev 4188)
+++
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.h
2006-12-23 22:05:39 UTC (rev 4189)
@@ -54,6 +54,7 @@
unsigned int d_vlen;
unsigned int d_packet_offset;
unsigned int d_bit_offset;
+ bool d_header_sent;
void forecast (int noutput_items, gr_vector_int &ninput_items_required);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r4189 - gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general,
trondeau <=