|
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" |