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: Marcus Müller
Subject: Re: [Discuss-gnuradio] Why add d_nbits two times at ofdm_mapper_bcv ?
Date: Thu, 26 May 2016 18:06:27 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

That's pretty much what I wanted to stress:

Dear SangHyuk,

as you've been told you multiple times:
> Martin, 25. March 2016:
> you're not using the more recent OFDM blocks, so you won't get a lot of
> support here -- I recommend moving to the tx_ofdm and rx_ofdm stuff
> instead.
> I, 10. April 2016:
> Also, we have already discussed with you multiple times that
> benchmark_tx is not what you should be using, and that you should have
> a look at the ofdm_{rx,tx,loopback}.grc examples.
> I, 7. April 2016
> As said on numerous occassions, go ahead and try the rx_ofdm.grc and
> tx_ofdm.grc examples from gr-digital. They are much more modern.

So really, migrate to the examples Martin, I and others have pointed out
multiple times. You *will not* get competent help with the things you use.

Best regards,
Marcus


On 26.05.2016 17:52, Martin Braun wrote:
> 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
>>
>
> _______________________________________________
> 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]