ワイヤレス通信を、順番に学ぶ
4つのトラックで、各レッスンは前のレッスンの上に積み上がります。すべてのレッスンに学習目標、図またはグラフ、シミュレーションで実際に動くコード、そして演習があります。
すべてのレッスンは2027年1月31日まで無料で読めます。アカウント登録は不要です。
「無線とは何か」から、シミュレーションした信号の復調まで。
無線リンクとは何か
ビットからアンテナを経て再びビットに戻るまでの、あらゆる無線リンクを構成する要素、搬送波周波数が変えるもの、帯域幅が重要な理由、そしてデシベルの最初の実践的な使い方を学びます
複素ベースバンドとIQサンプル
無線機が信号をIとQで表す理由、ミキシングで信号を搬送波との間で移す仕組み、複素信号に必要なサンプルレート、負の周波数の意味を説明します。
デシベルとリンクバジェット
dB・dBm・dBW・dBiによるデシベル計算、フリスの伝達公式、ITU-R P.525と照合した自由空間損失、numpyによるリンクバジェット計算機
雑音・SNR・通信路容量
−174 dBm/Hzの熱雑音フロアの由来、雑音指数と多段構成の縦続接続が受信感度をどう決めるか、そしてシャノン容量が帯域幅と電力について何を示すかを解説します
デジタル変調とビット誤り率
BPSK・QPSK・16-QAMのシンボルにグレイマッピングでビットを割り当て、雑音中で検出し、ビット誤り率をEb/N0に対してモンテカルロシミュレーションで測定して理論値と比較します
パルス整形と整合フィルタ
矩形パルスがスペクトラムを無駄にする理由、レイズドコサインとルートレイズドコサインのパルスが符号間干渉を避ける仕組み、受信フィルタを送信パルスに整合させる必要がある理由を説明します
フェージングチャネル
マルチパス、レイリーフェージングとライスフェージング、ドップラーとコヒーレンス時間、遅延広がりとコヒーレンス帯域幅、そして2アンテナのダイバーシチがBER曲線をどう変えるかを、すべてnumpyでシミュレーションして理論と照合します
ゼロから作るOFDM
numpyで完全なOFDMリンクを構築します。IFFTによる変調、サイクリックプレフィックス、マルチパスチャネル、パイロットに基づくチャネル推定、1タップ等化を実装し、ビット誤り率を理論値と比較します。
初めてのGNU Radioフローグラフ
GNU Radio 3.10のヘッドレスなフローグラフをPythonで作ります。QPSKをルートレイズドコサインフィルタと雑音に通して復調し、ビット誤りを数えます。GNU Radio Companionとの対応も確認します。
IQファイルの記録と読み込み
生のIQサンプル形式(cf32からcu8まで)、SigMFメタデータ、numpyによる合成キャプチャの書き込みと読み出し、スペクトログラムでのバースト検出、SoapySDRによる実際のSDRからの記録
チャネル、OFDM、MIMO、そして初めてのソフトウェア無線。
このトラックのレッスンは執筆中です。まずは入門トラックからどうぞ。
5G NRの物理層、ビームフォーミング、同期、RF障害。
このトラックのレッスンは執筆中です。まずは入門トラックからどうぞ。
研究の最前線: Massive MIMO、ISAC、RIS、AIネイティブ無線インタフェース、サブテラヘルツ。
このトラックのレッスンは執筆中です。まずは入門トラックからどうぞ。