背景
プロフィール欄にOSI L1-L4と書くからには、物理層(L1)の勉強もせねばならぬと思い, 足がかりに変調方式の一つであるPSK(特にQPSK)をMATLABを使って勉強することにした. 到達目標は, よく見るBER(Bit Error Rate)のあの図を描くところまで. 理論的理解が目標ではなく, 感覚的に変調の「気持ち」を理解することを目的とした. 筆者は信号処理に関する理論的/体系的な教育を受けていないため(大学時代に独学しようとしたが途中で挫折した), Webに転がっている講義pdf(千葉工業大学 佐波研究室講義資料 http://www.saba.cs.it-chiba.ac.jp/_userdata/AdvCom03.pdf) を見てざっと勉強した.
変調, PSKとは
通信における物理レイヤや変調に関して詳しい説明は省く.
Qiitaだと, 下記記事が参考になる.
https://qiita.com/aizko/items/1e6bd3b69c9dfad26b4c
PSKはPhase-Shift Keyingの略称. 搬送波(キャリア, 通常はsin波を使うらしい)の位相を変化させることで信号を送る. シングルキャリアデジタル変調方式としては他に, ASK(振幅偏移変調), FSK(周波数偏移変調), QAM(直角位相振幅変調). なお, マルチキャリアデジタル変調方式だとOFDMが有名.
下記のページで得た情報をまとめると,
http://www.interq.or.jp/blue/rhf333/modulation.htm
・ ASK ... 送受信機の回路構成がシンプルで済む. だけどノイズに弱く, 一般的に無線通信で使われることは少ない(優先だと不明).
・ FSK ... 送受信機の回路構成がシンプルで済む. ただ信号を送る際に周波数を変化させるため, 伝送速度が上がるにつれて占有帯域(スペクトラム幅)が広がってしまうため, 高速通信には向かない.
・ PSK ... WikiによるとQAMより単純で, 既存の技術で比較的広く利用されてるらしい(無線LANとか). 2位相を使うBPSK(Binary PSK)や4位相を使うQPSK(Quaternary PSK)などがある. 今回は, QPSKの勉強にフォーカスした.
MATLABについて
とりあえずMATLABのページから評価版をDL, インストし, 使ってみることにした. MATLABの文法については「急にMATLAB/Simulinkを使うことになった時に読む本」をざっと読んだところ, C言語とほぼ似てる感じだったので, 「習うより慣れろ」の精神で特に文法を学ぶことなくコーディングに突入した.
MATLABのドキュメントや講義資料を参照しながらコーディングしよう…と思っていたところ, 自分のまさにしたいことをすでにされている方がQiita内にいた[3]ため, そちらを使って勉強した, まる.
1. 東北大学 川又研究室 http://www.mk.ecei.tohoku.ac.jp/dsptext/lecture.pdf
2. 同研究室 MATLABで学ぶディジタル信号処理の基礎 http://www.mk.ecei.tohoku.ac.jp/jspmatlab/
3. 【MATLAB】通信の勉強をする前の練習問題 https://qiita.com/Seiji_Tanaka