Skip to content

Commit

Permalink
support ray filter
Browse files Browse the repository at this point in the history
  • Loading branch information
rookiepeng committed Aug 19, 2024
1 parent 482e37f commit 283c023
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 6 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
src/radarsim.h
src/radarsimc.dll
/radarsimm*
/.vscode
2 changes: 1 addition & 1 deletion radarsimlib
Submodule radarsimlib updated 1 files
+1 −1 src/radarsimcpp
5 changes: 2 additions & 3 deletions src/+RadarSim/Radar.m
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,12 @@
obj.version_ = [num2str(version_ptr.Value(1)), '.', num2str(version_ptr.Value(2))];
end

obj.radar_ptr=calllib('radarsimc', 'Create_Radar', obj.tx_.tx_ptr, obj.rx_.rx_ptr);

radar_loc_ptr=libpointer("singlePtr",kwargs.location);
radar_spd_ptr=libpointer("singlePtr",kwargs.speed);
radar_rot_ptr=libpointer("singlePtr",kwargs.rotation);
radar_rrt_ptr=libpointer("singlePtr",kwargs.rotation_rate);
calllib('radarsimc', 'Set_Radar_Motion', radar_loc_ptr, radar_spd_ptr, radar_rot_ptr, radar_rrt_ptr, obj.radar_ptr);

obj.radar_ptr=calllib('radarsimc', 'Create_Radar', obj.tx_.tx_ptr, obj.rx_.rx_ptr, radar_loc_ptr, radar_spd_ptr, radar_rot_ptr, radar_rrt_ptr);

obj.num_tx_ = calllib('radarsimc', 'Get_Num_Txchannel', obj.tx_.tx_ptr);
obj.num_rx_ = calllib('radarsimc', 'Get_Num_Rxchannel', obj.rx_.rx_ptr);
Expand Down
10 changes: 8 additions & 2 deletions src/+RadarSim/Simulator.m
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ function Run(obj, radar, targets, kwargs)
targets
kwargs.density=1
kwargs.level='frame' % 'frame', 'pulse', 'sample'
kwargs.noise=true
kwargs.ray_filter=[0, 10]
kwargs.interf=[]
end

Expand All @@ -62,6 +64,8 @@ function Run(obj, radar, targets, kwargs)
end
end

ray_filter = libpointer("int32Ptr",kwargs.ray_filter);

bb_real = libpointer("doublePtr",zeros(radar.samples_per_pulse_, radar.tx_.pulses_, radar.num_tx_*radar.num_rx_*radar.num_frame_));
bb_imag = libpointer("doublePtr",zeros(radar.samples_per_pulse_, radar.tx_.pulses_, radar.num_tx_*radar.num_rx_*radar.num_frame_));

Expand All @@ -75,12 +79,14 @@ function Run(obj, radar, targets, kwargs)
error("ERROR! Unknow level.");
end

calllib('radarsimc','Run_Simulator',radar.radar_ptr, obj.targets_ptr, level, kwargs.density, bb_real, bb_imag);
calllib('radarsimc','Run_Simulator',radar.radar_ptr, obj.targets_ptr, level, kwargs.density, ray_filter, bb_real, bb_imag);
obj.baseband_=reshape(bb_real.Value+1i*bb_imag.Value, radar.samples_per_pulse_, radar.tx_.pulses_, radar.num_tx_*radar.num_rx_*radar.num_frame_);

obj.timestamp_ = radar.timestamp_;

obj.noise_ = obj.generate_noise(radar);
if kwargs.noise
obj.noise_ = obj.generate_noise(radar);
end

if ~isempty(kwargs.interf)
interf_real = libpointer("doublePtr",zeros(radar.samples_per_pulse_, radar.tx_.pulses_, radar.num_tx_*radar.num_rx_*radar.num_frame_));
Expand Down

0 comments on commit 283c023

Please sign in to comment.