主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

comm.EVM

エラ,ベクトル振幅の測定

説明

comm.EVM(エラーベクトル振幅)系统对象™は,劣化した信号の変調器または復調器の性能を測定します。

エラ,ベクトル振幅を測定するには,以下の手順に従います。

  1. Evmオブジェクトを定義および設定します。構築を参照してください。

  2. 一步を呼び出して,comm.EVMのプロパティに従い,変調器または復調器の性能を測定します。一步の動作は,ルボックスの各オブジェクト固有のものです。

メモ

R2016b以降では,一步メソッドを使用して,系统对象によって定義された演算を実行する代わりに,引数を関数であるかのように使ってオブジェクトを呼び出すことができます。たとえば,Y = step(obj,x)Y = obj(x)は同等の演算を実行します。

構築

EVM = com .EVMは,エラ,ベクトル振幅オブジェクト维生素を作成します。このオブジェクトは,1変調信号における障害量を計測します。

EVM = com (的名字价值は,指定された各プロパティを指定値に設定して,维生素オブジェクトを作成します。(Name1Value1、……)のように,追加の名前と値のペアの引数を任意の順番で指定できます。

EVM = com .EVM('ReferenceSignalSource','从参考星座估计')は,基準コンスタレ,ションを使用して受信信号のRMS evmを測定する维生素オブジェクトを作成します。

プロパティ

归一化

归一化法

Evmの計算で使用される正規化方式。“平均参考信号功率”(既定)、“平均星座功率”または“星座能量峰值”のいずれかで指定します。

AverageConstellationPower

平均コンスタレ,ション電力

平均コンスタレ,ション電力。ワット単位で,正の実数スカラ,として指定します。このプロパティは,归一化“平均星座功率”である場合に使用できます。既定の設定は1です。

PeakConstellationPower

ピ,クコンスタレ,ション電力

ピ,クコンスタレ,ション電力。ワット単位で,正の実数スカラ,として指定します。このプロパティは,归一化“星座能量峰值”である場合に使用できます。既定の設定は1です。

ReferenceSignalSource

基準信号のソ,ス

基準信号のソ,ス。输入端口的(既定)または“从参考星座估计”のいずれかで指定します。入力信号を比較して測定する明示的な基準信号を与えるには,このプロパティを输入端口的に設定します。基準コンスタレ,ションと比較して入力信号のevmを測定するには,このプロパティを“从参考星座估计”に設定します。

ReferenceConstellation

基準コンスタレ,ション

基準コンスタレ,ション。ベクトルで指定します。このプロパティは,ReferenceSignalSourceプロパティが“从参考星座估计”である場合に使用できます。

既定の設定は[0.7071 - 0.7071i;-0.7071 - 0.7071i;-0.7071 + 0.7071i;0.7071 + 0.7071i]です。これは標準QPSKコンスタレ,ションに相当します。コンスタレ,ション点は変調関数または変調オブジェクトを使用して得られます。たとえば,16-qam信号の基準コンスタレ,ションを得るには,qammod (0:15, 16)が使用できます。

MeasurementIntervalSource

測定間隔のソ,ス

測定間隔のソ,ス。输入长度的(既定)、“整个历史”“自定义”または“定期重置自定义”のいずれかで指定します。このプロパティはRMS evm出力および最大evm出力のみに影響します。

  • 現在のサンプルのみを使用してevmを計算するには,このプロパティを输入长度的に設定します。

  • すべてのサンプルのevmを計算するには,このプロパティを“整个历史”に設定します。

  • 指定した間隔にわたって维生素を計算し,スライディングウィンドウを使用するには,このプロパティを“自定义”に設定します。

  • 指定した間隔にわたって维生素を計算し,測定間隔がいっぱいになるたびにオブジェクトをリセットするには,このプロパティを“定期重置自定义”に設定します。

MeasurementInterval

測定間隔

Evmを計算する測定間隔。サンプル単位で,実数の正の整数として指定します。このプロパティは,MeasurementIntervalSource“自定义”または“定期重置自定义”である場合に使用できます。既定の設定はOne hundred.です。

AveragingDimensions

平均化次元

Evmの測定値を平均する平均化次元。整数か,範囲[1,3]の要素値をも整数の行ベクトルとして指定します。たとえば,行全体の平均を求めるには,このプロパティを2に設定します。既定の設定は1です。

このオブジェクトは,平均化を実行する次元に対する可変サ。ただし,平均化を行わない次元に対する入力サイズは,オブジェクトの呼び出し間で一定に保たなければなりません。たとえば,入力のサ[4 3 2]平均尺寸3 [1]の場合,出力サ[1 3 1]となり,2番目の次元は3.に固定されなければなりません。

MaximumEVMOutputPort

最大evm測定値出力端子

最大evm測定値出力端子。論理スカラ,で指定します。最大evm測定値の出力端子を作成するには,このプロパティを真正的に設定します。既定の設定はです。

XPercentileEVMOutputPort

X百分位evm測定値出力端子

X百分位mer測定値出力端子。論理スカラ,で指定します。X百分位mer測定値の出力端子を作成するには,このプロパティを真正的に設定します。X百分位mer測定値は,オブジェクトをリセットするまで維持されます。これらの測定値は,最後のリセット以降のすべての入力フレ,ムを使用して計算されます。既定の設定はです。

XPercentileValue

X百分位値

Evm測定値のx %がその値を下回るx百分位値。0One hundred.の実数スカラ,で指定します。このプロパティは,XPercentileEVMOutputPort真正的である場合に使用できます。既定の設定は95です。

SymbolCountOutputPort

シンボル数出力端子

シンボル数出力端子。論理スカラ,で指定します。X百分位evm測定値の計算に使用された累積シンボル数を出力するには,このプロパティを真正的に設定します。このプロパティは,XPercentileEVMOutputPort真正的である場合に使用できます。既定の設定はです。

メソッド

一步 エラ,ベクトル振幅の測定
すべての系统对象に共通
释放

系统对象のプロパティ値の変更の許可

重置

系统对象の内部状態をリセットします。

すべて折りたたむ

Evmオブジェクトを作成します。名前と値のペアを使用して,最大维生素,90番目の百分位维生素およびシンボル数を出力するようにそのオブジェクトを構成します。

evm = com . evm“MaximumEVMOutputPort”,真的,...“XPercentileEVMOutputPort”,真的,“XPercentileValue”, 90,...“SymbolCountOutputPort”,真正的);

ランダムデ,タシンボルを生成します。16-qam変調を適用します。変調した信号は,この後のevm測定の基準として機能します。

数据= randi([0 15],1000,1);refSym = qammod(data,16,“UnitAveragePower”,真正的);

Awgnチャネルを通して,変調された信号を渡します。

rxSym = awgn(refSym,20);

ノaapl . exeズを含む信号のevmを測定します。

[rmsEVM,maxEVM,pctEVM,numSym] = evm(refSym,rxSym)
rmsEVM = 9.8775
maxEVM = 26.8385
pctEVM = 14.9750
numSym = 1000

フィルタ,処理したqamデ,タを生成し,awgnチャネルを通して渡します。シンボル誤り率を計算し,受信した信号のevmを推定します。

チャネルおよびフィルタの系统对象™を作成します。

M = 16;refConst = qammod(0:M-1,M);通道= com . awgnchannel (“NoiseMethod”信噪比(SNR)...“信噪比”15岁的“SignalPower”10);txfilter = com . raisedcosinetransmitfilter (“OutputSamplesPerSymbol”4);rxfilter = com . raisedcosinereceivefilter (“InputSamplesPerSymbol”,4,...“DecimationFactor”4);

Evmオブジェクトを作成し,rms Evmおよび最大Evmの測定値を出力します。

evm = com . evm“MaximumEVMOutputPort”,真的,...“ReferenceSignalSource”“从参考星座估计”...“ReferenceConstellation”, refConst);

誤り率オブジェクトを作成して,送信および受信フィルタ,による遅延を考慮します。1のフィルタの群遅延はFilterSpanInSymbolsプロパティの1/2と等価です。

RXD = (txfilter。FilterSpanInSymbols + rxfilter.FilterSpanInSymbols)/2;errorRate = com . errorRate (“ReceiveDelay”, rxd);

以下のチャネル処理を実行します。

  • ランダムデ,タシンボルを生成します。

  • 16-qam変調を適用します。

  • 変調されたデタをレズドコサンTx。

  • Awgnチャネルを通して送信された信号を渡します。

  • 受信デタをレズドコサンRx処理します。

  • フィルタ,処理されたデ,タを復調します。

txData = randi([0 15],1000,1);modData = qammod(txData,M);txSig = txfilter(modData);rxSig = channel(txSig);filtSig = rxfilter(rxSig);rxData = qamdemod(filtSig,M);

誤り統計を計算して,シンボル誤り率を表示します。

errStats = errorRate(txData,rxData);symErrRate = errStats(1)
symErrRate = 0.0222

受信したRMS evmおよび最大evmの値を測定して表示します。フィルタ,による遅延とみなして,最初のrxd + 1シンボルを削除します。シンボル誤りが存在するため,evmが完全には正確でない可能性があります。

[rmsEVM,maxEVM] = evm(filtSig(rxd+1:end))
rmsEVM = 17.2966
maxEVM = 40.1595

ランダムデ,タシンボルを生成して8-psk変調を適用します。

D = randi([0 7],2000,1);txSig = pskmod(d,8,pi/8);

Awgnチャネルを通して,変調された信号を渡します。

rxSig = awgn(txSig,30);

Evmオブジェクトを作成します。送信された信号を基準として使用し,rms evmを測定します。

evm = com . evm;rmsEVM1 = evm(txSig,rxSig);

Evmオブジェクトを解放します。基準コンスタレ,ションと比較して受信信号の EVM を推定するようにオブジェクトを構成します。

释放维生素(维生素)。ReferenceSignalSource =“从参考星座估计”;维生素。ReferenceConstellation = pskmod(0:7,8,pi/8);

受信信号のみを入力として使用してRMS evmを測定します。測定値が,基準信号の使用時に取得した結果と一致していることを確認します。

rmsEVM2 = evm(rxSig);[rmsEVM1 rmsEVM2]
ans =1×23.1524 - 3.1524

カスタムの測定間隔2種類を使用し,ノescズを含む8-psk信号のevmを測定します。結果を表示します。

フレ,ム数とフレ,ムごとのサブフレ,ム数Kを設定します。

M = 2;K = 5;

サブフレ,ムのシンボル数を設定します。対応するフレ,ム長を計算します。

sfLen = 100;frmLen = K*sfLen
frmLen = 500

Evmオブジェクトを作成します。フレ,ム長と等しいカスタムの測定間隔を使用するようにオブジェクトを構成します。

evm = com . evm (“MeasurementIntervalSource”“自定义”...“MeasurementInterval”, frmLen);

8-psk基準コンスタレションを使用してevmを測定するようにオブジェクトを構成します。

evm1。ReferenceSignalSource =“从参考星座估计”;evm1。ReferenceConstellation = pskmod(0:7,8,pi/8);

维生素与オブジェクトを作成し,周期的なリセットを伴う500シンボルの測定間隔を使用するように構成します。8-psk基準コンスタレションを使用してevmを測定するようにオブジェクトを構成します。

evm2 = com . evm (“MeasurementIntervalSource”“定期重置自定义”...“MeasurementInterval”, frmLen);evm2。ReferenceSignalSource =“从参考星座估计”;evm2。ReferenceConstellation = pskmod(0:7,8,pi/8);

Evmの配列とs / n比の配列を初期化します。

rmsEVM1 = 0 (K,M);rmsEVM2 = 0 (K,M);snrdB = 0 (K,M);

両方のオブジェクトを使用して,ノescズを含む8-psk信号のevmを測定します。信噪比は,サブフレ,ム間で1 dB増加します。evm1では,最新の500シンボルが推定の計算に使用されます。この場合は、常にデ、タフレ、ム全体が処理されるように、スラ、ディングウィンドウを使用します。evm2では,フレ,ムが新しくなるたびにシンボルが消去されます。

m = 1: mk = 1: k data = randi([0 7],sfLen,1);txSig = pskmod(data,8,pi/8);snrdB(k,m) = k+(m-1)* k+ 7;rxSig = awgn(txSig,snrdB(k,m));rmsEVM1(k,m) = evm1(rxSig);rmsEVM2(k,m) = evm2(rxSig);结束结束

2の方法を使用して測定したevmを表示します。1番目のケースで使用したウィンドウ処理では、サブフレーム全体を平均しています。2 番目のケースでは、計算される EVM 値が現在の SNR をより正確に反映するように、最初のフレームの後に EVM オブジェクトがリセットされています。

stairs(snrdB(:),[rmsEVM1(:)) rmsEVM2(:)]) xlabel(“信噪比(dB)”) ylabel ('维生素(%)')传说(“不重置”“周期性重置”

图中包含一个轴。坐标轴包含两个楼梯类型的对象。这些对象表示不复位、定期复位。

Ofdm変調器オブジェクトとOfdm復調器オブジェクトを作成します。

ofdmmod = com . ofdmmodulator (“FFTLength”32岁的“NumSymbols”4);ofdmdemod = com . ofdm解调器(“FFTLength”32岁的“NumSymbols”4);

Ofdm信号の副搬送波とシンボルの数を決定します。

ofdmDims = info(ofdmmod);numSC = ofdmDims.DataInputSize(1)
numSC = 21
numSym = ofdmDims.DataInputSize(2)
numSym = 4

ランダムなシンボルを生成してQPSK変調を適用します。

msg = randi([0 3],numSC,numSym);modSig = pskmod(msg,4,pi/4);

QPSK信号をofdm変調します。Awgnチャネルを通して信号を渡します。ノ@ @ズを含む信号を復調します。

txSig = ofdmmod(modSig);rxSig = awgn(txSig,10,“测量”);demodSig = ofdmdemod(rxSig);

Evmオブジェクトを作成します。ここで,結果は副搬送波全体で平均されます。Evmを測定します。4 3 3 3 3 3 4 3 3 3 3 3 3

evm = com . evm“AveragingDimensions”1);rmsEVM = evm(demodSig,modSig)
rmsEVM =1×427.4354 23.6279 22.6772 23.1699

Evmオブジェクトを上書きします。ここで,結果はofdmシンボル全体で平均されます。Evmを測定します。21個の副搬送波それぞれに対応する 21 個のエントリが存在します。

evm = com . evm“AveragingDimensions”2);rmsEVM = evm(demodSig,modSig)
rmsEVM =21日×128.8225 17.8536 18.6809 20.8872 22.3532 24.7197 30.1954 33.4899 36.2847 21.4230

Evmを測定し,ofdm副搬送波と。

evm = com . evm“AveragingDimensions”[1, 2]);rmsEVM = evm(demodSig,modSig)
rmsEVM = 24.2986

Ofdm信号のevmを計算してプロットします。信号は間隔で区切られた2のパケットから構成されています。

以下を実行する系统对象を作成します。

  • 信号のofdm変調

  • 位相ノ@ @ズの導入

  • 時変信号のプロット

ofdmmod = com . ofdmmodulator (“FFTLength”, 256,“NumSymbols”2);pnoise = com . phasenoise (“水平”, -60,“FrequencyOffset”, 20岁,“SampleRate”, 1000);Tscope =时间镜(“YLabel”'维生素(%)'“YLimits”, 40 [0],...“SampleRate”, 1000,“TimeSpanSource”“属性”“时间间隔”, 1.2,...“ShowGrid”,真正的);

Evmオブジェクトを作成します。Evmの時変推定を生成するには,AveragingDimensionsプロパティを2に設定します。

evm = com . evm“MaximumEVMOutputPort”假的,...“ReferenceSignalSource”输入端口的...“AveragingDimensions”2);

Ofdm変調器の入力デ,タの次元を決定します。

modDims = info(ofdmmod)
modDims = struct with fields: DataInputSize: [245 2] OutputSize: [544 1]

1番目のパケットとして,qpsk変調したランダムデ,タを作成します。Ofdm変調を適用します。

data = randi([0 3], moddim . datainputsize);qpskSig = pskmod(data,4,pi/4);txSig1 = ofdmmod(qpskSig);

2番目のデ,タパケットを作成します。

data = randi([0 3], moddim . datainputsize);qpskSig = pskmod(data,4,pi/4);txSig2 = ofdmmod(qpskSig);

2 .のパケットを連結し,何も送信しない間隔を含めます。

txSig = [txSig1;0 (112 1);txSig2];

送信信号にi / q振幅と位相の不均衡を適用します。

rxSigIQimb = iqimbal(txSig,2,5);

位相ノ@ @ズを適用します。

rxSig = pnoise(rxSigIQimb);

受信信号のevmを測定し,その時変evmをプロットします。

e = evm(txSig,rxSig);tscope (e)

アルゴリズム

EvmブロックおよびEvmオブジェクトのいずれにも3種類の正規化方式が用意されています。測定値の正規化を基準信号の平均電力,平均コンスタレーション電力,またはピークコンスタレーション電力に従って行うことができます。さまざまな業界標準が,これらの正規化方式のいずれかに準拠しています。

ブロックまたはオブジェクトは,それぞれの正規化方式に応じて各様にRMS evmを計算します。

Evm正規化方式 アルゴリズム
基準信号

E V R 年代 1 N k 1 N e k 1 N k 1 N k 2 + k 2 One hundred.

平均電力

ピ,ク電力

ここで,次のようになります。

  • ek e k k ˜ k 2 + k ˜ k 2

  • k=バ,ストにおけるk番目のシンボルの同相での計測

  • k=バ,ストにおけるk番目のシンボルの直交位相での計測

  • N =入力ベクトル長

  • Pavg【星座平均功率】の値

  • P马克斯【星座峰值功率】の値

  • kおよびqkは理想(基準)値を表します。 ˜ k および ˜ k は測定された(受信した)シンボルを表します。

最大evmは,フレ,ムまたはの最大evm値です。ここで,kは長さNのバ,ストにおけるk番目のシンボルです。

维生素kの定義は,測定値の計算に選択された正規化方式に応じて異なります。ブロックまたはオブジェクトは次のアルゴリズムをサポ,トします。

Evm正規化 アルゴリズム
基準信号

平均電力

ピ,ク電力

ブロックまたはオブジェクトは,すべての受信evmk値のヒストグラムを作成して,x百分位evmを計算します。出力でevm値が得られます。维生素値の X% がこの値を下回ります。

拡張機能

R2012aで導入