主要内容

频率偏移校正发射机与USRP®硬件

这个例子展示了如何使用通用软件无线电外围®设备利用SDRu(软件定义无线电USRP®)系统对象为发射机/接收机测量和校准频率偏移的接收机使用MATLAB®。

请参考的设置和配置部分文档USRP®收音机有关配置主机与SDRu发射机系统对象。

的USRP®发射机发送一个正弦波在100 hz MATLAB脚本,sdruFrequencyCalibrationTransmitter.m,USRP®接收器。的USRP®接收机显示器收到信号,计算出发射机/接收机频率偏移的MATLAB命令窗口并显示它校准与MATLAB脚本,sdruFrequencyCalibrationReceiver.m

介绍

示例提供了以下信息USRP®发射机/接收机的链接:

  • 的定量值频率偏移量

  • 的图形化视图spur-free接收机的动态范围

  • 定性的图形视图接收信号的信噪比水平

校准的频率偏移两个USRP®设备,运行sdruFrequencyCalibrationTransmitter.m在一个USRP®广播,同时运行sdruFrequencyCalibrationReceiver.m在另一个USRP®收音机。的CenterFrequency属性SDRu发射机和接收机系统对象应该有相同的值。

为了弥补发射机/接收机的频率偏移量,添加显示的频率偏移值的中心频率SDRu接收器系统对象。请确保使用的符号抵消之外。一旦你做到了,接收机的频谱分析仪系统的频谱显示对象应该有其最大振幅约为0 Hz。

请参考模型®模型金宝appsdrufreqcalib.mdl系统的框图视图。

硬件需求

运行这个例子,确保中心频率SDRu发射机和接收机的系统对象是在可以接受的范围之内,你的USRP®女儿董事会和您所使用的天线。

发现收音机

发现电台(s)连接到你的电脑。这个示例使用第一个USRP®电台发现使用findsdru函数。检查收音机是否可用和记录收音机类型。如果没有发现可用的无线电系统的示例使用一个默认的配置,但不主循环运行。

connectedRadios = findsdru;如果strncmp (connectedRadios .Status (1),“成功”7)radioFound = true;开关connectedRadios (1) .Platform情况下{“B200”,“B210”}地址= connectedRadios (1) .SerialNum;平台= connectedRadios (1) .Platform;情况下{“N200 / N210 / USRP2”}地址= connectedRadios (1) .IPAddress;平台=“N200 / N210 / USRP2”;情况下{“×”,“X310”}地址= connectedRadios (1) .IPAddress;平台= connectedRadios (1) .Platform;结束其他的radioFound = false;地址=“192.168.10.2”;平台=“N200 / N210 / USRP2”;结束

               

初始化

设置属性的正弦波来源,SDRu发射机和频谱分析仪系统对象。

bbTxFreq = 100;%基带传输频率rfTxFreq = 1.85 e9;%名义射频传输中心频率prmFreqCalibTx = configureFreqCalibTx(平台、rfTxFreq bbTxFreq);hSineSource = dsp。SineWave (“频率”prmFreqCalibTx.SineFrequency,“振幅”prmFreqCalibTx.SineAmplitude,“ComplexOutput”prmFreqCalibTx.SineComplexOutput,“SampleRate”prmFreqCalibTx.Fs,“SamplesPerFrame”prmFreqCalibTx.SineFrameLength,“OutputDataType”,prmFreqCalibTx.SineOutputDataType);%的主机与USRP (R)使用SDRu广播%发射机系统对象。B200 B210系列USRP (R)收音机%解决USRP2时使用一个序列号,N200) N210×和X310使用IP地址%收音机得到解决。参数结构,% prmFreqCalibTx,设置CenterFrequency、增益和InterpolationFactor%的论点。%设置广播对象使用发现收音机开关平台情况下{“B200”,“B210”}= comm.SDRuTransmitter(电台“平台”、平台“SerialNum”、地址、“MasterClockRate”prmFreqCalibTx.MasterClockRate,“CenterFrequency”prmFreqCalibTx.USRPTxCenterFrequency,“获得”prmFreqCalibTx.USRPGain,“InterpolationFactor”prmFreqCalibTx.USRPInterpolationFactor)情况下{“×”,“X310”}= comm.SDRuTransmitter(电台“平台”、平台“IPAddress”、地址、“MasterClockRate”prmFreqCalibTx.MasterClockRate,“CenterFrequency”prmFreqCalibTx.USRPTxCenterFrequency,“获得”prmFreqCalibTx.USRPGain,“InterpolationFactor”prmFreqCalibTx.USRPInterpolationFactor)情况下{“N200 / N210 / USRP2”}= comm.SDRuTransmitter(电台“平台”、平台“IPAddress”、地址、“CenterFrequency”prmFreqCalibTx.USRPTxCenterFrequency,“获得”prmFreqCalibTx.USRPGain,“InterpolationFactor”prmFreqCalibTx.USRPInterpolationFactor)结束%使用dsp。简介显示传输的频谱%的信号。hSpectrumAnalyzer = dsp.SpectrumAnalyzer (“名字”,正弦波形的频率发出的,“标题”,正弦波形的频率发出的,“FrequencySpan”,“全部”,“SampleRate”prmFreqCalibTx.Fs,“YLimits”(-70年,30),“SpectralAverages”,50岁,“FrequencySpan”,启动和停止的频率的,“StartFrequency”-100年e3,“StopFrequency”100年e3,“位置”figposition ([50 30 30 40]));
无线电=系统:comm.SDRuTransmitter属性:平台:“B210”SerialNum:“F5BA6A”ChannelMapping: 1 CenterFrequency: 1850000000 LocalOscillatorOffset: 0获得:23 PPSSource:“内部”ClockSource:“内部”MasterClockRate: 20000000 InterpolationFactor: 100 TransportDataType:“int16”EnableBurstMode:假的

流处理

循环直到到达目标的帧数的例子。
%检查USRP的状态(R)收音机如果radioFoundiFrame = 1: prmFreqCalibTx。TotalFrames sinewave =步骤(hSineSource);%产生正弦波步骤(广播、sinewave);%传输USRP (R)收音机结束%显示仿真后的频谱。步骤(hSpectrumAnalyzer sinewave);其他的警告(消息(“sdru: sysobjdemos: MainLoop”))结束

释放系统对象

释放(hSineSource);释放(电台);清晰的广播

结论

在本例中,您使用通信工具箱™系统对象建立一个信号源发送参考语气在100赫兹。这个信号是用作校准信号USRP®接收器。

附录

在这个例子中使用下面的脚本。

版权声明

通用软件无线电周边®和USRP®是国家仪器公司的商标。