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.