Agora
1.2.0
Agora project
|
Functions | |
function | inspect_agora_ul_results (dataset_filename, verbose) %%Load data from the input file and inspect evm and snr %dataset_filename |
id | Data () |
*for complex | type (native float) total_samples |
Variables | |
inspect_frame = 100 | |
verbose = "false" | |
end | total_frames = double(h5readatt(dataset_filename, group_id, 'MAX_FRAME')) |
samples_per_slot = double(h5readatt(dataset_filename, group_id, 'SLOT_SAMP_LEN')) | |
tx_zero_prefix_len = double(h5readatt(dataset_filename, group_id, 'TX_ZERO_PREFIX_LEN')) | |
data_size = double(h5readatt(dataset_filename, group_id, 'OFDM_DATA_NUM')) | |
data_start = double(h5readatt(dataset_filename, group_id, 'OFDM_DATA_START')) | |
data_stop = double(h5readatt(dataset_filename, group_id, 'OFDM_DATA_STOP')) | |
fft_size = double(h5readatt(dataset_filename, group_id, 'OFDM_CA_NUM')) | |
cp_len = double(h5readatt(dataset_filename, group_id, 'CP_LEN')) | |
total_ul_symbols = double(h5readatt(dataset_filename, group_id, 'UL_SLOTS')) | |
ul_pilot_symbols = double(h5readatt(dataset_filename, group_id, 'UL_PILOT_SLOTS')) | |
cl_sdr_id = h5readatt(dataset_filename, group_id, 'CL_SDR_ID') | |
Choose the Beacon data | dataset_id = '/Pilot_Samples' |
end Generate a int16 array | rx_pilots_hdf5 = h5read(dataset_filename, strcat(group_id,dataset_id)) |
Dimensions[Samples, Ant, Symbol, Cells, Frame] | total_users = size(rx_pilots_hdf5, 2) |
Convert to double and scale | rx_pilots_scaled_double = double(rx_pilots_hdf5) ./ double(intmax('int16')) |
Convert to complex double Samples x User x Symbol | rx_pilots_cxdouble = complex(rx_pilots_scaled_double(1:2:end, :, :, 1:total_frames), rx_pilots_scaled_double(2:2:end,:, :, 1:total_frames)) |
end Generate a int16 array | rx_syms_hdf5 = h5read(dataset_filename, strcat(group_id,dataset_id)) |
Convert to double and scale | rx_syms_scaled_double = double(rx_syms_hdf5) ./ double(intmax('int16')) |
Convert to complex double Samples x User x Symbol x Frame | rx_syms_cxdouble = complex(rx_syms_scaled_double(1:2:end, :, :, 1:total_frames), rx_syms_scaled_double(2:2:end,:, :, 1:total_frames)) |
Split off pilots and data | rx_pilot_cxdouble = rx_syms_cxdouble(:,:,1:ul_pilot_symbols, :) |
rx_data_cxdouble = rx_syms_cxdouble(:,:,1+ul_pilot_symbols:end, :) | |
configs | |
end | start = [1 1 1 1 1] |
count = [total_samples total_users 1 1 1] | |
tx_pilot_hdf5 = double(h5read(dataset_filename, strcat(group_id,dataset_id), start, count)) | |
Convert to complex | tx_pilot_cxdouble = complex(tx_pilot_hdf5(1:2:end,:), tx_pilot_hdf5(2:2:end,:)) |
|
virtual |
* for complex type | ( | native float | ) |
cl_sdr_id = h5readatt(dataset_filename, group_id, 'CL_SDR_ID') |
configs |
clear tx_pilot_hdf5 dataset_id start count = [total_samples total_users 1 1 1] |
data_size = double(h5readatt(dataset_filename, group_id, 'OFDM_DATA_NUM')) |
data_start = double(h5readatt(dataset_filename, group_id, 'OFDM_DATA_START')) |
data_stop = double(h5readatt(dataset_filename, group_id, 'OFDM_DATA_STOP')) |
dataset_id = '/Pilot_Samples' |
fft_size = double(h5readatt(dataset_filename, group_id, 'OFDM_CA_NUM')) |
inspect_frame = 100 |
rx_data_cxdouble = rx_syms_cxdouble(:,:,1+ul_pilot_symbols:end, :) |
Split off pilots and data rx_pilot_cxdouble = rx_syms_cxdouble(:,:,1:ul_pilot_symbols, :) |
Convert to complex double Samples x User x Symbol rx_pilots_cxdouble = complex(rx_pilots_scaled_double(1:2:end, :, :, 1:total_frames), rx_pilots_scaled_double(2:2:end,:, :, 1:total_frames)) |
clear rx_pilots_hdf5 = h5read(dataset_filename, strcat(group_id,dataset_id)) |
clear rx_pilots_scaled_double = double(rx_pilots_hdf5) ./ double(intmax('int16')) |
Convert to complex double Samples x User x Symbol x Frame rx_syms_cxdouble = complex(rx_syms_scaled_double(1:2:end, :, :, 1:total_frames), rx_syms_scaled_double(2:2:end,:, :, 1:total_frames)) |
clear rx_syms_hdf5 = h5read(dataset_filename, strcat(group_id,dataset_id)) |
clear rx_syms_scaled_double = double(rx_syms_hdf5) ./ double(intmax('int16')) |
samples_per_slot = double(h5readatt(dataset_filename, group_id, 'SLOT_SAMP_LEN')) |
end start = [1 1 1 1 1] |
end total_frames = double(h5readatt(dataset_filename, group_id, 'MAX_FRAME')) |
total_ul_symbols = double(h5readatt(dataset_filename, group_id, 'UL_SLOTS')) |
Dimensions [Samples, Ant, Symbol, Cells, Frame] total_users = size(rx_pilots_hdf5, 2) |
Convert to complex tx_pilot_cxdouble = complex(tx_pilot_hdf5(1:2:end,:), tx_pilot_hdf5(2:2:end,:)) |
tx_pilot_hdf5 = double(h5read(dataset_filename, strcat(group_id,dataset_id), start, count)) |
tx_zero_prefix_len = double(h5readatt(dataset_filename, group_id, 'TX_ZERO_PREFIX_LEN')) |
ul_pilot_symbols = double(h5readatt(dataset_filename, group_id, 'UL_PILOT_SLOTS')) |
if verbose = "false" |