功能:
?遍歷生成20到1000個節點的無線通信網絡拓撲推理數據,包括網絡拓撲和每個節點發射的電磁信號,采樣率1MHz/3000,信號時長5.7s,單幀數據波形為實采
數據生成效果:
拓撲及空間位置:
節點電磁信號:
這個程序里的large_nodes_tp函數在我的另一篇博客中有介紹:MATLAB生成大規模無線通信網絡拓撲(任意節點數量)
基礎功能在我的小規模無線通信網絡拓撲推理數據生成的博客中有介紹:
MATLAB仿真生成無線通信網絡拓撲推理數據集
%創建時間:2025年6月8日
%zhouzhichao
%遍歷生成20到1000個節點數量的無線通信網絡拓撲推理數據用于測試close all
clearsnr=40;
Sampling_M = 3000;
%獲取一幀信號及對應功率
[ack,fs] = ack_generate(Sampling_M);
ack_L = length(ack);
signal = ack;
P_signal = sum(abs(signal).^2);
ack_noise = randn(ack_L, 1);
P_noise_1 = sum(ack_noise.^2); % 計算當前噪聲的能量
a_slot_N = round(7*ack_L);for n =20:1000disp(["n: ",n])nodes_P = ones(n, 1);[tp,tp_list] = large_nodes_tp(nodes_P,n);n_edge = length(tp_list);L = n_edge*3*a_slot_N;signals = zeros(n,L);c = 0;A = 10^(snr/10);P_noise = P_signal/A;alpha = sqrt(P_noise / P_noise_1); % 計算縮放因子for epoch=1:3index_list = randperm(n_edge);for i =index_listthis_slot_start_point = c*a_slot_N+1;p = tp_list(i,1);q = tp_list(i,2);P1 = nodes_P(p);P2 = nodes_P(q);%三次響應for m=1:3r_P = 0.9 + (1.1 - 0.9) * rand;signal = r_P*P1*ack;signals(p,this_slot_start_point+(2*m-2)*ack_L:this_slot_start_point+(2*m-1)*ack_L-1) = signal;r_P = 0.9 + (1.1 - 0.9) * rand;signal = r_P*P2*ack;signals(q,this_slot_start_point+(2*m-1)*ack_L:this_slot_start_point+(2*m)*ack_L-1) = signal;endc = c + 1;endendfor i=1:nsignals(i,:) = signals(i,:) + alpha*randn(1, L);endS = signals';aa = tp*tp;D_list = zeros(n,1);for i=1:nD_list(i) = aa(i,i);endsave("D:\無線通信網絡認知\論文1\大修意見\Reviewer1-4 大規模圖實驗\20-1000節點網絡(mat)\"+num2str(n)+"_nodes_data.mat","tp","tp_list","signals")
end