discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Why add d_nbits two times at ofdm_mapper_bcv ?


From: Martin Braun
Subject: Re: [Discuss-gnuradio] Why add d_nbits two times at ofdm_mapper_bcv ?
Date: Thu, 26 May 2016 08:52:48 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2

Also, that block is going away soon.

I recommend looking at the carrier allocator block instead.

M

On 05/25/2016 10:20 PM, SangHyuk Kim wrote:
> 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 <address@hidden
> <mailto:address@hidden>>:
> 
>     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
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]