信号频谱分析
本示例展示了使用MATLAB®、通信工具箱™和DSP系统工具箱™对信号进行下游频谱分析。您可以使用捕获的信号,也可以使用RTL-SDR Radio、ADALM-PLUTO Radio或USRP™Radio实时接收信号。你可以改变收音机的中心频率,将收音机调到有信号的波段。然后,您可以使用频谱分析仪查看和测量接收的频谱。
所需硬件和软件
要使用捕获的信号运行这个示例,您需要以下软件:
要实时接收信号,您还需要以下硬件之一:
RTL-SDR无线电及相应软件RTL-SDR无线电通信工具箱支持包
ADALM-PLUTO无线电及相应软件ADALM-PLUTO无线电通信工具箱支持包
USRP无线电和相应的软件USRP无线电通信工具箱支持包
有关通信工具箱支持的SDR平台的完整列表,请参阅的“MATLAB和Simulink对SDR的硬件支持”部分软件定义无线电(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);
结论
在本例中,您使用通信工具箱™系统对象来分析接收信号的频谱。