SuperAPI AI 工具集

matlab-transmit-capture-usrp

测试与质量

查看项目

更新于 10-16 00:21

技能介绍

用途:在 MATLAB 中通过 Wireless Testbench 控制 NI USRP 电台,生成、发射并采集射频波形,适用于空中发射测试音、标准信号或自定义 IQ,采集频段 IQ 数据,环回测试,多天线收发,长时间连续发射与后台采集。首次连接电台、FPGA 目标工作流、触发式(唤醒信号)采集、多设备同步不适用本技能。

前提:需已有保存的电台配置,可用 configs = radioConfigurations; disp(configs) 列出并让用户选择;无配置时先完成电台设置。生成代码前需与用户确认中心频率与采样率(常见 30.72、61.44、122.88、245.76 MHz)。

主要对象:默认使用 basebandTransceiver,可同时支持发射、采集或两者;仅在需要独立单向控制时使用 basebandTransmitter 或 basebandReceiver。收发器属性带 Transmit/Capture 前缀(如 TransmitRadioGain、CaptureRadioGain、TransmitCenterFrequency、CaptureCenterFrequency、TransmitAntennas、CaptureAntennas),独立对象属性无前缀(RadioGain、CenterFrequency、Antennas)。

用法:创建对象 radio = radioConfigurations("MyN310"); bbtrx = basebandTransceiver(radio); 可加 Preload=true 预加载 FPGA,此时需显式传 TransmitDataType。配置 SampleRate、中心频率、增益等属性。发射波形须为复数列向量(单天线)或 N×M 矩阵(多天线),幅度归一化到 [-1,1],行数为偶数。发射用 transmit(bbtrx, txWaveform, "once") 或 "continuous",停止用 stopTransmission(bbtrx)。采集用 [data, timestamp, droppedSamples] = capture(bbtrx, milliseconds(10)),支持前台阻塞与 Background=true 后台模式,后台可轮询 isCapturing 或用 CompletionFcn 回调,结果用 captureOutputs 获取;长采集可设 SaveLocation 与 UseRadioBuffer=false 直传主机。CaptureDataType 默认 int16,做 FFT 等运算前需设为 "double" 或转换。

限制:单次发射建议在波形末尾加冗余样本;连续发射需显式停止;直传主机依赖持续网络吞吐,可能丢样,可降低采样率、减少天线数或运行 radioSetupWizard 优化;机载缓冲容量有限(E320/N 系列约 2^29 样本,X300/X310 约 2^28,X410 约 2^30),超长采集须直传主机。天线命名因设备而异。具体收费、价格与平台信息暂未提供。