How can I use the lowest transmit power possible to find Monza tags?

If a Little Power is Good, Then More Must Be Better, Right?

This post will show you how to use programming technique using the Impinj Octane Software Development Kit (SDK) to find the lowest transmit power that still finds tags. This is useful in a couple ways; one is that best practices usually dictate that you avoid transmitting excess RF power in order to avoid being an unnecessary source of interference – essentially being a good “RF neighbor”.

This code shows a power ramp test. The transmit power is steadily increased by 1dB steps. As the power increases we report on how many tags were singulated. This complete test takes less than a minute.

This approach of finding minimal transmit power is also useful when utilizing near-field coupling with the Monza-based tags. The Monza series tag ICs, and especially the Monza 4, have great input sensitivity which is very useful for maximizing read range and read rate under challenging conditions. Some might be tempted to think, “If a little RF power is good, then more must be better” but this is in fact problematic especially if reading and writing to a near-field tag with a strong near-field coupling antenna such as the Impinj Mini-Guardrail, Brickyard or Matchbox antennas.

Most folks pay a lot of attention to the minimum power requirements to singulate a tag (tag sensitivity), few notice that there is a maximum input power above which the tag integrated circuit (IC) may not respond to read or write commands. For example, with the Monza 4 IC, this is specified to be +14dBm; if more power than this reaches the IC input than it could cause a read or write failure.

A good approach is to position the tag in the near-field read zone and then edit the code shown above so that the power steps down in 1dB increments until it is no longer read and/or write. Then, increase the power by 3 or 4 dB (recall that 3dB = double the power) to allow for some fluctuation in sensitivity from tag-to-tag.

Settings = QueryFactorySettings();
Settings.Antennas[1].IsEnabled = true; // use only antenna 1
Settings.Antennas[2].IsEnabled = false;
Settings.Antennas[3].IsEnabled = false;
Settings.Antennas[4].IsEnabled = false;
Settings.Antennas[1].MaxRxSensitivty = true; // setting reader for max sensitivity
for ( double power = 10.0; power <= 30.0; power += 1.0)
{
Settings.Antennas[1] .TxPowerInDbm = power;
ChangeSettings (settings);
tagReport = QueryTags(3); //query for 3 seconds at each power setting
Console.Writeline (“At {0} dBm saw {1} tags”, power, tagReport.Tags.Count);
}

 

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.