こんにちは!いつも当ブログを読んでいただきありがとうございます。最新のガジェットやネットワーク技術の裏側を、誰よりも熱く、そして分かりやすくお届けする技術ライターのメインエディターです。
皆さんは、スマートフォンで動画をアップロードしたり、SNSに写真を投稿したりするとき、「あ、今データを送ってるな」と感じる瞬間はありませんか?4Gから5Gへと進化し、私たちの生活は劇的に便利になりましたが、実はその「送信(アップリンク)」の裏側では、目に見えないほど緻密で、泥臭いまでの制御が行われているんです。
今日は、5G NR(New Radio)の通信を支える屋台骨の一つ、「PUSCH(Physical Uplink Shared Channel)」という物理チャネルにスポットを当ててみましょう。
「物理チャネル? PUSCH? なんだか難しそう……」と思った方も大丈夫。一歩ずつ、郵便配達の仕組みに例えて紐解いていきましょう!
—
1. PUSCHは「みんなで使うデータの配送トラック」
まず、PUSCH(プッシュ)が何者なのかを整理しましょう。
5Gの通信には、大きく分けて「下り(ダウンロード)」と「上り(アップロード)」があります。PUSCHは、文字通り「上りのデータを運ぶための共有の通り道」です。
私たちがスマホから送る写真、動画、チャットのメッセージ……これらはすべて、このPUSCHという「配送トラック」の荷台に乗せられて、基地局へと運ばれます。「Shared(共有)」という名前がついているのは、限られた電波の帯域を、そのエリアにいるみんなで効率よく分け合って使っているからなんです。
2. データをどう「狙い撃ち」するか:プリコーディングの選択
5Gの大きな特徴は、たくさんのアンテナを使って電波を飛ばす「MIMO(マイモ)」です。でも、ただデタラメに電波を飛ばしても、基地局にはうまく届きません。そこで登場するのが、電波の向きや強さを調整する「プリコーディング」という技術です。
5G NRのPUSCHでは、この調整方法に「コードブックベース」と「非コードブックベース」の2つのスタイルがあります。
コードブックベース(Codebook-based)
これは、いわば「あらかじめ用意されたメニュー表(コードブック)から選ぶ方式」です。
基地局がスマホに対して、「君の電波の状態なら、この3番のパターンで送るのが一番効率がいいよ!」と指示を出します。スマホはその指示に従って、決められたパターン(重み付け)で電波を送信します。
- メリット: スマホ側の計算負担が少なく、通信のやり取り(オーバーヘッド)を節約できる。
- デメリット: 決められたパターンの中に「最適解」がない場合、少し効率が落ちる。
非コードブックベース(Non-codebook-based)
こちらは、「現場の状況に合わせてオーダーメイドで作る方式」です。
スマホ自身が基地局からの電波(SRS:参照信号)を測定し、「今の状況なら、この角度と強さで送るのがベストだ!」と自分で判断して送信します。
- メリット: 刻一刻と変わる電波状況に対して、極めて精密な「狙い撃ち」ができる。
- デメリット: スマホ側で高度な計算が必要になり、基地局との事前のやり取りも少し複雑になる。
—
3. 「声の大きさ」をどう決める?:アップリンク電力制御(TPC)
さて、トラックの走らせ方が決まったら、次は「どれくらいのパワー(電力)で送るか」が重要です。
もし、スマホが全力のフルパワーで電波を出し続けたらどうなるでしょう? バッテリーはすぐに切れますし、近くにいる他の人の通信を邪魔してしまう「ノイズ」になってしまいます。逆に弱すぎると、基地局まで届きません。
そこで行われるのが、電力制御(TPC: Transmit Power Control)です。
パワーを決める3つの魔法の数字
現場のインフラエンジニアがパラメータをいじるとき、特によく目にするのが以下の要素です。
1. P0(基準電力): 基地局が「これくらいの強さで届けてほしいな」というターゲットとなる基本の音量。
2. Alpha($\alpha$:路損補償係数): スマホと基地局の距離が離れて電波が弱まった分を、どれくらい「おまけ」して強く出すかの割合。
3. Pathloss(パスロス): 実際に電波がどれだけ空間で減衰したかの実測値。
これを数式っぽく書くと(少しだけ我慢してくださいね!)、スマホの送信電力はこんなイメージで決まります。
送信電力 = P0 + (Alpha × パスロス) + 補正値
「遠くにいるなら少し大きな声で、近くならヒソヒソ声で」という調整を、1秒間に何百回、何千回と繰り返しているんです。これって、凄くないですか?
—
4. 実務で役立つ!PUSCHパラメータの構成例
では、実際に5Gのネットワーク装置(基地局側)で、これらの設定がどのように記述されるのか、シミュレーションや設定ファイルのイメージを見てみましょう。ここでは、代表的なパラメータをJSON風の構造で紹介します。
{
/* PUSCHの基本設定 */
"pusch-Config": {
/* プリコーディングの選択:ここではコードブックベースを指定 */
"txConfig": "codebook",
/* 最大で何本のアンテナ(レイヤー)を使って送るか */
"maxRank": 2,
/* コードブックのサブセット設定(全振幅を使うか、一部かなど) */
"codebookSubset": "nonCoherent",
/* 電力制御(TPC)に関するパラメータ群 */
"pusch-PowerControl": {
/* ターゲットとなる受信電力 (dBm) */
"p0-NominalWithGrant": -90,
/* パスロス(距離による減衰)をどれだけ補償するか (0.0 〜 1.0) */
/* 1.0に設定すると、離れた分をフルパワーで補う「完全補償」になります */
"alpha": "alpha1",
/* 通信経路ごとの個別の電力オフセット設定 */
"p0-AlphaSets": [
{
"p0-PUSCH-AlphaSetId": 0,
"p0": -95,
"alpha": "alpha0.8"
}
]
}
}
}
実務のトラブルシューティングでは、「上りのスループット(速度)が出ない!」というとき、この alpha の値が低すぎて遠くのスマホの電力が足りていなかったり、逆に p0 が高すぎて干渉が起きていたりと、このあたりの数字を泥臭く調整することになります。
—
5. まとめ:パケットが届く喜びを支える技術
いかがでしたでしょうか?
私たちが何気なく「送信」ボタンを押した瞬間、スマホの中では:
1. 「コードブック」や「非コードブック」を使って、基地局への最適な「狙い撃ち」ルートを計算し、
2. 基地局までの距離や障害物を瞬時に判断して、「TPC」で最適な声の大きさを決め、
3. 「PUSCH」という共有の配送トラックにデータを積み込んで送り出す。
というドラマが繰り広げられているのです。
ネットワークの世界は一見すると無機質な数字の羅列に見えますが、その中身は「いかに確実に、効率よく、相手に情報を届けるか」という情熱の塊です。
もしあなたがこれから5Gのネットワーク構築や開発に携わるなら、この PUSCH の設定一つひとつが、誰かの「届いた!」という笑顔に繋がっていることを思い出してみてください。
「このパラメータ、もう少し調整してみようかな」と思えたら、あなたはもう立派なネットワークエンジニアの第一歩を踏み出しています!
次回も、もっと深くて面白いネットワークの裏側を一緒に探検していきましょう。それでは、また!
コメント