Search Linux Wireless

Re: Initial automatic channel selection implementation

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

 



On Thu, May 26, 2011 at 5:59 PM, Luis R. Rodriguez <mcgrof@xxxxxxxxx> wrote:
> ÂWhat I'd like to do is to affect the ratio to nullify it if the noise
> Âis very low on the channel. Given that noise is logarithmic we'd have
> Âto use a logarithmic function as well. Working on that now.

OK I've figured a way to plug the noise into this, I designed the
following function we can use as a factor:

1.1^(x+110)

Wolfram|Alpha boring details of this function:

http://bit.ly/mJNXE9

x,y results of different noise values in dBm, using apcalc:

mcgrof@tux ~ $ calc
C-style arbitrary precision calculator (version 2.12.3.3)
Calc is open software. For license details type:  help copyright
[Type "exit" to exit, or "help" for help.]

; define f(x) = 1.1^(x+110)
f(x) defined

; f(-130)
	~0.14864362802414368640
; f(-120)
	~0.38554328942953174736
; f(-119)
	~0.42409761837248492210
; f(-118)
	~0.46650738020973341431
; f(-117)
	~0.51315811823070675574
; f(-116)
	~0.56447393005377743132
; f(-115)
	~0.62092132305915517445
; f(-114)
	~0.68301345536507069189
; f(-113)
	~0.75131480090157776108
; f(-112)
	~0.82644628099173553719
; f(-111)
	~0.90909090909090909091
; f(-110)
	1
; f(-109)
	1.1
; f(-108)
	1.21
; f(-107)
	1.331

So then, we'd use a frequency for initiating beaconing (AP, Mesh, P2P)
which uses the lowest value from the following computation:

(busy time - tx time) / (active time - tx time) * 1.1^(noise + 110)

The 1.1 factor can be modified more accurately to represent the
exponential factor of how noise should affect interference decisions,
the 110 value here can be modified for any other arbitrary value we
find as representative of a regular noise value from a simple AP on
the frequency we are observing, my assumption here was -110 dBm.

If I don't hear yells I'll implement this algorithm, but first I want
to add APIs to let us query for survey data for specific frequencies,
the current stuff assumes the dump data will be useful within the time
period we get it, but the way I'm thinking of doing it is to do each
frequency analysis atomically -- change channel / do offchannel
operation on a frequency, and then get the survey data for that
frequency and compute the above. Then choose the frequency with the
lowest value. This would allow us to do work without regards to any
possible stale data. We could also later add a history of these values
and compute an average and keep picking the best one. Anyway, that's
that. Let me know what you think.

  Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux