discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: Collision detection and recovery


From: Marcus Müller
Subject: Re: Collision detection and recovery
Date: Mon, 11 Jul 2022 21:59:35 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0

Hi Nitin,

did you make your packet detector signal a detection even in the presence of collision? As said, it's very unlikely you couldn't detect a strong cross-correlation.

Best regards,
Marcus

On 11.07.22 05:44, Nitin Shivaraman wrote:
Thanks a lot for the response Marcus! As the correlation is done only at the decoding level in Gr-802-15-4, the received data is mapped to one of 16 symbols to decode as 0x0 to 0xF. As seen in the attached file, I'm trying to recreate a collision in the simulation environment by feeding two signals into an add block.

However, when the collision happens, I only receive 0x00 as the symbol for the decoder which does not correspond to any symbol. My understanding is that the collided packet can be obtained if a known original packet is subtracted and decoded from the collided signal.

Since the collided signal received is zero, I'm unable to decode any symbol. Please advise if I'm missing anything.

Thanks in advance.

Best Regards,
Nitin.


On Mon, Jun 13, 2022 at 9:19 PM Marcus Müller <mueller@kit.edu <mailto:mueller@kit.edu>> wrote:

    Hi Nitin,

    not involved in gr-ieee802-15-4, I can maybe still comment on the collision 
detection
    part:

    On 12.06.22 09:13, Nitin Shivaraman wrote:
     > Since the preamble detection happens after the clock recovery mechanism, 
I want to
    know
     > how the collision can be detected using correlation.

    Yep!

     > To detect collision, I intend to
     > receive the collided packet and subtract part of the correctly received 
packet to
    recover
     > both packets correctly.

    You don't even need to subtract! You're correlating, and correlation is a 
linear
    operation. When correlating for the preamble of the second packet, which 
lies within the
    first packet, you simply get as correlation the sum of the autocorrelation 
at
    timeshift 0,
    i.e. the energy, of the preamble (what you actually want to detect) and its
    autocorrelation with the first packet at the timeshift between the two 
packets

    By design, preambles typically have high autocorrelation at \tau=0 and low 
for other
    timeshifts \tau. So, this should actually be pretty reliable, even without 
subtracting
    the
    other packet first! You *will* get some interference, yes, and strictly 
speaking, this
    should put your detection threshold a bit higher.


    Best regards,
    Marcus





reply via email to

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