記事公開日
【社内雑談】Bluetooth HDTってなに?(結局はLE Audioの話) その1

はじめに
Bluetoothの規格等を管理する団体であるBluetooth SIGは、先日7月28日にBluetooth HDTを発表しました。これは、これまでBluetooth LEにおける通信速度が最大2Mbpsだったものを最大7.5Mbpsまで高速化する技術です。しかし、現状Bluetooth単体で高速に通信する様な用途があまりなく、どのような目的で高速化を図ったのかを理解することは困難です。
今回のブログでは、その「なぜ今更Bluetoothを高速化するのか?」という点について、社内雑談として色々と語っていきたいと思います。
尚、昨年このブログではBluetooth LE Audioに関する長編記事をアップしています。そこでは、LE Audioが優れた技術ではあるのに、なかなか普及しない現状について書かれています。こちらを先に読んでいただくと、今回の話題が理解しやすくなると思います。
毎度おなじみではありますが、このブログはエンジニア個人が好き勝手に発信するものであり、所属組織(株式会社三技協)の公式の見解ではありませんので、あらかじめご承知置きください。
【社内雑談】Bluetooth HDTってなに? その1 その2 その3
今更ながらのHDT高速化技術とは?
社員A(以下A): 今日は、Bluetooth LE(Bluetooth Low Enagy、以降BLE)が高速化するという、Bluetooth HDT(High Data Throughput)についての話題を取り上げます。正直、Bluetoothという通信に高速化を求めている人なんていないと思うんですよね。だからこそBLEが普及したわけですから。高速を追求するなら、そもそもClassic(v4.0より前のBluetooth)で良かったわけで。なんで、今更BLEで高速通信なんでしょうか?
社員B(以下B): なぜ高速化を求めているかって?言うまでも無い。そこに通信回線があるからだ。
A: なんですか、その「そこに山があるからだ」みたいな発言は。そりゃ、通信技術者たるもの高速化を目指さなくてどうするんだ、というお気持ちの問題は分かりますけど、実際問題、高速化が必要な通信と必要ない通信があるわけで、BLEは後者だと思うんですけど。
B: 現状だけを見れば確かにそう。でもね、今回のBLE高速化の理由に関しては技術とニーズの2つの観点を順に追ってみると、見えてくるものがあると思う。
A: つまりHDT誕生理由には2つの側面があると?
B: そういう言い方もできるかな。まずは技術面での理解を深めて貰うために、今回のHDTの通信高速化技術がどういうものかという話をしようかな。
A: よろしくお願いします。
B: 最初に、HDTでは、ついにQPSKやQAMなどの"高次"変調方式を採用した。
A: あれ?高次ですか? 私の記憶が正しければQPSKって第2.5世代と呼ばれるauのcdmaOne※1にも採用されていた、通信としては遅い通信の変調で使われるものですよね?今や64QAMとか当たり前で、4096QAMとか言っている時代ですよ?全然目新しくもなければ、高次でもなくないですか?
B: まあ、そう言うなって。今までBLEはFSKの変化版のGFSKという変調を使っていたんだよ。デジタルの周波数変調の事だね。FSKでもGFSKでも基本同じで、どちらも1シンボルで0/1の1ビットしか送信できない。それをQPSKで1シンボル2ビット送れるようになる。これまでの倍だ。HDTは最大16QAMまで送れるようだから4ビットまで送れるね。これは携帯電話で言うと16QAMでやっと20年前の3.5世代のレベル。ちなみに、4096QAMだと1シンボルで12ビット送れるからね。
A: 正直、すごい今更感ありますね。まあ、ギガbpsとか言っている時代に7.5Mbpsなんだから仕方が無いのかもしれませんが。
B: 実は、私にとっては別の意味で「今更、また何やってるの?」感はあるんだよね。
A: どういうことですか?
B: かつてのBluetooth、いわゆるBluetooth Classicの時だけど、高速通信用にHDR(High Data Rate)という規格があって最大3Mbps出せていたんだ。その時に、GFSKでなく8DPSKという変調方式を使っていた。DPSKはPSKの改良版という感じだ。つまり、Classicの時代に、GFSKから高次変調である8DPSKという方式を追加したという過去があった。でも、それをBLEになってGFSKにわざわざ戻したという経緯があったんだ。
A: なんで、BLEのときにGFSKに戻したのですか?
B: GFSKは周波数変調で、周波数変調には振幅一定という特長がある、振幅一定だと比較的安いアンプ(増幅器)で消費電力も少なく送信することができるんだ。つまり、BLEではLow Enagyの名の通り、消費電力を優先した結果GFSKに先祖返りした。
A: なるほど。それなのにQPSKとかQAMとか面倒な変調に変えるということは、HDTは消費電力が増えることを意味すると。
B: そう。そして、それに加えてアンプに必要な性能も上がる。更に言えば復調のために無線的同期もシビアになる※2。これも高品質な部品が必要になる。つまり、速度を上げる代わりに、ハードウエア的には電力消費的にもコスト的にも負担をかけることになる。というか、無線レベルから設計し直しだから、BLEから大幅に手を加える必要がある。
A: 面倒ですね。
B: さらに、HDTではFEC、Foward Error Correction、日本語で言うと「前方誤り訂正」を実装することになった。
A: FECは他の通信でよく出てきますね。Turbo Coding※3とかLDPC※4とかですね。元のデータより長さを伸ばして送ることによって、受信側でエラーがあっても訂正できるようにする技術ですよね。
B: その通り。FECを使っているのはQPSK等を導入するデメリットを打ち消すためだ。振幅一定で周波数だけに信号が載るFSKはかなりノイズに強い通信と言える。一方、QPSK/QAMになると振幅の違いもデータになるからノイズにかなり弱くなる。そうすると、もちろん通信エラーが増える。
Bluetoothは2.4GHzを使っている。ご存じの通り、Bluetoothだけでなく、Wi-Fiやその他マウス、電子レンジなど2.4GHzを使う機器は多種多様。恐らく全周波数中でも一番の高ノイズ環境だと思う。その環境下で、ノイズに強かったGFSKを捨てるのだから、何らかの別のノイズ対策をしないと、通信が成り立たない。それがFECというわけ。
A: それぞれの意味は分かりますが、じゃあ何をやっているのかと言われると、理解が難しいですね。
B: 一行で言えば
- 低速だがノイズに強い=>高速にする=>ノイズに弱くなる=>ノイズ対策が必要
ということだ。何やらマッチポンプぽいけど、ともかく最後のノイズ対策の一つがFECになる。通信理論に詳しくない人だとイメージ湧かないかもしれないけど、要するにFECって利得を上げることだから。アンテナの利得を上げる事と通信の意味的には同じだ。
A: つまり、QPSKとかQAMになって必要な電力、SN比が上がったから、FECで利得を稼ぐ、そんなイメージですか?
B: その通り。当然、FECを使うと送受信とも重い計算が必要になる。これを書いている時点のHDT仕様のドラフトには、FECの受信(復号)は「Convolutional Coding」、日本語で「畳み込み符号化」を使うという記載がある。畳み込み符号はFECの原点であり、かなり古い符号ではあるんだけど、それでも復調は大変で、それなりのハードウエアを積まないと処理できない。つまり、FECで製品コストが上がるし、消費電力も上がる。
A: また、コストと消費電力上昇の要素ですか。
B: そして、変調の次数が上がって、FECが実装されたとくれば、当然適応変調も実装される。どんな適応変調になるかは公表されていないけど、他のシステムと同じように変調の次数とFECの冗長度を変えることで適応変調するんだと思うよ。
A: 適応変調って、電波の状況によって通信速度を変える方式ですよね?
B: その通り。で、適応変調とセットになるのがパケットより小さなブロックでの分割だね。今までは大きなパケット単位でエラーの検出をしていたけど、もう少し小さな単位でエラーの検出をするようにする。その場合、FECでエラー訂正ができずエラーになった場合でも、ブロック単位での再送となるため効率が良い。
A: なんか、パケットより小さなブロックで再送するって、どこかで聞いたことがあるような・・・ そうだ、それ5Gで同じようなこと出てきませんでしたっけ。
B: 鋭いね。5Gのデータ送信はTB(Transport Block)単位なんだけど、エラー検出やエラー再送はもう少し小さいCBG(Code Block Group)というデータ単位で行われるんだ。この構造はHDTと同じだよ。ただ、5Gで小さく分けているのは遅延の削減のためなんだけど、HDTがブロック単位なのは、単純にエラーが多く発生するから再送効率を上げるためだと考えられるね。
A: え?エラーが多く発生するってどういうことですか?適応変調してるんですよね。
B: 適応変調の基本は、受信側が測定したRSSI(受信電力)とかSN比とかの無線品質を送信側に送って、それを基に送信側が送信速度を判断するという仕組みだ。けど、Bluetoothは周波数ホッピング。受信して無線品質を測定したチャンネルと、次に送信側が使うであろうチャンネルは同一ではない。チャンネルが異なるということは、無線環境も異なる。例えば、5Gの適応変調は1秒間に何十回、何百回も測定することからも分かるとおり、チャンネルの正確な無線品質をほぼリアルタイムで把握することで成り立っている。しかし、異なるチャンネル、しかもさほど周波数が近くない可能性のあるチャンネルの無線品質を測定したところで、送信チャンネルの正確な無線品質は分からないし、的確な適応変調もできない。
A: そう言われてみれば、そうですね。周波数ホッピングと適応変調って相性悪いですね。
B: だから、HDTでは他の適応変調を使っている通信よりも高いエラー率を想定してシステムを組む必要がある。そして、エラーが発生し、エラー再送が増えることを見越してシステムを設計しなければいけない。だからこその、ブロック化というやつなんだ。ブロックを小さくしておけば、エラー発生の際も小さなブロックを再送すれば良いので、エラー再送の効率は良くなる。
ただし、ブロックを小さくするということは、送受信のオーバーヘッドが大きくなることも意味するので、通信速度という面ではマイナスになるけどね。
A: 5Gと違ってそこまでの速度ではないから、オーバーヘッドを許容するしかないですね。
B: ここからは予想なんだけど、恐らくHDTの場合はチャンネル単位で無線品質を評価するのではなく、ざっくりある程度広い帯域、例えばWi-Fiのチャンネル幅ぐらいを平均化した無線品質で評価することになると思うよ。で、エラーが発生して再送するときは、とりあえず最初より遅くして確実に送る、そんなアバウトな感じの動きになるんじゃないかな? まあ、こういったことは最終的に機器ベンダーの実装になるから、どういったアルゴリズムで通信しているのかとか細かいところはブラックボックスだろうけどね。
A: 高次変調、FEC、適応変調と今どきのシステムを入れてみたものの、だからといって5GとかWi-Fiになれるわけではないのですね。
B: そうそう、そこだけ真似ても5Gになるわけじゃないから。例えば、5Gというか3Gの時から採用されているH-ARQというシステムがあるんだけどさ、今回のHDTみたいなエラー率高めなシステムの場合、LDPCのような超高効率符号と組み合わせてH-ARQを使うとめちゃくちゃ効果があるんだよね。でも、HDTにはH-ARQは採用されていない。
A: 何でですか?もったいない。
B: H-ARQはFEC以上に、非常に重い技術なんだよ。H-ARQは受信データを合成する必要がある※5ため、通信を一時保存するための大量なキャッシュがいる。しかも、それを複数同時に動かしている。そうなると回路のコストも消費電力も馬鹿でかい。携帯電話のような通信としては超巨大なシステムであれば採用できるけど、省電力、超小型、低価格が求められるBLEの機器には全く向いていない。H-ARQも20年以上前からある技術とは言え、さすがに導入は難しかったようだ。
A: なんか、携帯電話だと当たり前に搭載されている技術って、結構複雑なシステムが使われているんですね。
B: そうだよ。携帯電話は最新無線通信技術の集合体なんだよ。あれより複雑な無線通信技術は存在しないと思うよ。
というわけで、脇道にそれてしまったけど、HDTを一言で表せば、QAMとかFECとかの「今どき当然の技術」をBluetoothに採用することで最大7.5Mbpsを実現する、そういう技術ってことだ。
A: 技術的なことはよく分かりました。
なぜ高速化したのか?
B: さて、最初の話題に戻って、Bluetooth、というかBLEがなぜ高速化の方向に戻ったのか?という話をしたいと思う。まずは、技術面の話から。
A: はい、お願いします。
B: 技術的に言えば、目的は省電力化と干渉の削減この2つしかない。というか、この2つ以外思いつかない。
高速化するということは、同じ量のデータであれば短い時間で送れることを意味する。「回路に電源を入れ電波を出して送信する」ということは大きな電力消費に繋がる。その時間はできるだけ短い方が良い。逆に言えば、できるだけ何もしない「アイドル」の時間が長い方が消費電力の削減に繋がる。電波を出している(回路がオンになっている)時間の割合をデューティー比と呼ぶんだけど、このデューティー比を下げる事は電力削減の最も有効な手段の一つとされている。データを極力短い時間で送ってデューティー比を下げる。そして、電力削減するって算段だ。
A: でも、先ほど、高度な通信にすると回路コストの上昇と、電力消費の増加を招くと言っていたような。相反しませんか?
B: そうだね。でも、考えてみてよ。別にFECやQPSKなんて技術はBluetooth開始前からあったし、少なくともBLE開始時にはFECもQPSKも適応変調も携帯電話には実装されていた、いわばレガシーな技術だ。じゃあ、それらがなぜ今HDTに採用なのかと言えば、時代が進んで回路が省電力化したからなんだ。「QPSK/QAMやFEC導入による消費電力の増加」を「デューティー比低下による消費電力の減少」が上回ったんだよ。それに加えて、大きさ的にもコスト的にもBLEに搭載しても大丈夫なほどになったという理由もあるだろう。
A: つまりは、半導体側の技術が上がったということですね。よく考えれば、携帯電話とWi-Fiという出荷台数が10億単位という超絶数が出ているデバイスに実装されている技術なんだから、いまさらコストも何もないってことなのかな?
B: で、みんなのデューティー比が下がれば、副次的に電波干渉も少なくなる。まあ、こちらの効果は、速くなった分通信を沢山しちゃったらチャラになるんだけど、それはそれとして同じチャンネル幅でより高速に通信するということは、すなわち周波数利用効率を上げるということだからね。周波数利用効率を上げることは、無線通信における絶対正義ですから。反論は認めません。
A: 突然の強い言葉ですが、理解はできますよ。周波数リソースは有限ですから大事にしたいですね。いや、総務省の回し者じゃないですよ。
B: とまあ、技術的なメリットを書いてみたんだけど、正直これらメリットは後付けであり、主な目的ではない。やっぱり、特定のある使用用途のためにHDTを採用したと考えるべきであろう。
A: その用途ってなんですか?
B: Bluetooth LE Audioだよ。
次回予告
次回はHDTとLE Audioの関係について語っていきます。また、次回をお楽しみに。
【社内雑談】Bluetooth HDTってなに? その1 その2 その3
※1; 当時はKDDI/auではなく、IDO(日本移動通信)や各地域セルラーだった。
※2; QPSK、QAMでは「同期検波」と呼ばれる復調が使われる。
※3; EVDOやHSPA、LTEなどに使われているエラー訂正符号。非常に強力なエラー訂正符号だが、遅延が大きい。
※4; Low-Density Parity-Check。5GやWi-Fiにも使われているエラー訂正符号。非常に強力でありながら、(性能の割に)比較的計算処理が軽いことで知られ、現在の主流となっている。
※5; HSPA、LTE等で使われるIncremental RedundancyやChase Combining方式の場合。


