主要内容

可视化射频损伤

对QAM信号施加各种射频损伤。利用星座图、时变误差矢量幅值(EVM)图和频谱图观察其影响。估计等效信噪比(SNR)。

初始化

设置采样率、调制顺序和信噪比。计算参考星座点。

fs = 1000;M = 16;snrdB = 30;refConst = qammod (0: M - 1 M,“UnitAveragePower”,真正的);

创建星座图和时间范围的对象可视化的损害效果。

constDiagram = comm.ConstellationDiagram (“ReferenceConstellation”, refConst);timeScope = timeScope (“YLimits”, 40 [0],“SampleRate”fs,“TimeSpanSource”“属性”“时间间隔”,1,...“ShowGrid”,真的,“YLabel”'维生素(%)');

白噪声

生成16-QAM信号,并通过AWGN通道传递。情节的星座。

data = randi([0 M-1],1000,1);modSig = qammod(数据、米“UnitAveragePower”,真正的);noisySig = awgn (modSig snrdB);constDiagram (noisySig)

从参考星座点估计噪声信号的EVM。

维生素与= comm.EVM (“ReferenceSignalSource”“根据参考星座估算”...“ReferenceConstellation”refConst,...“归一化”的平均星座力量”);rmsEVM =维生素(noisySig)
rmsEVM = 3.1768

调制错误率(MER)与信噪比密切对应。创建一个MER对象,并估计信噪比。

mer = comm.MER (“ReferenceSignalSource”“根据参考星座估算”...“ReferenceConstellation”, refConst);信噪比= mer (noisySig)
信噪比= 30.1071

估计的信噪比非常接近规定的30 dB。

放大器失真

使用无记忆非线性对象创建一个放大器。

amp = comm.MemorylessNonlinearity (“IIP3”38岁“AMPMConversion”, 0);

将调制好的信号通过非线性放大器,绘制其星座图。

txSig = amp (modSig);constDiagram (txSig)

由于放大器增益压缩,星座的角点向原点移动。

引入小型AM/PM转换,并显示接收信号星座。

amp.AMPMConversion = 1;txSig = amp (modSig);constDiagram (txSig)

星座由于AM/PM转换而旋转。要计算时变EVM,需要释放EVM对象,并设置AveragingDimensions属性2。要根据输入信号估计EVM,省略ReferenceSignalSource属性定义。这种方法的结果更准确。

维生素与= comm.EVM (“AveragingDimensions”2);evmTime =维生素(modSig txSig);

绘制失真信号的时变EVM图。

timeScope (evmTime)

计算RMS EVM。

evmRMS =√意味着(evmTime ^ 2))
evmRMS = 35.5919

计算任务。

mer = comm.MER;信噪比= mer (modSig txSig)
信噪比= 8.1392

由于放大器失真,信噪比(≈8 dB)从初始值(∞)降低。

指定输入功率级别从0到40 dBm。将这些电平转换为w中的线性等效值。

力量=今日;销= 10 ^ ((powerIn-30) / 10);powerOut = 0(长度(的力量),1);

测量放大器的输出功率范围的输入功率电平。

k = 1:length(powerIn) data = randi([0 15],1000,1);txSig = qammod(数据、16“UnitAveragePower”,真正的*√(销(k));ampSig = amp (txSig);powerOut (k) = 10 * log10 (var (ampSig)) + 30;结束

绘制功率输出与功率输入曲线。

图绘制(powerOut力量,力量,力量,“——”)传说(放大器输出的“理想输出”“位置”“本身”)包含(“在(dBm)”) ylabel (“电力供应(dBm)”网格)

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表放大器输出,理想输出。

输出功率稳定在30 dBm。该放大器在输入功率大于25 dBm时表现出非线性行为。

I / Q不平衡

对调制信号施加振幅和相位不平衡iqimbal函数。

ampImb = 3;phImb = 10;rxSig = iqimbal (modSig ampImb phImb);

绘制接收到的星座。

constDiagram (rxSig)

由于I/Q不平衡,星座的星等和相位发生了变化。

计算并绘制时变EVM。

evmTime =维生素(modSig rxSig);timeScope (evmTime)

EVM表现出与非线性放大器相似的行为,尽管方差更小。

创建一个100hz的正弦波具有1000hz的采样率。

sinewave = dsp。SineWave (“频率”, 100,“SampleRate”, 1000,...“SamplesPerFrame”1 e4,“ComplexOutput”,真正的);x = sinewave ();

应用相同的3db和10度I/Q不平衡。

ampImb = 3;phImb = 10;y = iqimbal (x, ampImb phImb);

绘制不平衡信号的频谱。

谱= dsp。简介(“SampleRate”, 1000,“PowerUnits”“瓦分贝”);谱(y)

图频谱分析仪包含一个轴对象和其他类型的对象uiflowcontainer, uimenu, uitoolbar。axis对象包含一个类型为line的对象。这个对象表示通道1。

I/Q不平衡引入了第二个音调在- 100hz,这是输入音调的逆。

相位噪声

对发射信号施加相位噪声。绘制得到的星座图。

pnoise = comm.PhaseNoise (“水平”, -50,“FrequencyOffset”, 20岁,“SampleRate”fs);pnoiseSig = pnoise (modSig);constDiagram (pnoiseSig)

相位噪声会引起旋转抖动。

计算并绘制接收信号的EVM。

evmTime =维生素(modSig pnoiseSig);timeScope (evmTime)

确定RMS EVM。

evmRMS =√意味着(evmTime ^ 2))
evmRMS = 6.1989

过滤效果

为每个符号参数指定样本。创建一对凸起的余弦匹配滤波器。

sps = 4;txfilter = comm.RaisedCosineTransmitFilter (“RolloffFactor”, 0.2,“FilterSpanInSymbols”8...“OutputSamplesPerSymbol”sps,“获得”、sqrt (sps));rxfilter = comm.RaisedCosineReceiveFilter (“RolloffFactor”, 0.2,“FilterSpanInSymbols”8...“InputSamplesPerSymbol”sps,“获得”1 /√(sps),...“DecimationFactor”, sps);

通过匹配的过滤器确定延迟。

fltDelay = 0.5 * (txfilter。FilterSpanInSymbols + rxfilter.FilterSpanInSymbols);

将调制的信号通过匹配的滤波器。

filtSig = txfilter (modSig);rxSig = rxfilter (filtSig);

为了考虑通过过滤器的延迟,丢弃第一个fltDelay样本。

rxSig = rxSig (fltDelay + 1:结束);

为了适应接收信号样本数量的变化,创建新的星座图和时间范围对象。

constDiagram = comm.ConstellationDiagram (“ReferenceConstellation”, refConst);timeScope = timeScope (“YLimits”, 40 [0],“SampleRate”fs,“TimeSpanSource”“属性”“时间间隔”,1,...“ShowGrid”,真的,“YLabel”'维生素(%)');

估计维生素。绘制接收信号星座图和时变EVM。

维生素与= comm.EVM (“ReferenceSignalSource”“根据参考星座估算”...“ReferenceConstellation”refConst,...“归一化”的平均星座力量”“AveragingDimensions”2);evmTime =维生素(rxSig);constDiagram (rxSig)

timeScope (evmTime)

确定RMS EVM。

evmRMS =√意味着(evmTime ^ 2))
evmRMS = 2.7199

确定等效信噪比。

mer = comm.MER;信噪比= mer (modSig (1: end-fltDelay) rxSig)
信噪比= 31.4603

联合效应

结合滤波器、非线性放大器、AWGN和相位噪声的影响。显示星座和EVM图。

创建EVM、时间范围和星座图对象。

维生素与= comm.EVM (“ReferenceSignalSource”“根据参考星座估算”...“ReferenceConstellation”refConst,...“归一化”的平均星座力量”“AveragingDimensions”2);timeScope = timeScope (“YLimits”, 40 [0],“SampleRate”fs,“TimeSpanSource”“属性”“时间间隔”,1,...“ShowGrid”,真的,“YLabel”'维生素(%)');constDiagram = comm.ConstellationDiagram (“ReferenceConstellation”, refConst);

指定非线性放大器和相位噪声对象。

amp = comm.MemorylessNonlinearity (“IIP3”45岁的“AMPMConversion”, 0);pnoise = comm.PhaseNoise (“水平”, -55,“FrequencyOffset”, 20岁,“SampleRate”fs);

滤波,然后放大调制的信号。

txfiltOut = txfilter (modSig);txSig = amp (txfiltOut);

添加相位噪声。将受损信号通过AWGN通道传送。绘制星座图。

rxSig = awgn (txSig snrdB);iqImbalSig = iqimbal (rxSig ampImb phImb);pnoiseSig = pnoise (iqImbalSig);rxfiltOut = rxfilter (pnoiseSig);constDiagram (rxfiltOut)

计算时变EVM。策划的结果。

evmTime =维生素(rxfiltOut);timeScope (evmTime)

确定RMS EVM。

evmRMS =√意味着(evmTime ^ 2))
evmRMS = 19.4992

估计信噪比。

mer = comm.MER (“ReferenceSignalSource”“根据参考星座估算”...“ReferenceConstellation”, refConst);信噪比= mer (rxfiltOut)
信噪比= 14.1996

该值大约比指定值30 dB差6 dB,这意味着其他损害的影响是显著的,将降低误码率性能。

另请参阅

|