首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PlutoSDR Python API 参考(pyadi-iio:YUNSJ整理版)

PlutoSDR Python API 参考(pyadi-iio:YUNSJ整理版)

作者头像
云深无际
发布2026-01-27 15:28:44
发布2026-01-27 15:28:44
1360
举报
文章被收录于专栏:云深之无迹云深之无迹

(因为官方文档不好,我自己整理一下,写程序时候可以用)

本文档整理了 adi.Pluto 类的主要属性和方法。基于 pyadi-iio 库。

1. 初始化与连接 (Initialization)

代码语言:javascript
复制
import adi

# 连接本地 Pluto (USB 默认 IP)
sdr = adi.Pluto("ip:192.168.2.1")

# 连接远程或指定 URI
# sdr = adi.Pluto("ip:192.168.1.10")
# sdr = adi.Pluto("usb:1.2.5")

2. 全局配置 (Global Configuration)

这些设置通常同时影响接收 (RX) 和发送 (TX) 链路。

属性名

类型

说明

示例值

uri

str

设备连接 URI

"ip:192.168.2.1"

sample_rate

int

基带采样率 (Hz)。同时应用于 RX 和 TX。

2500000 (2.5 MSPS)

loopback

int

数字回环模式。0=禁用, 1=启用 (TX数据直接回传给RX)。

0

3. 接收通道 (Receive - RX)

配置接收链路的射频参数和数据采集。

射频参数 (RF Parameters)

属性名

类型

说明

示例值

rx_lo

int

接收本振频率 (Local Oscillator),即中心频率 (Hz)。范围: 70MHz - 6GHz

2400000000 (2.4 GHz)

rx_rf_bandwidth

int

接收模拟/数字滤波器带宽 (Hz)。通常设为采样率的 80%-100%。

2000000

rx_hardwaregain_chan0

int

接收通道 0 的增益 (dB)。仅在 manual 模式下生效。范围: 0 - 73 dB

20

gain_control_mode_chan0

str

增益控制模式。可选: 'manual', 'slow_attack', 'fast_attack', 'hybrid'。

'manual'

缓冲区与数据采集 (Buffer & Data)

属性名

类型

说明

示例值

rx_buffer_size

int

接收缓冲区大小(采样点数)。决定 rx() 返回数组的长度。

32768 (2^15)

rx_enabled_channels

list

启用的接收通道列表。

[0]

rx()

Method

方法。从硬件缓冲区读取数据。返回 complex64 numpy 数组。

iq = sdr.rx()

rx_destroy_buffer()

Method

方法。清除/销毁当前的 RX 缓冲区对象。

sdr.rx_destroy_buffer()

4. 发送通道 (Transmit - TX)

配置发送链路的射频参数和信号发射。

射频参数 (RF Parameters)

属性名

类型

说明

示例值

tx_lo

int

发送本振频率 (Hz)。通常与 RX 独立,但共用参考时钟。

2400000000

tx_rf_bandwidth

int

发送射频带宽 (Hz)。

2000000

tx_hardwaregain_chan0

int

发送通道 0 的衰减/增益 (dB)。注意:Pluto 上通常是衰减值 (0 到 -89 dB)。0 为最大输出。

-10

缓冲区与数据发送 (Buffer & Data)

属性名

类型

说明

示例值

tx_cyclic_buffer

bool

循环发送模式。True: 写入一次 buffer 后重复发送;False: 发送一次后停止(需要连续调用 tx())。

True

tx(data)

Method

方法。发送数据到硬件。data 应为 complex64 numpy 数组。

sdr.tx(samples)

tx_destroy_buffer()

Method

方法。清除/销毁当前的 TX 缓冲区对象。

sdr.tx_destroy_buffer()

5. DDS (直接数字频率合成)

Pluto 内置 FPGA 逻辑,可以生成简单的单音或双音信号用于测试,无需从 PC 传输 IQ 数据。

属性名

类型

说明

示例值

dds_single_tone(freq, scale)

Method

在所有 TX 通道生成单音信号。freq (Hz), scale (0.0-1.0 幅度)。

sdr.dds_single_tone(10000, 0.5)

dds_dual_tone(f1, s1, f2, s2)

Method

生成双音信号。

sdr.dds_dual_tone(10k, 0.5, 20k, 0.5)

dds_enabled

list

启用/禁用各个 DDS 通道。

[1, 1, 1, 1]

dds_scales

list

各个 DDS 通道的幅度缩放因子。

['0.5', '0.0', ...]

dds_frequencies

list

各个 DDS 通道的频率 (Hz)。

['10000', '10000', ...]

6. 其他常用属性 (Misc)

属性名

类型

说明

ctx

Object

底层 iio.Context 对象,可用于更高级的 libiio 操作。

filter

str

用于加载自定义滤波器文件路径。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 初始化与连接 (Initialization)
  • 2. 全局配置 (Global Configuration)
  • 3. 接收通道 (Receive - RX)
    • 射频参数 (RF Parameters)
    • 缓冲区与数据采集 (Buffer & Data)
  • 4. 发送通道 (Transmit - TX)
    • 射频参数 (RF Parameters)
    • 缓冲区与数据发送 (Buffer & Data)
  • 5. DDS (直接数字频率合成)
  • 6. 其他常用属性 (Misc)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档