自宅で始める電波市民科学:人工衛星信号の受信とデータ解析チュートリアル
はじめに:光だけでなく「電波」で宇宙を探る市民科学
天体観測と聞くと、望遠鏡を使って星の光を見ることを想像される方が多いかもしれません。しかし、宇宙からは光だけでなく、さまざまな電波も届いています。そして、これらの電波を捉え、解析することも、宇宙を知る上で非常に重要な手法です。これを「電波天文学」と呼びます。
近年、技術の進歩により、アマチュアでも比較的容易に電波を受信し、データとして活用できるようになりました。特に、地球の周回軌道を回る人工衛星からの信号は、適切な機材とソフトウェアがあれば、自宅から受信することが可能です。これらの受信データを市民科学プロジェクトに提供したり、自ら解析を行ったりすることで、宇宙研究に貢献する新しい道が開かれています。
本記事では、このような「電波市民科学」の中でも、人工衛星からの信号受信とデータ解析に焦点を当て、具体的な始め方と手順を解説します。PC操作や基本的なデータ分析スキルをお持ちの方であれば、これらの技術を活かして、宇宙の新たな側面に触れることができるでしょう。
ステップ1:必要な機材とソフトウェアの準備
人工衛星信号の受信を始めるために必要な主な機材とソフトウェアは以下の通りです。
- SDR (Software Defined Radio) 受信機:
- 電波をデジタル信号に変換し、ソフトウェアで処理するための受信機です。USBドングル型など、数千円から購入できるものがあります。有名なものとしては、RTL-SDRなどがあります。
- アンテナ端子がSMAなど標準的なものであるか確認してください。
- アンテナ:
- 受信したい周波数帯に対応したアンテナが必要です。人工衛星からの信号は比較的高い周波数(VHFやUHF帯)が多いため、それらに適したアンテナを選びます。手軽なものとしては、ディスコーンアンテナやQFH (Quadrifilar Helix) アンテナ、地上用として一般的なGP (Ground Plane) アンテナなどがあります。屋外に設置可能なものが望ましいですが、屋内でも可能な場合もあります。
- アンテナケーブルやコネクタ(SDR受信機に合うもの)も必要です。
- コンピューター:
- Windows、macOS、Linuxなど、SDRソフトウェアが動作するOSがインストールされたPCが必要です。受信したデータを処理・保存するための十分なストレージ容量も必要となります。
- SDRソフトウェア:
- SDR受信機を制御し、受信した信号を表示・録音するためのソフトウェアです。代表的なものとして、SDR# (SDRSharp) やGQRX、CubicSDRなどがあります。ご自身のOSに対応するものを選んでください。
- 衛星追跡ソフトウェア:
- 人工衛星の現在の位置や将来の通過予報を知るためのソフトウェアです。GpredictやOrbitronなどがあり、人工衛星の軌道情報(TLEファイル)を読み込んで使用します。
- データ解析・処理ソフトウェア/ライブラリ:
- 受信・録音したデータを解析するためのツールです。音声ファイル(WAV形式など)として保存した場合は、Audacityなどの音声編集ソフトや、Python、MATLABなどのプログラミング環境で処理します。IQデータ(信号の生データ)として保存した場合は、より専門的な信号処理が必要となります。
- Pythonを使用する場合、データ処理にはNumPyやSciPy、データ分析にはPandas、可視化にはMatplotlibなどのライブラリが有用です。
機材とソフトウェアが準備できたら、PCにSDRソフトウェアや衛星追跡ソフトウェアをインストールし、SDR受信機のドライバーを設定します。
ステップ2:受信する人工衛星の選定と追跡
電波を発している人工衛星は多数存在しますが、市民科学として取り組みやすいものとして、以下のようなものがあります。
- 気象衛星 (例: NOAAシリーズ): 可視光・赤外線画像を送信しており、これをデコードすることで画像を取得できます。
- アマチュア衛星: 世界中のアマチュア無線家や学生などが打ち上げた小型衛星で、テレメトリ(衛星の状態データ)や音声通信(SSB, FM)を行っているものがあります。
- ISS (国際宇宙ステーション): 時折、SSTV(低速走査テレビ)による画像送信や音声通信を行うことがあります。
これらの衛星の中から興味のあるものを選定し、衛星追跡ソフトウェアを使って通過予報(いつ、どの方向から来て、どの方向へ去るか)を確認します。通過予報は、衛星の軌道情報ファイル(TLEファイル)をソフトウェアに読み込ませることで更新されます。
ステップ3:人工衛星信号の受信と録音
衛星の通過時刻が近づいたら、SDRソフトウェアと受信機を使って信号を受信します。
- SDRソフトウェアの起動: SDRソフトウェアを起動し、SDR受信機を選択します。
- 周波数と変調方式の設定: 受信したい衛星の周波数と変調方式(FM, SSBなど)を調べ、ソフトウェアに設定します。情報源としては、衛星運用団体のウェブサイトや、AMSAT (Radio Amateur Satellite Corporation) のウェブサイトなどが参考になります。
- アンテナの方向調整: 可能であれば、衛星追跡ソフトウェアで示される方向へアンテナを向けます。QFHアンテナなど、比較的指向性の低いアンテナの場合はそれほど厳密でなくても受信できることがあります。
- 信号の監視と録音: 衛星が通過し始めると、設定した周波数付近に信号が現れます。ソフトウェアのスペクトル表示を見ながら、信号の中心周波数を正確に合わせます。信号が確認できたら、SDRソフトウェアの録音機能を使って、信号をファイル(例: WAV形式の音声ファイル、またはIQデータファイル)として保存します。
ステップ4:受信データの解析と活用
録音したデータを解析することで、様々な情報を引き出すことができます。解析方法は、受信した信号の種類や目的によって異なりますが、ここでは一般的な手順と、気象衛星NOAAのAPT信号を例とした解析について触れます。
受信した音声ファイル(WAV形式など)は、そのままではノイズや他の信号も含まれているため、必要な信号部分を切り出したり、ノイズを除去したりといった前処理が必要になることがあります。Pythonなどのプログラミング言語と信号処理ライブラリを使うと、これらの処理を自動化・効率化できます。
簡単なデータ読み込みの例(Python, scipy.io.wavfile
使用):
from scipy.io import wavfile
import numpy as np
# 受信したWAVファイルを読み込む
try:
sample_rate, data = wavfile.read("recorded_signal.wav")
print(f"Sample Rate: {sample_rate} Hz")
print(f"Data Shape: {data.shape}")
print(f"Data Type: {data.dtype}")
# モノラルかステレオか確認
if len(data.shape) > 1:
print("Signal is stereo. Using left channel data.")
audio_data = data[:, 0] # ステレオの場合は片方のチャンネルを使用
else:
print("Signal is mono.")
audio_data = data
# 信号の長さ(秒)
duration = len(audio_data) / sample_rate
print(f"Duration: {duration:.2f} seconds")
except FileNotFoundError:
print("Error: recorded_signal.wav not found.")
except Exception as e:
print(f"An error occurred: {e}")
# 今後の解析に audio_data を使用
# 例: 簡単な信号強度のプロット
if 'audio_data' in locals():
import matplotlib.pyplot as plt
time = np.arange(0, len(audio_data)) / sample_rate
plt.figure(figsize=(12, 4))
plt.plot(time, audio_data)
plt.xlabel("Time [s]")
plt.ylabel("Amplitude")
plt.title("Received Signal Amplitude Over Time")
plt.show()
気象衛星NOAAのAPT信号解析の例:
NOAA気象衛星はAPT (Automatic Picture Transmission) という方式で画像を送信しています。これは比較的シンプルなアナログ伝送方式で、受信した音声信号をデコードすることで画像に変換できます。
- 受信と録音: SDRソフトウェアでNOAA衛星(例: NOAA-15, -18, -19)のAPT周波数(約137MHz帯)に合わせ、FMモードで受信・録音します。
- デコードソフトウェア: WXtoImgなどの専用ソフトウェアや、Pythonライブラリ(pyaptprocなど)を使用します。録音した音声ファイルをこれらのソフトウェアに読み込ませることで、自動的にデコードされ、気象衛星画像が生成されます。
- 画像の活用: 生成された画像を観察し、雲のパターンや地形などを確認できます。これを他の情報源(気象庁のデータなど)と比較したり、長期的に収集して気候変動の傾向を追跡したりといった活動が考えられます。
この他にも、人工衛星のテレメトリ信号を解析して衛星の状態を把握したり、特定の科学プロジェクトに貢献するためのデータを抽出したりといった、様々な解析の可能性があります。
ステップ5:市民科学プロジェクトへの貢献
受信・解析したデータを市民科学プロジェクトに貢献する方法はいくつかあります。
- データ提供プラットフォーム: 特定のプロジェクトが運営するウェブサイトやプラットフォームを通じて、解析済みのデータや生データをアップロードします。プロジェクトの指示に従って、定められた形式で提出することが重要です。
- コミュニティでの共有: 電波天文や市民科学に関するオンラインコミュニティ(フォーラム、メーリングリスト、SNSグループなど)で、受信結果や解析手法を共有します。他の参加者と情報交換することで、新たな知見を得たり、共同でプロジェクトを進めたりできます。
- ソフトウェア開発への貢献: 受信や解析に使用するオープンソースソフトウェアの改善や、新しい解析ツールの開発に協力することも、大きな貢献となります。プログラミングスキルを直接活かすことができる分野です。
プロジェクトによっては、特定の衛星の追跡観測ネットワークへの参加を呼びかけている場合もあります。このようなネットワークに参加することで、より組織的な観測活動の一員となることができます。
まとめと次のステップ
本記事では、自宅で始める電波市民科学として、人工衛星信号の受信とデータ解析の基本的な手順を解説しました。SDR受信機とアンテナ、PCがあれば、気象衛星画像を取得したり、アマチュア衛星の信号を捉えたりといった活動が可能になります。
電波市民科学は、目で見る光とは異なる視点から宇宙を捉えることができる魅力的な分野です。ご自身のPCスキル、データ分析スキル、あるいは無線の知識などを活かして、ぜひ一歩を踏み出してみてください。
この活動をさらに深めるための次のステップとして、以下のような取り組みが考えられます。
- 他の種類の人工衛星信号に挑戦する: GPS衛星からの信号を利用した電波掩蔽観測(大気の湿度などを測定)や、特定の科学衛星からの公開データの受信など、様々な可能性があります。
- 他の電波源に挑戦する: 自然電波(木星の電波バースト、太陽電波、VLFなど)の受信や、電波望遠鏡を使った観測(材料があればですが)など、より広範な電波天文学へ活動を広げることができます。
- より高度なデータ解析手法を学ぶ: 信号処理の理論を深めたり、機械学習を応用して自動的に信号を識別・分類したりといった高度な解析に挑戦します。
- 観測システムの自動化: 衛星追跡ソフトウェアとSDRソフトウェアを連携させ、自動的に衛星を追跡・録音するシステムを構築することで、効率的にデータを収集できます。
- 市民科学コミュニティに積極的に参加する: オンラインフォーラムやイベントを通じて、他の市民科学者と交流し、知識や経験を共有します。共同での観測計画や解析プロジェクトに参加することも可能です。
自宅からの電波受信活動を通じて得られたデータは、専門の研究者にとって貴重な情報となる可能性があります。ご自身のスキルと好奇心を活かして、宇宙の電波の探査に貢献されてはいかがでしょうか。
技術的な補足:IQデータについて
SDR受信機は、電波信号をデジタル化した際に「IQデータ」という形式で出力することがあります。これは、信号の振幅と位相情報を同時に記録したデータで、より詳細な信号解析(例えば、変調方式の解析や高度なフィルタリングなど)を行う際に有用です。音声ファイル(WAV形式など)は、このIQデータから特定の変調方式に基づいて復調された後のデータですが、IQデータそのものを扱うことで、より柔軟な信号処理が可能となります。多くのSDRソフトウェアはIQデータの録音機能を備えています。