IEEE.org     |     IEEE Xplore Digital Library     |     IEEE Standards     |     IEEE Spectrum     |     More Sites

Commit 54c974e1 authored by Martin Hudlicka's avatar Martin Hudlicka
Browse files

Updated code

parent 41c4ff47
......@@ -97,6 +97,17 @@
% introduced before MATLAB 2006a.
% Split titles of two constellation diagrams into two lines so that the
% entire titles are visible.
%
% Version 14 24 June 2021
% Updates on modularization by Paritosh Manurkar
% Removed EVM calculation with equalization to have a separate function
% Removed Computation of NPR and NMSE on oversampled signal to have a separate function
%
% Version 15 28 June 2021
% Updates on modularization by Paritosh Manurkar
% Used the generalized plotting function from the single-carrier case for
% plotting the OFDM constellation diagrams
%
%--------------------------------------------------------------------
%
% The OFDM ideal and impaired signals are read from two files
......@@ -133,8 +144,11 @@ close all
%% Define global structure and initialize variables
global structGlobal
structGlobal.evm_results_folder = 'placeholder';
structGlobal.filename = 'placeholder';
structGlobal.ideal_file = 'placeholder';
structGlobal.impaired_file = 'placeholder';
structGlobal.SISmn = 'placeholder';
structGlobal.filename_results = 'placeholder';
structGlobal.filename_constellation = 'placeholder';
%% Choose more or less print and plot outputs
structGlobal.tracedebug = 1; %1; % 0, 1 , 2, 3, 4, 5 or 6
......@@ -142,12 +156,12 @@ structGlobal.printdebug = 1; %0; % 0, 1 or 2
%% User inputs for folder and filename
[structGlobal.evm_results_folder,structGlobal.filename,ideal_file,impaired_file] = F_UserInputs_Rx();
F_UserInputs_Rx();
%% Read signal files
xFideal = dlmread(ideal_file, '\t').'; % ideal bb signal file
xF = dlmread(impaired_file, '\t').'; % impaired bb signal file
xFideal = dlmread(structGlobal.ideal_file, '\t').'; % ideal bb signal file
xF = dlmread(structGlobal.impaired_file, '\t').'; % impaired bb signal file
%% Basic_Communication_Parameters
......@@ -157,18 +171,4 @@ params = F_Basic_Communication_Parameters();
%% Calculate EVM using the P1765 OFDM Baseline EVM Algorithm
[tau0,G_OPT,EVM] = F_P1765_OFDM_Baseline_EVM_Algorithm(params, xFideal, xF);
F_Save_Results(EVM*100, tau0, G_OPT);
fprintf('=================================================================\n')
%% Calculate Average of EVM on frequency channels e.g. with equalization
% Not a part of the P1765 OFDM Baseline EVM Algorithm, Refer to Section 9.1.2
[G_OPT2,EVM_with_equalization] = F_P1765_OFDM_Baseline_EVM_Algorithm_with_equalization(params, xFideal, xF);
F_Save_Results_EVM_with_equalization(EVM_with_equalization*100, G_OPT2)
fprintf('=================================================================\n')
%% Computation of NPR and NMSE on oversampled signal
% Not a part of the P1765 OFDM Baseline EVM Algorithm, Refer to Section 7.5
[NPR_EVM, NMSE] = F_P1765_OFDM_NMSE_Algorithm(params,xFideal,xF);
F_Save_Results_NPR_EVM_NMSE(NPR_EVM*100, 10*log10(NMSE));
fprintf('=================================================================\n')
fprintf('=================================================================\n')
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment