
(因为官方文档不好,我自己整理一下,写程序时候可以用)
本文档整理了 adi.Pluto 类的主要属性和方法。基于 pyadi-iio 库。
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")
这些设置通常同时影响接收 (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 |
配置接收链路的射频参数和数据采集。
属性名 | 类型 | 说明 | 示例值 |
|---|---|---|---|
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' |
属性名 | 类型 | 说明 | 示例值 |
|---|---|---|---|
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() |
配置发送链路的射频参数和信号发射。
属性名 | 类型 | 说明 | 示例值 |
|---|---|---|---|
tx_lo | int | 发送本振频率 (Hz)。通常与 RX 独立,但共用参考时钟。 | 2400000000 |
tx_rf_bandwidth | int | 发送射频带宽 (Hz)。 | 2000000 |
tx_hardwaregain_chan0 | int | 发送通道 0 的衰减/增益 (dB)。注意:Pluto 上通常是衰减值 (0 到 -89 dB)。0 为最大输出。 | -10 |
属性名 | 类型 | 说明 | 示例值 |
|---|---|---|---|
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() |
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', ...] |
属性名 | 类型 | 说明 |
|---|---|---|
ctx | Object | 底层 iio.Context 对象,可用于更高级的 libiio 操作。 |
filter | str | 用于加载自定义滤波器文件路径。 |