主要内容

comm.SDRRxPluto

接收的数据模拟设备ADALM-PLUTO广播

描述

comm.SDRRxPluto系统对象™是一个信号源接收数据从一个模拟设备®ADALM-PLUTO收音机。这个连接可以模拟和开发各种软件定义无线电应用程序。

下面的图显示了MATLAB之间的交互®,comm.SDRRxPluto硬件系统对象和收音机。

后PlutoSDR设备连接到一个USB端口主机,接收数据的无线硬件:

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

  2. 就好像它是一个函数调用对象。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

通道输出

ADALM-PLUTO电台有一个单通道接收数据和发送它comm.SDRRxPluto系统对象。特别提款权系统对象输出一个列向量固定长度的信号。

第一个调用comm.SDRRxPluto系统对象可能包含瞬态值,这会导致数据包包含未定义的数据。

创建

描述

rxPluto= sdrrx(“冥王星”)创建一个PlutoSDR接收机系统对象的默认属性,您可以使用从PlutoSDR设备接收数据。

例子

rxPluto= sdrrx(“冥王星”,名称,值)创建一个PlutoSDR接收器对象与指定的属性的名字设置为指定的价值。您可以指定额外的名称-值对参数在任何顺序(Name1, Value1,…,的家)。未指定的属性的默认值。

例子:rx = sdrrx(“冥王星”、“CenterFrequency”, 3.5 e9 BasebandSampleRate, 2.0 e6);

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

无线电识别号,指定为一个特征向量:

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

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

  • 一个序列号,由十六进制字符串的前缀sn:,如“sn: 100000235523730700230031090216 eaeb”

请注意

在处理多个收音机时,如果设备被插入或删除时,USB主机分配的地址可能会改变。任何时候一个特别提款权装置插入或删除从一个USB接口,主机电脑调查所有USB接口和分配或重新分配广播地址连接设备。

USB地址分配多个无线电

当Windows上的操作®记住这些注意事项。

  • 当在同一个主机上运行多个无线电在单独的MATLAB会话,每个会话MATLAB第一无线电分配usb: 0,后续的ID号增加一个收音机。

  • 收音机正被一个MATLAB不被其他MATLAB会话。使用findPlutoRadio并检查序列号识别收音机报道出现在一个特定的MATLAB会话。

确保所有分配无线身份保持不变,不连接或断开后收音机特别提款权对象创建。最佳实践是连接收音机和创建特别提款权对象在这个顺序:

  1. 清除所有特别提款权对象。

  2. 连接所有收音机。

  3. 检查确认连接收音机被运行这条命令:

    findPlutoRadio

  4. 创建特别提款权对象。

与无线电接口硬件,RadioID广播对象的属性必须匹配硬件广播电台的ID。更新RadioID财产,如果必要的。

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

rx = sdrrx(“冥王星”、“RadioID”,“usb: 0”);tx = sdrtx(“冥王星”、“RadioID”, usb: 1);

射频在赫兹中心频率设置,指定为一个标量70.0 e66.0 e9

请注意

模拟设备合格冥王星广播的调谐范围325 MHz到3.8 GHz。这种支持方金宝app案使您能够使用合格的调谐范围外的冥王星电台通过配置操作收音机使用AD9364固件。扩展频率范围,在MATLAB命令提示符,输入configurePlutoRadio(“AD9364”)。

可调:是的

数据类型:

这个属性是只读的。

总是设置通道映射1

获得来源,指定为以下之一:

  • “AGC缓慢的攻击”——对缓慢变化的信号功率水平

  • “AGC快速攻击”——与快速变化的信号功率水平

  • “手动”——手动设置获得的获得财产

无线电接收机增益在dB,指定为一个标量471年

请注意

可接受的最小和最大增益设置取决于中心频率。一个不兼容的获得和中心频率组合返回一个错误。

可调:是的

依赖关系

要启用这个特性,设置GainSource“手动”

数据类型:

在赫兹基带采样率,指定为一个标量65105年61.44 e6样品每秒。

请注意

实际的计算值和指定的设置可以有一个小的不匹配。确认实际计算值是接近你的设置,指定调用信息收音机里的目标函数对象。

数据类型:

输出信号数据类型,指定为以下之一:

  • int16- 16位有符号整数

  • ——双精度浮点

  • ——单精度浮点

样品每帧的数量,指定为正整数从2到16777216年。使用值小于3660可以收益率表现不佳。

选择破裂模式,指定为真正的。当设置为真正的,这个属性产生一组连续的样本没有溢出。这个设置可以帮助无法实时运行的模拟模型。当你启用破裂模式,指定使用属性的连续的数据量。如何使用这个属性的更多信息,参见突发模态

数据类型:逻辑

在相邻的帧数破灭,指定为一个严格的正整数。

依赖关系

要启用这个特性,设置EnableBurstMode真正的

数据类型:

高级属性

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

使用自定义过滤器,指定这些值。

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

  • 真正的过滤器链——使用一个自定义过滤器的设计。设计一个自定义的过滤器,调用designCustomFilter(Xilinx Zynq-Based无线电通信工金宝app具箱支持包)函数。

请注意

当应用一个定制的过滤器comm.SDRRxPluto系统对象,UseCustomFilter属性自动设置真正的。之间切换默认和定制过滤器、集UseCustomFilter财产真正的,分别。

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

数据类型:逻辑

交回调,指定为真正的。当这个属性真正的对象应用同步和正交(智商)不平衡补偿。有关更多信息,请参见正交跟踪

依赖关系

查看该属性集ShowAdvancedProperties真正的

射频直流电(DC)修正,指定为真正的。当财产真正的,对象实行射频直流阻塞过滤器。有关更多信息,请参见直流偏置跟踪

依赖关系

查看该属性集ShowAdvancedProperties真正的

基带直流校正,指定为真正的。当财产真正的,对象适用于基带DC阻塞过滤器。有关更多信息,请参见直流偏置跟踪

依赖关系

查看该属性集ShowAdvancedProperties真正的

频率校正在ppm值,指定为一个标量-200年200年。这个属性值修正频率变化数据由于本地振荡器频率偏移或时钟频率不准确。

请注意

  • FrequencyCorrection设置是0,factory-calibrated广播的设置将被使用。

  • FrequencyCorrection属性更改实际的无线设置BasebandSampleRateCenterFrequency

可调:是的

依赖关系

查看该属性集ShowAdvancedProperties真正的

数据类型:

内建自测环回模式,指定为这些选项之一:

  • “禁用”——禁用阿拉伯学者回环。

  • “数字Tx - >数字Rx”——使数字信号在AD936x回环设备。旁路射频信号阶段。

  • “RF射频Tx Rx - >”——允许传入接收机射频发射机射频信号循环回港。绕过FPGA的信号。

依赖关系

要启用这个特性,设置ShowAdvancedProperties真正的

数据类型:字符|字符串

阿拉伯学者信号注入模式,指定为这些选项之一:

  • “禁用”——禁用BIST信号注入。

  • “基调注入Tx”——允许阿拉伯学者信号注入传输路径。

  • “基调注入Rx”——允许阿拉伯学者信号注入接收路径。

使阿拉伯学者信号注入时,您可以设置的阿拉伯学者信号生成的来源BISTSignalGen财产。

依赖关系

要启用这个特性,设置ShowAdvancedProperties真正的

数据类型:字符|字符串

阿拉伯学者信号生成的来源,指定为这些选项之一:

  • “伪随机位序列”——使用伪随机二进制序列(PRBS)董事会的发电机。

  • “语气”——使用音频发生器。定下了基调频率和基调,使用BISTToneFreqBISTToneLevel属性,分别。

依赖关系

要启用这个特性,设置BISTToneInject“基调注入Tx”“基调注入Rx”

数据类型:字符|字符串

阿拉伯学者单音频率,指定为Fs / 32的,“Fs / 16”,“Fs * 3/32”,或“Fs / 8”

依赖关系

要启用这个特性,设置BISTSignalGen“语气”

数据类型:字符|字符串

阿拉伯学者语气水平dB,指定为' 0 ',“6”,“-12”,或“-18”

依赖关系

要启用这个特性,设置BISTSignalGen“语气”

数据类型:字符|字符串

使用

描述

rxdata= rxPluto ()从PlutoSDR设备接收信号和控制数据,表示为一个comm.SDRRxPluto系统对象。的rxPluto对象输出复杂的值的列向量。

例子

(rxdata,datavalid,溢出]= rxPluto ()输出显示了样品,溢出

输出参数

全部展开

接收的数据,作为一个向量返回复杂的值。值范围取决于输出的数据类型。

  • int16——输出数据由16位带符号整数的值的范围(-2048、2047)。AD936X射频芯片有12位ADC。12位ADC的数据存储在输出值的低12位和16位符号扩展。

  • ——输出数据包括双精度浮点值的范围扩展到[1]。

  • ——输出数据包括单精度浮点值的范围扩展到[1]。

请注意

AD936X射频芯片有12位ADC。双精度和单精度浮点表示收到的数据值是直接创建的符号扩展int16收到董事会价值。这些表示只占用范围[-0.0625,0.0625]。

指定接收的数据的数据类型,使用OutputDataType财产。

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

数据有效的指标,作为一个逻辑返回。

  • 一个0表明,收到样品是无效的。

  • 一个1表明收到的样品是有效的。

失去了样本指标,作为一个逻辑返回。

  • 一个0表明没有样品丢失。

  • 一个1表明样本丢失。

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

捕获 使用特别提款权捕捉射频信号数据的设备
信息 获得广播信息
designCustomFilter 设计自定义过滤器模拟设备AD936x射频芯片
一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

配置一个ADALM-PLUTO广播的RadioID属性设置为0。设置无线接收与基带的2.5 GHz 1 MHz。使用一个日志保存数据。

创建一个ADALM-PLUTO无线电接收机系统对象为数据接收和使用dsp.SignalSink系统对象记录接收到的数据时,数据不溢出,当数据是有效的。

rxPluto = sdrrx (“冥王星”,“RadioID”,“usb: 0”,“CenterFrequency”2.5 e9,“BasebandSampleRate”1 e6);rxLogNoOverflow = dsp.SignalSink;rxLogDataValid = dsp.SignalSink;

在一个使用循环,接收数据rxPluto对象。日志数据没有溢出时,当数据是有效的。显示消息当收到样品时删除或接收到的数据是无效的。

计数器= 1:20(数据、datavalid溢出)= rxPluto ();%的检查溢出收到样品。如果(溢出)%了样品disp (的样品了);其他的rxLogNoOverflow(数据);结束%检查溢出和接收的数据的有效性。如果~(溢出)%不了样品如果~ (datavalid)%获得所需的数据rxLogDataValid(数据);结束其他的disp (没有接收到有效的数据);结束结束
# #建立连接硬件。这个过程可能要花上几秒钟的时间。

当使用一个传输和接收ADALM-PLUTO广播,单个对象使用相同的底层无线电发射机和接收机硬件设置频率校正。创建单独的ADALM-PLUTO无线电系统对象的默认设置发射机和接收机。

rx = sdrrx (“冥王星”);tx = sdrtx (“冥王星”);rx。ShowAdvancedProperties = true;tx.ShowAdvancedProperties = true;rxFreqCorr = rx.FrequencyCorrection
rxFreqCorr = 0
txFreqCorr = tx.FrequencyCorrection
txFreqCorr = 0

默认频率调整值为0 ppm。底层的无线电硬件设置频率修正当接收和传输是0。

data0 = rx ();
# #建立连接硬件。这个过程可能要花上几秒钟的时间。
tx (data0);
# #建立连接硬件。这个过程可能要花上几秒钟的时间。

更新频率校正设置50 ppm接收机对象。这并不更新频率校正设置发射机对象,但这里的主时钟速度底层无线电硬件调整基于50 ppm的设置频率修正当接收或传输。最后更新的无线电硬件频率校正设置是由接收方对象。尽管发射机对象表示频率校正值0,无线电发射机使用更新后的值集rx.FrequencyCorrection当发射机执行对象。

rx.FrequencyCorrection= 50; data1 = rx(); tx(data0); rxFreqCorr = rx.FrequencyCorrection
rxFreqCorr = 50
txFreqCorr = tx.FrequencyCorrection
txFreqCorr = 0

同样,更新频率调整发射机对象设置为100 ppm。这并不更新频率校正设置接收方对象,但这里主时钟的底层无线电硬件调整基于100 pmm的设置频率修正当接收或传输。最后更新的无线电硬件频率校正设置是由发射机对象。尽管接收器对象表示频率调整值50,无线电接收机使用更新后的值组tx.FrequencyCorrection当接收方对象执行。

tx.FrequencyCorrection = 100;tx (data0);data2 = rx ();rxFreqCorr = rx.FrequencyCorrection
rxFreqCorr = 50
txFreqCorr = tx.FrequencyCorrection
txFreqCorr = 100

使用信息目标函数得到的信息连接ADALM-PLUTO收音机。收音机使用的实际值显示信息并且可以从对象中指定的值略有不同。

rx = sdrrx (“冥王星”);信息(rx)
# #建立连接硬件。这个过程可能要花上几秒钟的时间。
ans =结构体字段:状态:“完全信息”CenterFrequency: 2.4000 e + 09 BasebandSampleRate: 999999 SerialNum:“104473222 a870010050020009db5d52277”GainControlMode:“AGC缓慢的攻击”RadioFirmwareVersion:“0.30”ExpectedFirmwareVersion:“0.30”HardwareVersion:“B0”

使用捕获函数和一个ADALM-PLUTO无线电射频信号记录在MATLAB®post-capture处理。将一个调频广播信号保存到一个文件作为基带样本。读取文件包含基带信号和解调记录样本。

特别提款权的硬件配置

配置你的ADALM-PLUTO无线电host-radio沟通,明白了引导Host-Radio硬件设置

连接天线适合88 - 108 MHz频带第一RX通道。调频收音机乐队不在默认ADALM-PLUTO收音机的调谐范围。的configurePlutoRadio函数允许您扩展频率范围和使用ADALM-PLUTO广播以外的合格的调谐范围。扩展频率范围包括完整的调频无线电频段。

configurePlutoRadio (“AD9364”);
# #建立连接硬件。这个过程可能要花上几秒钟的时间。

配置接收机系统对象

创建一个特别提款权接收机系统对象与指定的属性。指定的中心频率对应于一个当地调频电台。

设备名称=“冥王星”;samplerate = 528年e3;fmStationFrequency = 88.9 e6;%适应附近选择一个调频电台rx = sdrrx(设备名称,“BasebandSampleRate”samplerate,“CenterFrequency”fmStationFrequency,“OutputDataType”,“双”);

启动数据捕获文件

调用捕获函数,指定接收方对象,捕获时间和文件的名字。捕捉调频信号后,解锁接收者对象使用释放函数。

捕获(rx 5“秒”,“文件名”,“FMRecording.bb”);
# #建立连接硬件。这个过程可能要花上几秒钟的时间。
释放(rx);

解调调频记录

创建一个comm.BasebandFileReader(通信工具箱)系统对象读取信号并提取帧捕获的数据文件。集基带文件读者阅读时带4400样品每帧保存的基带信号。

bbr = comm.BasebandFileReader (“FMRecording.bb”);bbr。SamplesPerFrame = 4400;

使用BasebandSampleRate基带文件的字段设置读者对象SampleRate解调器的财产。找到BasebandSampleRate字段元数据结构。创建一个comm.FMBroadcastDemodulator(通信工具箱)系统对象。解调和播放调频的每一帧数据。使用一个循环读取的所有帧捕获数据。

fmbDemod = comm.FMBroadcastDemodulator (“AudioSampleRate”48岁的e3,“SampleRate”bbr.Metadata.BasebandSampleRate,“PlaySound”,真正的);~结束(bbr) fmbDemod (bbr ());结束
介绍了R2017a