SeokhyunJeong / CsiNet-Pytorch

Pytorch reproduction of CsiNet
13 stars 0 forks source link

Ask questions about datasets. #3

Open zhangwb227 opened 5 months ago

zhangwb227 commented 5 months ago

I'm sorry to bother you, but I also recently enjoyed the research on CSI feedback overhead in massive MIMO systems, and I'm glad to find your contribution here. However, I have encountered difficulties in using QuaDRiGa for dataset generation, I would appreciate it if you could share your dataset generation source code with me. Please contact me at zhangwb227@126.com. Thank you very much!

SeokhyunJeong commented 5 months ago

Thank you for your feedback. I used the attached code for the channel generator. Please put this code in Quadriga folder and run it.

If you have any questions feel free to ask me. Thank you very much!

2024년 2월 4일 (일) 오후 9:44, zhangwb227 @.***>님이 작성:

I'm sorry to bother you, but I also recently enjoyed the research on CSI feedback overhead in massive MIMO systems, and I'm glad to find your contribution here. However, I have encountered difficulties in using QuaDRiGa for dataset generation, I would appreciate it if you could share your dataset generation source code with me. Please contact me at @.*** Thank you very much!

— Reply to this email directly, view it on GitHub https://github.com/SeokhyunJeong/CsiNet-Pytorch/issues/3, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJK5NF3WYJAEC2ZYRWFCRNDYR57BRAVCNFSM6AAAAABCY2WWQGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGEYTOMBYGAZTAMI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

clear all; clc;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Note: Output h is a N_UE by N_BS by N_sc by N_time matrix

%% Control variables %% % Carrier frequency and bandwidth fc = 28e9; % in Hz BW = 1e8; % in Hz OFDM_size=1024;

N_ver=32; % Number of antenna in vertical array N_hor=1; % Number of antenna in Horizontal array Downtilt_angle=10; % in degree

% UE mobility (UE is moving linearly to a random direction) UE_velocity_kmh=6; % in km/h Channel_aging_period=10^-3; % in s

% Get channel h=mmWave_OFDM_TVchannel_generation(fc,BW,OFDM_size,N_ver,N_hor,Downtilt_angle,UE_velocity_kmh,Channel_aging_period);

% Channel fluctuation example UE_antenna_idx=1; BS_antenna_idx=1; for idx=1:size(h,4) channel_magnitude(idx)=norm(squeeze(h(UE_antenna_idx,BS_antenna_idx,:,idx))); end plot(channel_magnitude);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Inputs: % fc: carrier frequency in Hz % BW: bandwidth in Hz % OFDM_size: FFD size % N_ver: Number of antenna in vertical array % N_hor: Number of antenna in Horizontal array % Downtilt_angle: Antenna downtilt angle in degree % UE_velocity_kmh: UE speed in km/h % Channel_aging_period: Time varing channel aging in s

% Output: % 4-D channel matrix (UE antenna, BS_antenna, subcarrier, channel_idx) % h: N_UE N_BS OFDM_size * 200

function h=mmWave_OFDM_TVchannel_generation(fc,BW,OFDM_size,N_ver,N_hor,Downtilt_angle,UE_velocity_kmh,Channel_aging_period)

%% Simulation parameters setting Par = qd_simulation_parameters; Par.center_frequency = fc; Par.sample_density = 2; Par.use_3GPP_baseline=1;

%% Simulation track setting Track = qd_track('linear',199UE_velocity_kmh/3.6Channel_aging_period,unifrnd(-pi,pi)); Track.initial_position = [unifrnd(50,100);unifrnd(50,100);1.7]; Track.scenario = '3GPP_38.901_UMa_NLOS'; Track.interpolate_positions( Par.samples_per_meter);

%% Simulation layout Layout = qd_layout( Par ); Layout.tx_array = qd_arrayant('3gpp-mmw',N_ver,N_hor,fc,1,Downtilt_angle,0.5,1,1,[],[]); Layout.rx_array = qd_arrayant('dipole'); Layout.tx_position(3) = 25; Layout.rx_track = Track;

%% Get channel cn = Layout.get_channels; Track.set_speed( UE_velocity_kmh/3.6 ); dist = Track.interpolate_movement(Channel_aging_period ); ci = cn.interpolate( dist ); h = ci.fr(BW, OFDM_size); size(h) end

FardadAnsari commented 2 months ago

Thanks for the code, may i ask you something about the data you employed for CSInet_pytorch repository, it is indoor or outdoor and which frequesncy 300MHz or 5.3GHz ? Warm Regards

zhangwb227 commented 2 months ago

indoor<---->5.3GHz

outdoor<---->300MHz

The details can be found at the bottom left of page 3 of this article.

"Deep Learning for Massive Mimo Csi Feedback,https://arxiv.org/pdf/1712.08919 "

At 2024-05-21 02:46:16, "Fardad" @.***> wrote:

Thanks for the code, may i ask you something about the data you employed for CSInet_pytorch repository, it is indoor or outdoor and which frequesncy 300MHz or 5.3GHz ? Warm Regards

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

FardadAnsari commented 2 months ago

Thanks for the replay , since we had generated data as csv file in @SeokhyunJeong seokhyunjeong repositories

SeokhyunJeong commented 2 months ago

Thanks for the code, may i ask you something about the data you employed for CSInet_pytorch repository, it is indoor or outdoor and which frequesncy 300MHz or 5.3GHz ? Warm Regards

Thank you for your comment. In the original CsiNet paper, data include outdoor 300MHz and indoor 5.3GHz. In our dataset, for the validation in mmWave frequency band, we employed 28GHz outdoor: 3GPP_38.901_UMa_NLOS.

SecretGuy commented 2 weeks ago

Thanks a lot for you sharing the code of generating CSI, but i meet a question when i runned the code. I copied the code and runned it, the result doesn't like the data_large or the data_online dataset shareing in your google driver. The result runned the code show only 200 column datas, but the data_large or the data_online includes 2048 column in one row. So, May i ask you some questions ? 1.How should I adjust the code to generate the dataset like the data_large or the data_online, and save it? 2.In fact, I need to generate more than 32 antennas dataset, like 48, 64 and more. Should I change the parameter N_ver to 48, 64? I feel so sorry to bother you. Best wishes !!!