hPUSCHEVM using with TDD uplink signals

2 ビュー (過去 30 日間)
Reichmuth Kim
Reichmuth Kim 2020 年 11 月 12 日
コメント済み: Zhengguang Zhang 2023 年 7 月 5 日
Hello,
I try to use the function as described in Title to evaluate the EVM of an LTE UE Uplink signal in TDD. I tried to do it like the example "LT E Uplink EVM and In-Band Emissions Measurements" openExample('lte/UplinkEVMandInBandEmissionsExample')
I generated a signal over the lteRMCULTool and set the Duplex Mode to TDD. Result is that i´ve got EVM over 300% and a warning:
________
Warning: CRC failed on decoded data, using sliced received symbols, EVM may be inaccurate!
> In hPUSCHEVM_ (line 303)
In UplinkEVMandInBandEmissionsExample (line 111)
________
Why does´nt it work with TDD. Can somebody help me?
EDIT: Code as follows:
clear all; close all;
%% Transmitter
% Set the seeds of random number generators used to 0
rng(0);
% UE Configuration, TS36.101 FRC
frc = lteRMCUL('A3-5');
frc.PUSCH.RVSeq = 0; % Redundancy version
frc.TotSubframes = 10; % Total number of subframes to generate
frc.DuplexMode = 'TDD';
% Create UE transmission with random PUSCH data
txWaveform = lteRMCULTool(frc,randi([0 1], frc.PUSCH.TrBlkSizes(1), 1));
%% Impairment Modeling
% Model EVM with additive noise
scfdmaInfo = lteSCFDMAInfo(frc);
txEVMpc = 1.2; % Desired transmit EVM in percent
evmModel = txEVMpc/(100*sqrt(double(scfdmaInfo.Nfft)))* ...
complex(randn(size(txWaveform)),randn(size(txWaveform)))/sqrt(2);
rxWaveform = txWaveform+evmModel;
% Add frequency offset impairment to received waveform
foffset = 33.0; % Frequency offset in Hertz
t = (0:length(rxWaveform)-1).'/scfdmaInfo.SamplingRate;
rxWaveform = rxWaveform.* exp(1i*2*pi*foffset*t);
% Add IQ offset
iqoffset = complex(0.01, -0.005);
rxWaveform = rxWaveform+iqoffset;
%% Receiver
% Apply frequency estimation and correction for the purposes of performing
% timing synchronization
foffset_est = lteFrequencyOffset(frc, rxWaveform);
rxWaveformFreqCorrected = ...
lteFrequencyCorrect(frc, rxWaveform, foffset_est);
% Synchronize to received waveform
offset = lteULFrameOffset(frc, frc.PUSCH, rxWaveformFreqCorrected);
rxWaveform = rxWaveform(1+offset:end,:);
%% Perform Measurements
% Compute EVM and in-band emissions
[evmpusch, evmdrs, emissions, plots] = hPUSCHEVM(frc, rxWaveform);
% Plot the absolute in-band emissions
if (~isempty(emissions.DeltaRB))
hPUSCHEVMEmissionsPlot(emissions);
end
  1 件のコメント
Zhengguang Zhang
Zhengguang Zhang 2023 年 7 月 5 日
Hi Reichmuth, have you addressed the issue? I encountered the same error. Please kindly let me know if you found solutions. Thank you!

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeSignal Processing についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by