Rf損失の可視化
さまざまなrf損失をqam信号に適用します。コンスタレーションダイアグラム,時変エラーベクトル振幅(维生素)プロットおよびスペクトルプロットを使用して影響を観察します。変調誤差比(mer)測定を使用して,対応するs / n比(snr)を推定します。
初期化
サンプルレ,ト,変調次数および信噪比を設定します。基準コンスタレ,ション点を計算します。16-qam信号を生成します。
Fs = 1000;M = 16;snrdB = 30;refConst = qammod(0:M-1,M,UnitAveragePower=true);data = randi([0 M-1],1000,1);modSig = qammod(data,M,UnitAveragePower=true);
損失の影響を可視化するために,星座图オブジェクトと时间范围オブジェクトを作成します。
constDiagram = com . constellationdiagram (...ReferenceConstellation = refConst);timeScope = timeScope (...YLimits = 40 [0],...SampleRate = fs,...TimeSpanSource =“财产”,...时间间隔= 1,...ShowGrid = true,...YLabel =“维生素(%)”);
増幅器歪み
無記憶非線形損失は入力信号の振幅と位相を歪めます。振幅の歪みは,振幅対振幅の変調(AM-AM)であり,位相の歪みは振幅対位相の変調(AM-PM)です。無記憶非線形性系统对象™は,増幅器のゲイン圧縮とAM-PM変換からそれぞれ生じるAM-AM歪みとAM-PM歪みをモデル化します。
無記憶非線形性オブジェクトを使用して,am-pm変換損失のない増幅器のゲ电子邮件ン圧縮を追加します。増幅器のゲesc escン圧縮は,原点からの距離が増加するほどシンボルを大きく歪ませる非線形損失です。
mnlamp = comm.MemorylessNonlinearity (...IIP3 = 38,...AMPMConversion = 0);
変調した信号を非線形増幅器を通して渡し,コンスタレ,ションダ,アグラムをプロットします。増幅器のゲ@ @ン圧縮により,コンスタレ@ @ション点が原点に向かって移動します。
mnlampSig = mnlamp(modSig);constDiagram (mnlampSig)释放(constDiagram)
無記憶非線形性オブジェクトの構成を調整して,小さなam-pm変換損失を追加します。上午-下午変換は,原点からの距離が増加するほどシンボルを大きく歪ませる非線形損失です。上午-下午変換は,コンスタレ,ションの回転の原因になります。
変調した信号を非線形増幅器を通して渡し,コンスタレーションダイアグラムをプロットして,AM-AM歪みとAM-PM歪みを組み合わせて表示します。
mnlamp。AMPMConversion = 1;mnlampSig = mnlamp(modSig);constDiagram (mnlampSig)释放(constDiagram)
基準信号ソースを入力引数として入力し,信号の行全体で結果を平均するように维生素オブジェクトを構成します。入力信号に対してevmを推定すると,より正確な結果が得られます。信号の行全体で結果を平均すると,時変evmが計算されます。
evm = com . evm (AveragingDimensions=2);
歪んだ信号の時変evmをプロットします。
evmTime = evm(modSig,mnlampSig);timeScope (evmTime)释放(timeScope)
RMS evmを計算します。
evmRMS =√(mean(evmTime.^2))
evmRMS = 35.5919
Merオブジェクトを使用して,増幅器歪みを追加した後の信号のSNRを推定します。
mer = com . mer;snrEst = mer(modSig,mnlampSig)
snrEst = 8.1392
入力パワ,レベルの範囲で増幅器出力パワ,を測定します。0 ~ 40 dBmの範囲の入力パワ,レベルを指定します。このレベルをワット単位の線形等価に変換します。出力パワ,ベクトルを初期化します。
powerIn = 0:40;pin = 10.^((powerIn-30)/10);powerOut = 0(长度(powerIn),1);为k = 1:length(powerIn) data = randi([0 15],1000,1);txSig = qammod(...数据,16日UnitAveragePower = true) * sqrt(销(k));mnlampSig = mnlamp(txSig);powerOut(k) = 10*log10(var(mnlampSig))+30;结束
出力パワ,対入力パワ,の曲線をプロットします。出力パワ,は30 dBmで平坦になります。増幅器は,入力パワ,レベルが25 dBmを超えると非線形動作を示します。
图绘制(powerOut力量,力量,力量,”——“)传说(“放大器输出”,“理想输出”位置=“本身”)包含(上电(dBm)) ylabel (“下电(dBm)”网格)
智商不平衡
関数iqimbal
を使用して,振幅と位相の不平衡を変調した信号に適用します。智商不平衡の結果、コンスタレーション点の振幅と位相は線形的に変化します。
ampImb = 3;phImb = 10;rxSig = iqimbal(modSig,ampImb,phImb);
IQ不平衡で劣化したコンスタレションダアグラムと時変evmをプロットします。
constDiagram (rxSig)释放(constDiagram)
智商不平衡で劣化した信号の時変维生素の動作は,非線形増幅器による時変维生素の動作に類似していますが,分散は小さくなっています。
evmTime = evm(modSig,rxSig);timeScope (evmTime)释放(timeScope)
智商不平衡を正弦波に適用し,智商次いで。
正弦波系统对象™を使用して,1000 Hzのサンプルレートで100 Hzの正弦波を作成します。
正弦波= dsp。SineWave (...频率= 100,...SampleRate = 1000,...SamplesPerFrame = 1 e4,...ComplexOutput = true);X =正弦波();
同じ3 dB, 10度の智商不平衡を適用します。
ampImb = 3;phImb = 10;y = iqimbal(x,ampImb,phImb);
不平衡な信号のスペクトルをプロットします。智商不平衡によって、-100 Hz に 2 番目のトーンが発生しています。これは入力トーンの逆になります。
光谱分析仪(...SampleRate = 1000,...SpectrumUnits =“瓦分贝”);谱(y)释放(光谱)
位相ノ@ @ズ
位相ノ▪▪ズ系统对象™を使用して,位相ノ▪▪▪ズを送信信号に適用します。位相ノ▪▪ズによって回転ジッタ▪▪が発生します。
pnoise = com . phasenoise (...水平= -50,...FrequencyOffset = 20,...SampleRate = fs);pnoiseSig = pnoise(modSig);
位相ノ▪▪ズで劣化したコンスタレ▪ションダ▪▪アグラムと時変evmをプロットします。
constDiagram (pnoiseSig)释放(constDiagram)
evmTime = evm(modSig,pnoiseSig);timeScope (evmTime)释放(timeScope)
RMS evmを計算します。
evmRMS =√(mean(evmTime.^2))
evmRMS = 6.3258
フィルタ,の影響
レイズドコサイン送信フィルターおよび受信フィルターの系统对象を使用して,レイズドコサイン整合フィルターのペアを作成します。シンボルあたりのサンプル数パラメ,タ,を指定します。
SPS = 4;txfilter = com . raisedcosinetransmitfilter (...RolloffFactor = 0.2,...FilterSpanInSymbols = 8,...OutputSamplesPerSymbol = sps,...获得= sqrt (sps));rxfilter = com . 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:end);
受信信号のサンプル数の変更に合わせて,星座图オブジェクトと时间范围オブジェクトを新しく作成します。Evmオブジェクトを作成してEvmを推定します。
constDiagram = com . constellationdiagram (ReferenceConstellation=refConst);timeScope = timeScope (...YLimits = 40 [0],...SampleRate = fs,...TimeSpanSource =“财产”,...时间间隔= 1,...ShowGrid = true,...YLabel =“维生素(%)”);evm = com . evm...ReferenceSignalSource =“从参考星座估计”,...ReferenceConstellation = refConst,...归一化=“平均星座功率”,...AveragingDimensions = 2);
フィルタ処理されたコンスタレションダアグラムと時変evmをプロットします。
constDiagram (rxSig)释放(constDiagram)
evmTime = evm(rxSig);timeScope (evmTime)释放(timeScope)
RMS evmを計算します。
evmRMS =√(mean(evmTime.^2))
evmRMS = 2.7199
Merオブジェクトを使用してSNRを推定します。
mer = com . mer;snrEst = mer(modSig(1:end-fltDelay),rxSig)
snrEst = 31.4603
ホワ▪▪トノ▪▪ズ
16-QAM信号をAWGNチャネル経由で渡してから,そのコンスタレーションダイアグラムをプロットします。
noisySig = awgn(modSig,snrdB);constDiagram (noisySig)释放(constDiagram)
ノズを含む信号のevmを,基準コンスタレション点から推定します。
evm = com . evm...ReferenceSignalSource =“从参考星座估计”,...ReferenceConstellation = refConst,...归一化=“平均星座功率”);rmsEVM = evm(noisySig)
rmsEVM = 3.1941
Mer測定値は,snrに密接に対応しています。Merオブジェクトを作成し,snrを推定します。推定値は,指定した30 dBの信噪比に近くなっています。
mer = com . mer (...ReferenceSignalSource =“从参考星座估计”,...ReferenceConstellation = refConst);snrEst = mer(noisySig)
snrEst = 30.0598
複合的影響
フィルタ,非線形増幅器,iq不平衡,位相ノ@ @ズ,およびawgnの影響を組み合わせます。コンスタレションダアグラム,evmプロット,および計算されたevmを表示します。
非線形増幅器,位相ノイズ,维生素,時間スコープ,およびコンスタレーションダイアグラムのオブジェクトを作成します。
mnlamp = com . memoryless非线性(IIP3=45,AMPMConversion=0);pnoise = com . phasenoise (Level=-55,FrequencyOffset=20,SampleRate=fs);evm = com . evm...ReferenceSignalSource =“从参考星座估计”,...ReferenceConstellation = refConst,...归一化=“平均星座功率”,...AveragingDimensions = 2);timeScope = timeScope (...YLimits = 40 [0],...SampleRate = fs,...TimeSpanSource =“财产”,...时间间隔= 1,...ShowGrid = true,...YLabel =“维生素(%)”);constDiagram = com . constellationdiagram (...ReferenceConstellation = refConst);
送信機のフィルタ,処理を適用し,次いで変調信号を増幅します。智商不平衡と位相ノ情商ズを追加します。
txfiltOut = txfilter(modSig);mnlampSig = mnlamp(txfiltOut);iqImbalSig = iqimbal(mnlampSig,ampImb,phImb);txSig = pnoise(iqImbalSig);
Awgnチャネルを通して,劣化した信号を渡します。コンスタレションダアグラムをプロットします。
rxSig = awgn(txSig,snrdB);rxfiltOut = rxfilter(rxSig);constDiagram (rxfiltOut)释放(constDiagram)
時変evmを計算します。結果をプロットします。
evmTime = evm(rxfiltOut);timeScope (evmTime)释放(timeScope)
RMS evmを求めます。
evmRMS =√(mean(evmTime.^2))
evmRMS = 19.4785
信噪比を推定します。この値は,指定値の30 dBよりも約16 dB悪化しています。このレベルの射频劣化要因の影響は重大であり,損失補正または高度な受信機によって修正されない場合,ビットエラーレートのパフォーマンスが低下する可能性があります。
mer = com . mer (...ReferenceSignalSource =“从参考星座估计”,...ReferenceConstellation = refConst);snrEst = mer(rxfiltOut)
snrEst = 14.2470