AnyMath 文档

MATLAB/Simulink UHD API

MATLAB UHD API

为确保MATLAB与RITM SDR USRP平台的交互需要usrp Radio*的已安装硬件支持包*通信工具箱支持包。 该工具包允许信号建模,随后传输到SDR设备,以及使用MATLAB中可用的一组复杂的处理工具进行数据接收和分析。

image.png

安装硬件支持包后,您可以开始开发脚本。 操作算法与其他部分的示例相同:谐波信号传输到发射机,然后在时域和频域中读取数据和可视化。

首先,初始化全局系统参数,例如主时钟速率、采样率、帧大小和载波频率。:

masterClockRate = 60e6;
sampleRate = 4e6;
samplesPerFrame = 1024*5;
centerFreq = 2.0e9;

接下来,创建系统对象以控制SDR USRP节奏的发送(TX)和接收(RX)路径。 参数指定器件地址、插值和抽取系数、增益水平和天线端口。:

tx = comm.SDRuTransmitter(...
'Platform', 'E320', ...
'IPAddress', '192.168.2.100', ...
'MasterClockRate', masterClockRate, ...
'InterpolationFactor', masterClockRate/sampleRate, ...
'CenterFrequency', centerFreq, ...
'Gain', 7);

rx = comm.SDRuReceiver(...
'Platform', 'E320', ...
'IPAddress', '192.168.2.100', ...
'MasterClockRate', masterClockRate, ...
'DecimationFactor', masterClockRate/sampleRate, ...
'SamplesPerFrame', samplesPerFrame, ...
'CenterFrequency', centerFreq, ...
'Gain', 60, ...
'OutputDataType', 'double', ...
'ReceiveAntennaPort','TX/RX');

下一步是调整正弦信号。 其工作频率、采样率、输出格式(复信号)和数据类型确定。:

sineFreq = 1e5;
sineGen = dsp.SineWave(1, sineFreq, ...
    'SampleRate',       sampleRate, ...
    'SamplesPerFrame',  samplesPerFrame, ...
    'ComplexOutput',    true, ...
    'OutputDataType',   'double');
txSignal = sineGen();

为了可视化接收到的信息,示波器(timescope)和频谱分析仪(spectrumAnalyzer)的对象被初始化。 示的时间间隔、估计谱功率密度的方法以及为它们设置轴的边界。:

tScope = timescope(...
    'SampleRate',       sampleRate, ...
    'TimeSpan',         5/sineFreq, ...
    'Name',             'Осциллограмма принятого сигнала', ...
    'YLimits',          [-0.5, 0.5]);
sAnalyzer = spectrumAnalyzer(...
    'SampleRate',       sampleRate, ...
    'Method',           'Welch', ...
    'Title',            'Спектр принятого сигнала', ...
    'YLimits',          [-120, 0]);

该程序的主要循环实现了传输生成的信号,从空中接收数据及其操作输出到图形面板以供后续分析的连续过程。:

while 1
    tx(txSignal);
    [rxSignal, len] = rx();
    if len > 0
        tScope(rxSignal);
        sAnalyzer(rxSignal);
    end
end
image 44

要关闭程序,请单击*编辑器*选项卡顶部工具栏上的*停止*。 要正确断开RITM SDR USRP平台的连接,请运行以下代码:

release(tx);
release(rx);
release(tScope);
release(sAnalyzer);
使用函数 发行版 UHD协议对于系统对象是强制性的。 如果不调用此方法,则无法正确释放资源并断开与SDR USRP服务器的连接。

为了确保Simulink与RITM SDR USRP平台的交互,需要安装用于USRP Radio*的硬件支持包*通信工具箱支持包。 安装完成后,可以使用RITM SDR USRP平台设计模型。

在初始阶段,有必要初始化谐振子*正弦波*,该单元的设置如下图所示。 *SDRu发射器*块也应包含在模型中(下面指定了相应的参数)。 正弦波发生器的输出端口与*SDRu发射机*单元的输入端口连接。

image 40

下一步是配置*SDRu接收器*接收器单元(配置参数在下面给出)。 对于随后的可视化和数据分析,有必要将该单元的输出连接到*时间范围*块的输入,旨在研究接收信号的时间特性,以及*频谱分析仪*,用于分析其频谱组成。

image 41

因此,模型应如图所示。

image 42

此外,为了确保并行实时发送和接收数据,需要配置*解算器*解算器。 在模型的配置参数中,将求解器类型*类型*设置为 固定步骤 (具有固定步骤),并选择*Solver*作为求解器本身 离散(无连续状态).

image 31

通过运行Run,可以得到如下图所示的图形。

image 38

您可能会注意到数据接收是在开始时设置的,只有这样信号传输才开始。 此外,如果你放大,你可以看到一个规则形状的正弦曲线。

image 39