52 lines
1.5 KiB
Matlab
52 lines
1.5 KiB
Matlab
clc; clear all;
|
|
dir = input('Enter the directory path to T tracer dumps: ');
|
|
fft_size = input('Enter the OFDM FFT size used for file parsing: ');
|
|
num_resources = input('Enter number of PRS respurces: ');
|
|
num_gnb = input('Enter number of active gNBs: ');
|
|
num_prs_symb = 1;
|
|
start_resource = 0;
|
|
buff_offset = start_resource*2*fft_size;
|
|
|
|
%% Channel Impulse Response(CIR)
|
|
figure, hold on;
|
|
for i=0:num_gnb-1
|
|
for j=0:num_resources-1
|
|
file = [dir '/chT_gnb', num2str(i), '_', num2str(j), '.raw'];
|
|
fid = fopen(file, 'r');
|
|
if (fid > 0)
|
|
x = fread(fid, Inf, 'int16');
|
|
else
|
|
disp(['Failed to open the file ', file, '..!!'])
|
|
return;
|
|
end
|
|
fclose(fid);
|
|
|
|
y = x(buff_offset+1:2:num_prs_symb*2*fft_size) + 1j*x(buff_offset+2:2:num_prs_symb*2*fft_size);
|
|
plot(abs(fftshift(y)));
|
|
end
|
|
end
|
|
xlabel('FFT Index'); ylabel('ABS');
|
|
title('CHANNEL IMPULSE RESPONSE');
|
|
hold off;
|
|
|
|
%% Channel Frequncy Response(CFR)
|
|
figure, hold on;
|
|
for i=0:num_gnb-1
|
|
for j=0:num_resources-1
|
|
file = [dir '/chF_gnb', num2str(i), '_', num2str(j), '.raw'];
|
|
fid = fopen(file, 'r');
|
|
if (fid > 0)
|
|
x = fread(fid, Inf, 'int16');
|
|
else
|
|
disp(['Failed to open the file ', file, '..!!'])
|
|
return;
|
|
end
|
|
fclose(fid);
|
|
|
|
y = x(buff_offset+1:2:num_prs_symb*2*fft_size) + 1j*x(buff_offset+2:2:num_prs_symb*2*fft_size);
|
|
plot(abs(y));
|
|
end
|
|
end
|
|
xlabel('FFT Index'); ylabel('ABS');
|
|
title('CHANNEL FREQUENCY RESPONSE');
|
|
hold off; |