<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Frequency hoping sequence - is it really random?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/21577/frequency-hoping-sequence---is-it-really-random</link><description>In my application many nodes (acting as centrals) will start simultaneously, as they have common power supply. I am using s132 SoftDevice (4.0). Is the frequency hoping sequence initalized with true random value (how? when?), or is it fixed to some predetermined</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 24 Apr 2017 11:36:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/21577/frequency-hoping-sequence---is-it-really-random" /><item><title>RE: Frequency hoping sequence - is it really random?</title><link>https://devzone.nordicsemi.com/thread/84736?ContentTypeID=1</link><pubDate>Mon, 24 Apr 2017 11:36:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6ab4fea7-1954-4a82-96a6-3dba8975cb71</guid><dc:creator>Ulrich Myhre</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The current Channel Selection Algorithm, called &lt;code&gt;Channel Selection Algorithm #1&lt;/code&gt;, is defined as:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;unmappedChannel = (lastUnmappedChannel + hopIncrement) mod 37
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and if &lt;code&gt;unmappedChannel&lt;/code&gt; lands within a unused channel (limited with channel map), it shall remap like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;remappingIndex = unmappedChannel mod numUsedChannels
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and it then selects a channel from the available channels only. &lt;code&gt;lastUnmappedChannel&lt;/code&gt; is then updated to whatever was the chosen channel.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;hopIncrement&lt;/code&gt; is set by the master when it connects. The current S132 4.0 will choose a random value for the hop when acting as a master. If, for whatever reason, a random value is not available at the time, it will be set to something static. But that should not generally be a common occurrence.&lt;/p&gt;
&lt;p&gt;Side-note: There is also a &lt;code&gt;Channel Selection Algorithm #2&lt;/code&gt; defined in Bluetooth 5, which is based on access addresses instead. That one is a bit more effective when used with channel maps. If you have any questions or requests about future SoftDevices, don&amp;#39;t hesitate to contact your regional sales representative. PM me with your location if you do not know who this is.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>