主要内容

信号频谱分析

本示例展示了使用MATLAB®、通信工具箱™和DSP系统工具箱™对信号进行下游频谱分析。您可以使用捕获的信号,也可以使用RTL-SDR Radio、ADALM-PLUTO Radio或USRP™Radio实时接收信号。你可以改变收音机的中心频率,将收音机调到有信号的波段。然后,您可以使用频谱分析仪查看和测量接收的频谱。

所需硬件和软件

要使用捕获的信号运行这个示例,您需要以下软件:

通信工具箱

DSP系统工具箱

要实时接收信号,您还需要以下硬件之一:

有关通信工具箱支持的SDR平台的完整列表,请参阅的“MATLAB和Simulink对金宝appSDR的硬件支持”部分金宝app软件定义无线电(SDR)

示例代码

接收端请求用户输入并初始化变量。然后循环调用信号源和调频广播接收机。循环还使用帧持续时间和信号源报告的丢失样本来跟踪无线电时间。

修改默认选项为“|cmdlineInput|”为“1”。

cmdlineInput =如果cmdlineInput从命令行请求用户输入应用程序参数userInput = helperSpectralAnalysisUserInput;设置初始参数[SAParams, sigSrc] = helperSpectralAnalysisConfig(userInput);其他的设置初始参数负载defaultInputSpecAnalysis.mat[SAParams, sigSrc] = helperSpectralAnalysisConfig;结束

设置

创建简介对象并根据用户输入进行配置

hSpectrum =光谱分析仪(...“名字”“通频带谱”...“标题”“通频带谱”...“方法”“韦尔奇”...“SpectrumType”的功率密度...“FrequencySpan”“全部”...“SampleRate”, SAParams。FrontEndSampleRate,...“SpectralAverages”, 50岁,...“FrequencyOffset”, SAParams。CenterFrequency,...“YLimits”, [-120 10],...“YLabel”“平方,dB”...“位置”, figposition([50 30 30 40]));

流处理

查看频谱。当频谱分析仪运行时,您可以测量信号的峰值、占用带宽和其他属性。

初始化无线电时间radioTime = 0;%主循环radioTime < userInput。持续时间接收基带样本(信号源)如果SAParams.isSourceRadio如果SAParams。isSourcePlutoSDR rcv = sigSrc();Lost = 0;迟到= 1;elseifSAParams。isSourceUsrpRadio rcv= sigSrc();Lost = 0;其他的[rcv,~,lost,late] = sigSrc();结束其他的rcv = sigSrc();Lost = 0;迟到= 1;结束RCV = RCV - mean(RCV);%拆卸直流元件。步骤(hSpectrum rcv);%更新无线电时间。如果有丢失的样品,也加进去。radioTime = radioTime + SAParams。FrontEndFrameTime +...双(失去)/ SAParams.FrontEndSampleRate;结束释放所有系统对象释放(sigSrc);释放(hSpectrum);

结论

在本例中,您使用通信工具箱™系统对象来分析接收信号的频谱。