EVM in radial and circumferential directions?
4 ビュー (過去 30 日間)
古いコメントを表示
Can comm.EVM measure EVM in the radial and circumferential (i.e., along the unit circle) directions separately?
2 件のコメント
採用された回答
Abhimenyu
2023 年 10 月 18 日
Hi Jerry,
I understand that you want to measure EVM in radial and circumferential direction separately. ‘comm.EVM’ object measures the root mean squared (RMS) EVM, maximum EVM, and percentile EVM of a received signal. It gives overall EVM as a percentage of distance from the origin to ideal point. It does not separate the radial and circumferential components.
Please follow the example code below to understand the EVM measurements in different directions:
% Generate a reference signal (QPSK)
constellation = [-1-1i, -1+1i, 1-1i, 1+1i];
refSignal = constellation(randi([1, 4], 1000, 1));
% Generate a modulated signal with noise and distortion
SNR_dB = 20; % Signal-to-noise ratio in decibels
modSignal = awgn(refSignal, SNR_dB, 'measured'); % Add white Gaussian noise
modSignal = modSignal + 0.1 * exp(1i * pi / 4); % Add constant phase offset
modSignal = modSignal .* (1 + 0.2 * (randn(size(modSignal)))) + 1i * randn(size(modSignal)); % Add random amplitude and phase variation
% Compute the error vector
errorVector = modSignal - refSignal;
% Compute the radial component of the error vector
radialErrorVector = abs(errorVector);
% Compute the circumferential component of the error vector
circumferentialErrorVector = angle(errorVector);
% Calculate the RMS values of the radial and circumferential errors
rmsRadialError = rms(radialErrorVector);
rmsCircumferentialError = rms(circumferentialErrorVector);
% Normalize the error values by the magnitude of the reference signal to obtain the EVM in each direction
evmRadial = 100 * rmsRadialError / mean(abs(refSignal))
evmCircumferential = 100 * rmsCircumferentialError / mean(abs(refSignal))
Please follow the MATLAB documentation link below to learn more about the ‘comm.EVM’ object:
I hope this helps!
Thanks,
Abhimenyu
2 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で PHY Components についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!