Skip to content

Commit

Permalink
separate noise matrix
Browse files Browse the repository at this point in the history
  • Loading branch information
rookiepeng committed Jul 23, 2024
1 parent 8489353 commit e994ee1
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 8 deletions.
2 changes: 1 addition & 1 deletion radarsimlib
Submodule radarsimlib updated 1 files
+1 −1 src/radarsimcpp
17 changes: 10 additions & 7 deletions src/+RadarSim/Simulator.m
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
properties (Access = public)
version_ = '';
baseband_;
noise_;
timestamp_;
interference_;

Expand Down Expand Up @@ -47,7 +48,6 @@ function Run(obj, radar, targets, kwargs)
obj
radar RadarSim.Radar
targets
kwargs.noise=true
kwargs.density=1
kwargs.level='frame' % 'frame', 'pulse', 'sample'
kwargs.interf=[]
Expand Down Expand Up @@ -80,9 +80,7 @@ function Run(obj, radar, targets, kwargs)

obj.timestamp_ = radar.timestamp_;

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

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 All @@ -95,6 +93,7 @@ function Run(obj, radar, targets, kwargs)

if strcmp(radar.rx_.bb_type_, "real")
obj.baseband_ = real(obj.baseband_);
% obj.noise_ = real(obj.noise_);
obj.interference_ = real(obj.interference_);
end
end
Expand Down Expand Up @@ -174,7 +173,7 @@ function add_mesh_target(obj, target)

end

function add_noise(obj, radar)
function noise_mat = generate_noise(obj, radar)
boltzmann_const = 1.38064852e-23;
Ts = 290;
input_noise_dbm = 10 * log10(boltzmann_const * Ts * 1000); % dBm/Hz
Expand All @@ -186,8 +185,12 @@ function add_noise(obj, radar)
receiver_noise_watts = 1e-3 * 10^(receiver_noise_dbm / 10); % Watts/sqrt(hz)
noise_amplitude_mixer = sqrt(receiver_noise_watts * radar.rx_.load_resistor_);
% noise_amplitude_peak = noise_amplitude_mixer;

obj.baseband_ = obj.baseband_+noise_amplitude_mixer*(randn(size(obj.baseband_))+1i*randn(size(obj.baseband_)));

if strcmp(radar.rx_.bb_type_, "real")
noise_mat = noise_amplitude_mixer*(randn(size(obj.baseband_)));
else
noise_mat = noise_amplitude_mixer/sqrt(2)*(randn(size(obj.baseband_))+1i*randn(size(obj.baseband_)));
end

end

Expand Down

0 comments on commit e994ee1

Please sign in to comment.