トップ «前の日記(2012-10-15) 最新 次の日記(2012-10-20)» 編集

日々の破片

著作一覧

2012-10-16

_ least negative value

仕事でとあるデバイスをいじくっていたのだが、ちょっとおもしろい英語表現に出会ったので、紹介する(US版のSDKのマニュアルしか提供されていないので必然的に英語となる)。

結論としては、least negativeと言った場合、それは絶対値が最小の負数を指すということなのだった。

で、そのデバイスのAPIで、RSSI(信号強度)を取得できるのだが、そこに、「stronger (least negative) value」という表現が出てくるのだった。

だが、おかしい。-30と-33.5の2つの結果を得られた場合、デバイスに対して近いのはー30のほうなのだ。でも、このデバイス(UHF帯のRFIDリーダに対するデバイス=RFID)は実に奇妙な動作をするので、距離の近い遠いはまったくあてにならない。どこからか反射した結果(でおそらく増幅されて)で遥か遠くのデバイスが反応したり、えらく近くでも向きが電波の入力角に対して水平に近いと反応しなかったり(まあ、それは起電するためにはデバイスが持つアンテナに対して垂直に電子が流れるのが最も効率が良いから当然、とか知ったふうなことを書いているが、電気の知識は中学生の理科止まりなので怪しい)。

で、はて、電波強度がstrongerなものを近いとみなす(が、上で書いたように実際にはぶれまくる)しかないが、それは得られた値が上の例だと-30と-33.5のどちらなのだろう? と困る。

least negative valueということは、最小の負の値ということだろうから、-33.5のほうが数として小さいのだから、-33.5が近いということだ。でも、実測としては-30を出したほうがデバイスには近い。でも、それはこの環境の問題で、-33.5を出したほうが実際にstrongerな電波を返している可能性も捨てがたい。

つまり、全然、わからない。

わかるためには、実測ではなく、least negative valueの意味を知るしかないし、それはleastなんだから小さいほうに決まっているのだが、googleさんに聞いてもleastとnegativeとvalueの組み合わせではいまいちそれっぽいものが引っかからない。プログラミングQAに投げている人がいて、その人の例だと-30(つまり絶対値として小)なのだが、QAに投げているワナビーだから間違った数学用語(なのか技術用語なのかジャーゴンなのかもわからにし、辞書を引いてもleast negative valueでは出てこない)を使っている可能性もある。

というわけで、結局、判断できないので実測しまくり、どうも絶対値として小さいほうがstrongerなような気がする、気がするからそうしてしまえ、とやったのだが、それでもいまいち安心できない。

しかし、絶対値として小さいというのは、どうも馴染みがないので、やはり自信が持てない。

というわけで、twitterで聞いてみたら、うささんが反応してくれて電波強度なら絶対値と教えてくれた。

さらにfbでShiroさんが反応してくれて、どうも「negative」という言葉の有無が重要で、Schemeにはleast-fixnumという手続きがあって、整数としての最小(絶対値大)、でもCommon Lispにはleast-{positive|negative}-double-float ってな類の定数(実はこのページは検索していて引っかかったのだが、パッと見、何かのspamページかと思ってスルーしてしまったのだった。が、よく見ると確かにCLの仕様だった……)があって、こちらは絶対値小(負の整数として大)を示していると教えてくれた。

というわけで、実測でも、プログラミング仕様での呼び名でも、電波用語(別の意味っぽい)としても、least negativeが絶対値として最小の負数ということで確定(未だに辞書的な定義は見ていないけど)。

本日のツッコミ(全4件) [ツッコミを入れる]
_ るいも (2012-10-17 00:53)

little-less-leastなので、negativeな方向への変位が一番小さい(つまり0に一番近い)という意味とか。

_ arton (2012-10-17 01:20)

あー、なるほど。したがって0起点になるのは当然の言い方なわけですね。

_ いたさん (2012-10-20 12:00)

この電波強度はdB(デシベル)表記ではないでしょうかね?

_ arton (2012-10-21 00:32)

dbmという表記になっています。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|

ジェズイットを見習え