About ofdm

Hi all,
I was trying to cut a packet into several pieces and send them
through ofdm. I force the transmitter use only certain sub-carriers, for
example first 64 sub-carriers. However, at the receiver side, I found it
only can receive first piece of packet correct, and never receive the
remaining piece correctly. Any help?

Thanks,
Bin

===========================
The only places I modified are in gr_ofdm_mapper_bcv::work

memset(out, 0, d_fft_length*sizeof(gr_complex));
i = 0;
unsigned char bits = 0;
//while((d_msg_offset < d_msg->length()) && (i < d_occupied_carriers))
{
//while((d_msg_offset < d_msg->length()) && (i <
d_subcarrier_map.size()))
{
while((d_msg_offset < d_msg->length()) && (i<64)) //so only use first
64
subcarriers

at transmitter side.
And: in gr_ofdm_frame_sink::demapper

if(d_byte_offset == 8) {
//printf(“demod byte: %x \n\n”,
d_partial_byte);
if(bytes_produced<8) //this will match the first 64
carriers
for bpsk
out[bytes_produced++] = d_partial_byte;

   d_byte_offset = 0;
   d_partial_byte = 0;

}

at the receiver side.