主要内容

comm.SDRTxPluto

将数据传送至模拟设备ADALM-PLUTO广播

描述

comm.SDRTxPluto系统对象™是一个信号源,传输数据到模拟设备®ADALM-PLUTO收音机。这种连接使您能够模拟和开发各种软件定义的无线电应用程序。

下图显示了MATLAB之间的交互®,comm.SDRTxPluto系统对象,以及无线电硬件。

为了在空中传输无线电信号,将MATLAB中生成的信号传递给PlutoSDR发射器系统对象。发射机系统对象将信号转发到无线电硬件。要通过空气接收无线电信号,请使用PlutoSDR接收器系统对象。接收机系统对象将从无线电硬件接收到的信号转发到MATLAB中进行后处理。

将PlutoSDR设备连接到主机上的USB端口后,将数据传输到无线电硬件:

  1. 创建comm.SDRTxPluto对象并设置其属性。

  2. 调用带有参数的对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

通道输入

ADALM-PLUTO无线电有一个用于从comm.SDRTxPluto系统对象。SDR系统对象接受一个固定长度的列向量信号。

comm.SDRTxPluto如果在模拟过程中调用系统对象,则有可能主机没有向无线电硬件发送有效数据。要确定何时存在有效数据,请使用下溢输出参数。

创建

描述

txPluto= sdrtx(“冥王星”)创建一个带有默认属性的PlutoSDR发射器系统对象,您可以使用这些属性从PlutoSDR设备接收数据。

例子

txPluto= sdrtx(“冥王星”,名称,值创建具有指定属性的PlutoSDR发射器对象的名字设置为指定的价值.您可以以任意顺序指定附加的名称-值对参数(Name1, Value1,…,的家).未指定的属性采用默认值。

例子:tx = sdrtx('Pluto','CenterFrequency',3.5e9,'BasebandSampleRate',2.0e6);

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放函数解锁它们。

如果属性是可调,您可以随时更改其值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象设计系统

主要特性

无线电识别号,指定为下列字符向量之一:

  • (推荐)与设备无关的索引,带前缀usb接口:,例如“usb: 0”“usb: 1”“usb: 2”,表示第一,第二,第三,…,分别附上ADALM-PLUTO无线电

  • IP地址,带前缀知识产权:,例如“ip: 192.168.2.1”

  • 用带前缀的十六进制字符串表示的序列号sn:,例如“sn: 100000235523730700230031090216 eaeb”

请注意

当使用多个无线电时,如果插入或删除设备,USB地址的主机分配可能会改变。任何时候,从USB端口插入或删除一个SDR设备,主机轮询所有USB端口并分配或重新分配与连接的设备相关联的无线电地址。

多个无线电的USB地址分配

在Windows上操作时®记住这些注意事项。

  • 当在不同的MATLAB会话中在同一主机上运行多个无线电时,为每个MATLAB会话分配第一个无线电usb: 0,后续无线电的ID号加1。

  • 一个MATLAB正在使用的无线电不会被其他MATLAB会话看到。使用findPlutoRadio并检查报告的序列号,以识别在特定的MATLAB会话中看到的无线电。

为确保所有分配的无线电标识保持静态,在创建SDR对象后不要连接或断开无线电。最佳实践是按以下顺序连接无线电并创建SDR对象:

  1. 清除所有SDR对象。

  2. 连接所有无线电。

  3. 运行以下命令,检查是否可以识别连接的无线电:

    findPlutoRadio

  4. 创建SDR对象。

要与无线电硬件接口,则RadioID属性必须与无线电硬件的无线电ID匹配。更新RadioID如有必要,请提供财产。

当在同一个主机上运行多个无线电时,主机为每个无线电分配不同的无线电ID。当通过USB ID识别无线电时,分配第一个无线电usb: 0,后续无线电的ID号加1。例如,要为同一主机上连接的两个无线电分配id,在MATLAB命令提示符下,输入:

rx = sdrrx('Pluto','RadioID','usb:0');tx = sdrtx('Pluto','RadioID','usb:1');

以Hz为单位设置的射频中心频率,指定为标量70.0 e66.0 e9

请注意

模拟设备限定冥王星无线电超过325兆赫到3.8兆赫的调谐范围。这个支持包使您能够在合格的调谐范围之外使用PLUTO收音机,方法是配置收音机使用AD9364固件操作。要扩展频率范围,在MATLAB命令提示符处,输入configurePlutoRadio“AD9364”).

可调:是的

数据类型:

增益,指定为标量-89.750分辨率为0.25dB。

可调:是的

数据类型:

此属性是只读的。

通道映射总是设置为1

基带采样率(以Hz为单位),指定为标量6510561.44 e6每秒采样。

请注意

实际计算值与指定的设置可能有一点不匹配。若要确认实际计算值与指定设置足够接近,请调用信息对象函数在无线电对象上。

数据类型:

推进特性

选项显示高级属性,指定为真正的

数据类型:逻辑

使用自定义筛选器,指定为以下值之一。

  • —过滤器链采用默认的过滤器设计。

  • 真正的-过滤器链使用自定义过滤器设计。要设计自定义过滤器,请调用designCustomFilter(Xilinx zynq无线电通信工具箱支持包)函数。

请注意

对象应用自定义筛选器时comm.SDRTxPluto系统对象,则UseCustomFilter属性自动设置为真正的.若要在默认和自定义筛选器之间切换,请设置UseCustomFilter财产真正的,分别。

有关更多信息,请参见基带采样率和滤波器链

数据类型:逻辑

频率校正值,以ppm为单位,指定为标量-200年200.此属性值纠正由于本振频率偏移或时钟速率不准确而导致的数据频率偏移。

请注意

  • FrequencyCorrection设置是0,将使用出厂校准的无线电设置。

  • FrequencyCorrection属性更改实际的无线电设置BasebandSampleRate而且CenterFrequency

可调:是的

依赖关系

要查看此属性,请使用setShowAdvancedProperties真正的

数据类型:

选择数据源,指定为输入端口的DDS的

选择直接数字合成时(DDS的)作为数据源,该对象为每个通道启用两个附加音调。要设置这些音调的音调频率和音阶,请使用DDSTone1FreqDDSTone2FreqDDSTone1Scale,DDSTone2Scale属性。DDS信号在FPGA上产生。

依赖关系

若要启用此属性,请设置ShowAdvancedProperties真正的

数据类型:字符|字符串

第一个以Hz为单位的DDS音调频率,指定为以下选项之一:

  • 数值标量——对于单个通道使用此选项,或者为两个通道指定相同的频率。对象对指定的每个通道应用标量展开ChannelMapping财产。

  • 1 × 2数字向量——使用此选项为两个通道指定不同的频率。的N向量的第Th元素被应用到N指定的通道ChannelMapping财产。

的有效范围DDSTone1Freq从0到BasebandSampleRate除以2。

依赖关系

若要启用此属性,请设置DataSourceSelectDDS的

数据类型:

第二DDS音频率(以Hz为单位),指定为以下选项之一:

  • 数值标量——对于单个通道使用此选项,或者为两个通道指定相同的频率。对象对指定的每个通道应用标量展开ChannelMapping财产。

  • 1 × 2数字向量——使用此选项为两个通道指定不同的频率。的N向量的第Th元素被应用到N指定的通道ChannelMapping财产。

的有效范围DDSTone2Freq为0赫兹BasebandSampleRate除以2。

依赖关系

若要启用此属性,请设置DataSourceSelectDDS的

数据类型:

第一个全音阶百万分之一的DDS音阶,指定为以下选项之一:

  • 数值标量——对于单个通道使用此选项,或者为两个通道指定相同的比例。对象对指定的每个通道应用标量展开ChannelMapping财产。

  • 1 × 2数字向量——使用此选项为两个通道指定不同的比例。的N向量的第Th元素被应用到N指定的通道ChannelMapping财产。

的有效范围DDSTone1Scale从0到1。

依赖关系

若要启用此属性,请设置DataSourceSelectDDS的

数据类型:

以全音阶的百万分之一为单位的第二DDS音阶,指定为以下选项之一:

  • 数值标量——对于单个通道使用此选项,或者为两个通道指定相同的比例。对象对指定的每个通道应用标量展开ChannelMapping财产。

  • 1 × 2数字向量——使用此选项为两个通道指定不同的比例。的N向量的第Th元素被应用到N指定的通道ChannelMapping财产。

的有效范围DDSTone2Scale从0到1。

依赖关系

若要启用此属性,请设置DataSourceSelectDDS的

数据类型:

内置自检环回模式,指定为以下选项之一:

  • “禁用”—关闭BIST环回功能。

  • '数字Tx ->数字Rx'-使数字信号在AD936x设备内循环返回。信号绕过射频级。

  • 'RF Rx -> RF Tx'—使接收射频信号回环至射频发射器端口。信号绕过FPGA。

依赖关系

若要启用此属性,请设置ShowAdvancedProperties真正的

数据类型:字符|字符串

BIST信号注入模式,指定为以下选项之一:

  • “禁用”—关闭BIST信号注入功能。

  • “音调注入Tx”—开启BIST信号注入传输路径。

  • “音调注入Rx”—使能BIST信号注入接收路径。

使能BIST信号注入后,可通过设置BIST信号产生源BISTSignalGen财产。

依赖关系

若要启用此属性,请设置ShowAdvancedProperties真正的

数据类型:字符|字符串

BIST信号产生源,指定为以下选项之一:

  • “伪随机位序列”—使用单板的PRBS (pseudo random binary sequence)发生器。

  • “语气”—使用单板的发音器。若要设置音调频率和音调级别,请使用BISTToneFreq而且BISTToneLevel属性,分别。

依赖关系

若要启用此属性,请设置BISTToneInject“音调注入Tx”“音调注入Rx”

数据类型:字符|字符串

BIST音的频率,指定为Fs / 32的“Fs / 16”“Fs * 3/32”,或“Fs / 8”

依赖关系

若要启用此属性,请设置BISTSignalGen“语气”

数据类型:字符|字符串

dB中的BIST音调级别,指定为' 0 '“6”“-12”,或“-18”

依赖关系

若要启用此属性,请设置BISTSignalGen“语气”

数据类型:字符|字符串

使用

描述

txPluto (数据传输来自PlutoSDR设备的信号数据,表示为comm.SDRTxPluto系统对象。

例子

下溢= txPluto (数据将丢失的样本指示器输出分配给下溢

请注意

第一次调用该对象将初始化无线电。由于此初始化可能导致下溢,请忽略下溢第一次调用的输出值。

输入参数

全部展开

传输数据,指定为包含偶数个元素的列向量,从2到16,777,216。传输数据一定很复杂。这是由于当输入传输信号为实值时,无线电硬件IQ不平衡校正可能破坏输入信号而强制执行的。有关更多信息,请参见正交跟踪

以下数据类型对传输数据有效:

  • -双精度浮点,其值扩展到[- 1,1]的范围。

  • -单精度浮点数,其取值范围为[- 1,1]。

  • int16—16位有符号整数。取值范围是[-32768,32767],但是通过ADALM-PLUTO无线电传输的数据丢失了4个lsdb的精度。

请注意

AD936X射频芯片有一个12位DAC。只使用传输数据的12个最有效位。小于0.0625的值将丢失。

数据类型:||int16
复数支持:是的

输出参数

全部展开

丢失的样本指示器,作为逻辑返回。

  • 一个0指示没有丢失样本。

  • 一个1指示样品丢失。

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放名为obj,使用以下语法:

发行版(obj)

全部展开

信息 获取无线电信息
designCustomFilter 设计自定义过滤器模拟设备AD936x射频芯片
transmitRepeat 把波形下载到无线电上,反复地在空中传送
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 的内部状态重置系统对象

例子

创建发射机系统对象

配置ADALM-PLUTO无线电RadioID设置为usb: 0.传输频率为2.4 GHz,基带速率为1 MHz。使用DPSK调制器作为数据源。

txPluto = sdrtx(“冥王星”“RadioID”“usb: 0”“CenterFrequency”2.4 e9,...“BasebandSampleRate”1 e6,“ChannelMapping”1);modObj = comm.DPSKModulator(“BitInput”,真正的);Counter = 1:20 data = randi([0 1],30,1);modSignal = modObj(data);txPluto (modSignal);结束

用一台ADALM-PLUTO收音机进行频率校正

当使用一个ADALM-PLUTO无线电发射和接收时,各个发射器和接收器对象使用相同的底层无线电硬件设置进行频率校正。

Rx = sdrrx(“冥王星”);Tx = sdrtx(“冥王星”);rx。ShowAdvancedProperties = true;tx.ShowAdvancedProperties = true;%使用FrequencyCorrection的默认值0接收和传输数据的%。数据= rx();1) tx (0 (1024);%这使用1作为接收和传输数据的FrequencyCorrection。rx。FrequencyCorrection = 1;数据= rx();1) tx (0 (1024);%这使用2作为传输和接收数据的FrequencyCorrection。tx.FrequencyCorrection = 2;1) tx (0 (1024);数据= rx();

最后一次更新无线电硬件频率校正设置由发射机对象进行,无线电使用由所设置的值更新的设置tx.FrequencyCorrection下次执行接收器对象时。

获取冥王星无线电信息

使用信息对象函数从连接的PlutoSDR获取信息。无线电中使用的实际值显示为信息和可以与对象中指定的值稍有不同。

Tx = sdrtx(“冥王星”);信息(tx)
显示所有属性ans = struct with fields: Status: 'Full information' CenterFrequency: 2.4000e+09 BasebandSampleRate: 999999 SerialNum: '104473222a870010050020009db5d52277'增益:-10 RadioFirmwareVersion: "0.26" ExpectedFirmwareVersion: "0.26" HardwareVersion: "B0"

版本历史

在R2017a中介绍

Baidu
map