discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] IEEE 802.11 a/g/p Transceiver module - Making cha


From: Qurat-Ul-Ann Akbar
Subject: Re: [Discuss-gnuradio] IEEE 802.11 a/g/p Transceiver module - Making changes in WiFi PHY Hier Block
Date: Sat, 25 Mar 2017 10:42:24 -0600

Okay I will do that. Thanks!

On the receiver side I know the equalizer block does the phase offset correction but usually pilot tones in each OFDM symbol are used for that. When I looked at the file gnuradio/gr-digital/lib/ofdm_frame_equalizer_vcvc_impl.cc
I dont see that happening. If for every OFDM symbol that we receive, I want to access the frequency bin of the pilot tones how can I do that with the current equalizer block?





On Sat, Mar 25, 2017 at 8:55 AM, Bastian Bloessl <address@hidden> wrote:
Hi,

Am 25.03.2017 um 16:12 schrieb Qurat-Ul-Ann Akbar:
Thanks for pointing me to the file. This list of pilot tones with
different polarities seems to be hard coded. Is there any way of
changing the amplitude value of this complex number encoded on the pilot
tone. E.g. if I want to change all the pilot tone values for frequency
bin +7 from 1 to 1.2 how can I do that dynamically without hard coding
these values ?

Something like this (1,1,1,-1) -> (1,1,1.2,-1) and so on...

That, rather specific use-case, is AFAIK not supported by the upstream block. It is, however, straightforward to create your own block based on the OFDM Carrier Allocator. The Wiki has lots of useful information. In particular,
https://wiki.gnuradio.org/index.php/OutOfTreeModules

To change the amplitude of the pilots interactively, you might want to add a callback to the block (to change it from GUI elements) or add a message port to allow other blocks to change the amplitude.

Best,
Bastian




On Fri, Mar 24, 2017 at 2:57 PM, Bastian Bloessl <address@hidden
<mailto:address@hidden>> wrote:

    Hi,

    On 03/24/2017 08:44 PM, Qurat-Ul-Ann Akbar wrote:
    > How is a particular polarity picked for the pilot tones in each symbol
    > with 52 subcarriers in GNU Radio? I can see the list in the OFDM Carrier
    > Allocator block but where is this exactly happening in the code?

    the pilots are copied here:

    https://github.com/gnuradio/gnuradio/blob/master/gr-digital/lib/ofdm_carrier_allocator_cvc_impl.cc#L185-L189
    <https://github.com/gnuradio/gnuradio/blob/master/gr-digital/lib/ofdm_carrier_allocator_cvc_impl.cc#L185-L189>

    The vector "d_pilot_carriers" is created from the list of pilots that
    you mentioned (i.e. the argument of the carrier allocator block).
    This list contains pilots according to the polarity pattern given in the
    standard.

    Best,
    Bastian

    >
    >
    >
    > On Mon, Mar 20, 2017 at 3:37 PM, Bastian Bloessl <address@hidden <mailto:address@hidden>
    > <mailto:address@hidden <mailto:address@hidden>>> wrote:
    >
    >     Hi,
    >
    >     On 03/20/2017 09:17 PM, Qurat-Ul-Ann Akbar wrote:
    >     > Hi,
    >     >
    >     > Thank you. I got it! I have another question. In the OFDM Carrier
    >     > Allocator block, there are 127 values for pilot symbols each of them
    >     > either (1,1,1,-1) or (-1,-1,-1,1). The pilot frequencies are
    >     > (-27,-7,7,21) according to IEEE 802.11 standard. But I do not understand
    >     > why are there 127 symbol values. Can you kindly explain that ?
    >
    >     The four values indicate the four pilot symbols (on subcarriers -21, -7,
    >     7, 21). With 802.11, the pilots change polarity based on a predefined
    >     sequence (of length 127). It is in this exact format also in the
    >     standard (Section 18.3.5.10 of the 2012 version).
    >
    >     Best,
    >     Bastian
    >
    >
    >
    >     >
    >     > On Mon, Mar 20, 2017 at 12:09 PM, Bastian Bloessl <address@hidden <mailto:address@hidden> <mailto:address@hidden
    <mailto:address@hidden>>
    >     > <mailto:address@hidden <mailto:address@hidden> <mailto:address@hidden
    <mailto:address@hidden>>>> wrote:
    >     >
    >     >     Hi,
    >     >
    >     >
    >     >     > On 20 Mar 2017, at 17:50, Qurat-Ul-Ann Akbar <address@hiddenstern.edu
    <mailto:address@hiddennorthwestern.edu>
    >     <mailto:quratulannakbar2015@u.northwestern.edu
    <mailto:address@hiddennorthwestern.edu>>
    >     >     <mailto:quratulannakbar2015@u.northwestern.edu
    <mailto:address@hiddennorthwestern.edu>
    >     <mailto:quratulannakbar2015@u.northwestern.edu
    <mailto:address@hiddennorthwestern.edu>>>> wrote:
    >     >     >
    >     >     > If I want to make changes in the PHY hierarchical
    block, can
    >     I just make changes in the grc file available in the examples
    folder
    >     and then recompile ? Because I cant file a .cc file in the lib
    >     folder in IEEE_802.11 module and the source code for most
    blocks is
    >     in there.
    >     >     >
    >     >
    >     >     I’m afraid I don’t get the question, but if you don’t
    see any .cc
    >     >     files in the lib folder, you might want to clone the
    repository
    >     >     again, because actually there are some
    >     >
    >     >     https://github.com/bastibl/gr-ieee802-11/tree/next/lib
    <https://github.com/bastibl/gr-ieee802-11/tree/next/lib>
    >     <https://github.com/bastibl/gr-ieee802-11/tree/next/lib
    <https://github.com/bastibl/gr-ieee802-11/tree/next/lib>>
    >     >     <https://github.com/bastibl/gr-ieee802-11/tree/next/lib
    <https://github.com/bastibl/gr-ieee802-11/tree/next/lib>
    >     <https://github.com/bastibl/gr-ieee802-11/tree/next/lib
    <https://github.com/bastibl/gr-ieee802-11/tree/next/lib>>>
    >     >
    >     >     If you only change the flow graph in GRC, you don’t have to
    >     >     recompile the module (i.e., recompile c++ code). Just
    click on the
    >     >     “generate” button (or press F5) this will rebuild the PHY.
    >     Then the
    >     >     other flow graphs will automatically use the new version of
    >     the PHY.
    >     >
    >     >     Best,
    >     >     Bastian
    >     >
    >     >
    >
    >




reply via email to

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