Dear all,

Sorry, my source code was wrong.

There is only one

*d_bit_offset += d_nbits;*

*Thanks .*

2016-05-26 10:38 GMT+09:00 SangHyuk Kim <tkdgur7...@gmail.com>:

> Hi all,
>
> I'm tracing how OFDM modulation is done by /ofdm/benchmark_tx.py.
>
> The file, ofdm.py indicates ofdm modulation is composed of like :
>
> modulation - mapper - preamble - IFFT - CP - scale
>                 |- mapper - preamble -|
>
> And I have a question at ofdm_mapper_bcv.
>
> In ofdm_mapper_bcv_impl::work, I can find making symbol part :
>
>
> *while(..){*
>
> *if((8-d_bit_offset) >= d_nbits) {*
>
>
>
>
> *bits = ((1 << d_nbits)-1) & (d_msgbytes >> d_bit_offset);d_bit_offset +=
> d_nbits;d_bit_offset += d_nbits;out[d_subcarrier_map[i]] =
> d_constellation[bits];*
>
> *}*
>
>
> *}*
> For example, using BPSK :
> - d_nbits = 1
> - d_msgbytes = 94 (0101 1110)
>
> 1st loop:
> - bits = (0000 0001) & (0101 1110) = 0  // takes right-most bit
> - d_bit_offset = 2
> - out[..] = d_constellation[0]
>
> 2nd loop:
> - bits = (0000 0001) & (0001 0111) = 1
> - d_bit_offset = 4
> - out[..] = d_constellation[1]
>
> 3rd & 4th same like above.
>
> In this example, it just takes odd parts of byte (0, 1, 1, 1).
>
> How can receiver deduce even part (1, 1, 0, 0) ?
>
> I don't know why *d_bit_offset += d_nbits* double times, not an one.
>
> Is this related with two mapping & preamble blocks ? (I/Q ch?)
>
> If right, these two mapping handle even or odd part of byte respectively ?
>
> Thanks.
>
>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to