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.