本文へ移動

GNU Radio

GLOSSARY

GNU Radioは、オシロスコープをSDRとして活用するための「真の本命」と言えるソフトウェアです。Pythonをベースにしたオープンソースのフレームワークで、信号処理のブロック(フィルター、復調器、FFTなど)をGUI上でつなぎ合わせるだけで、高度な無線システムを構築できます。


GNU Radio × オシロスコープの仕組み

通常、GNU RadioはRTL-SDRなどの専用ハードウェアからデータを受け取りますが、オシロスコープを使う場合は「ネットワーク(TCP/UDP)」を介してデータを流し込みます。

構成イメージ

  1. Pythonスクリプト: オシロスコープから高速にデータを読み出し、特定のポート(例: localhost:12345)へUDP/TCPでストリーミングします。

  2. GNU Radio (UDP Source): そのポートを監視し、流れてきた生データをリアルタイムで受信します。

  3. DSP(信号処理): 受信したデータを「複号・フィルタリング・AM/FM復調」などのブロックに通します。


おすすめのフローグラフ(処理手順)

GNU Radio Companion (GRC) を起動し、以下の順でブロックを配置するのが一般的です。

ブロック名

役割

UDP Source

オシロからの生データ(Int8やFloat)を受け取る

Throttle

CPUの暴走を防ぐため、サンプリングレートを制限する

Type Converter

オシロの整数データを、計算用の複素数(Complex)に変換

Low Pass Filter

必要な無線帯域だけを取り出し、ノイズをカット

Demodulator

AM、FM、あるいはデジタル変調(PSKなど)を復調

Audio Sink

最終的な音声をスピーカーから出力


Pythonでの「橋渡し」の例

オシロスコープのデータをGNU Radioに送るための、Python側の最もシンプルなソケット送信コードです。

import socket
import numpy as np

# UDP設定
UDP_IP = "127.0.0.1"
UDP_PORT = 12345
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# オシロからデータを取得し、ループで送信
while True:
    # 実際にはここでPyVISA等を使ってデータを取得
    # raw_data = scope.read_raw() 
    
    # 仮のデータ生成
    data = np.random.bytes(1024) 
    
    # GNU Radioへ送信
    sock.sendto(data, (UDP_IP, UDP_PORT))

注意点:サンプリングレートの一致

GNU Radioで正しく復調するには、オシロスコープのサンプリングレート(Sample Rate)と、GNU Radio側のサンプルレート設定を完全に一致させる必要があります。ここがズレると、声のピッチが変わったり、通信がデコードできなくなります。

下記資料では「オシロスコープでSDR!AM/FMラジオ受信に挑戦」」について詳しく解説されています。

トランジスタ技術

2025年12月号

https://toragi.cqpub.co.jp/magazine/202512/

PR:

110GHz複素誘電率測定システム – FPOR製品(ネクステム株式会社)と協調してソリューション提供

弊社とネクステム株式会社は、協調して110GHz複素誘電率測定システム(FPOR:FABRY-PEROT OPEN RESONATOR)を提供いたします。 FPORお問い合せ先: ネクステム株式会社 ホームページhttp://www.nextem.co.jp/ Email: info@nextem.co.jp 電話:06-6977-7027 システムカタログ ダウンロード ネクス[…]

https://tm-co.co.jp/nextem_fpor/

  • 10MHz~110GHz誘電率測定セミナ・デモ風景

  • QWED社:FPOR:FABRY-PEROT OPEN RESONATOR

Dielectric constant:Dk = 1 – 15 (accuracy ± 0.2 %)

Loss tangent:Df > 5 × 10–6 (accuracy ± 2 %)

  • Ceyear社:3674P 10MHz~110GHz VNA ¥47,620,000.~

1.0mmコネクタケーブルによる直接接続(VNAにエクステンダ不要)

PR:

・USB VNA

SDS8000Aシリーズ オシロスコープ

特長と利点
4チャンネル + 外部トリガーチャンネル
アナログチャンネル帯域幅:最大16GHz(8/13/16GHz)
リアルタイムサンプリングレート:最大40GSa/s(全チャンネル同時)
12ビットADC
低ノイズフロア:16GHz帯域幅で176μVrms
SPOテクノロジー
・ 波形キャプチャレート:最大200,000フレーム/秒
・ 256段階の波形輝度と色温度表示をサポート
・ 最大2Gポイント/チャンネルのストレージ容量
・ デジタルトリガー

SSG6M80Aシリーズ
マルチチャネル・コヒーレント・マイクロ波信号発生器
主な特長
・最大周波数 13.6 GHz/20 GHz
・出力周波数分解能 最大0.001 Hz
・位相ノイズ < -136 dBc/Hz @ 1 GHz、オフセット 10 kHz(測定値)
・コヒーレントモード、搬送周波数 = 10 GHz、周囲温度変動 ±2℃、観測時間 5時間、位相変動 < 1.5°
・チャンネル間の周波数、振幅、位相を個別に調整可能。単一デバイスチャンネル同期および複数デバイスチャンネル位相同期をサポート。位相メモリ機能搭載
・アナログ変調、パルス変調(オプション)

SSA6000A Series Signal Analyzer

Main Features
・Measurement Frequency Range: 2 Hz ~ 50 GHz
・IQ Analysis Bandwidth: 1.2 GHz
・Real-time Spectrum Analysis Bandwidth: 400 MHz
・Phase Noise: -123 dBc/Hz @ 1 GHz, 10 kHz offset
・DANL: Less than -165 dBm/Hz
・Demodulation and analysis of signals from multiple mobile communication standards including 5G NR, LTE/LTE-A, WLAN, and IoT, as well as wireless connections.

SNA6000A Series Vector Network Analyzer

Key Features
・Frequency Range: 100 kHz ~ 50 GHz
・Dynamic Range: 135 dB
・IF Bandwidth Range: 1 Hz ~ 10 MHz
・Output Power Setting Range: -60 dBm ~ +20 dBm
・Supports 4-port (2-source) S-parameter measurements, differential (balanced) measurements, time-domain analysis, scalar mixer measurements, etc.
・Optional accessories include electronic calibration kits, switch matrix, and mechanical switches.

お礼、

T&Mコーポレーションは設立5年ですが、おかげさまで業績を着実に伸ばしており、
オフィスを港区芝(最寄り駅浜松町)に移転し、スペースも拡大いたしました。
欧米計測器メーカーが値上げをする中、(110GHz VNAでは1億円超え)
弊社では若干の値下げをさせていただき、Ceyear社110GHz VNAは5000万円以下です。
高額な設備投資を伴う製品開発では、市場投入までの時間(Time to Market)の短縮、「スピード感」が求められます。
電子計測器業界の「ゲームチェンジャー」として、高性能/高信頼/低価格/短納期を武器に
T&Mコーポレーションはお客様のご予算を最大限生かす製品群をご提案させていただいております。

CONTACT

この記事に関するご相談・お問い合わせ

会員登録不要。原則1営業日以内にご返信します(土日祝・年末年始を除く)。

今すぐ電話する0120-620-115通話無料平日 9:00〜18:00