decimation working

This commit is contained in:
2025-06-11 08:36:31 -05:00
parent 316ae900ae
commit d60c55f292
31 changed files with 17172 additions and 12834 deletions

View File

@@ -329,7 +329,7 @@ class RadarManager:
self.axi_write_register(TIMING_ENGINE_ADDR + 0x8, num_pulses)
self.axi_write_register(TIMING_ENGINE_ADDR + 0x10, inter_cpi - 1)
def setup_rx(self, num_samples, start_sample):
def setup_rx(self, num_samples, start_sample, dec_rate):
for i in range(NUM_RX):
if JESD204B:
self.axi_write_register(DIG_RX_ADDR + i*DIG_RX_STRIDE + 0x4, num_samples >> 1)
@@ -338,6 +338,10 @@ class RadarManager:
self.axi_write_register(DIG_RX_ADDR + i*DIG_RX_STRIDE + 0x4, num_samples >> 2)
self.axi_write_register(DIG_RX_ADDR + i*DIG_RX_STRIDE + 0x8, start_sample >> 2)
# Decimation Selection
dec_sel = int(np.log2(dec_rate))
self.axi_write_register(DIG_RX_ADDR + i * DIG_RX_STRIDE + 0xC, dec_sel)
# Setup RX Strobe
# self.axi_write_register(TIMING_ENGINE_ADDR + 0x88 + i * 8, start_sample >> 2)
# self.axi_write_register(TIMING_ENGINE_ADDR + 0x8C + i * 8, num_samples >> 2)
@@ -384,9 +388,9 @@ class RadarManager:
def configure_cpi(self, pri, inter_cpi, num_pulses, num_samples, start_sample,
tx_num_samples, tx_start_sample, rx_lo_offset, tx_lo_offset):
self.load_waveform(0, 1, 0.1, tx_num_samples)
self.load_waveform(1, 1, 0.1, tx_num_samples)
tx_num_samples, tx_start_sample, rx_lo_offset, tx_lo_offset, dec_rate):
self.load_waveform(0, 1, 0.05, tx_num_samples)
self.load_waveform(1, 1, 0.05, tx_num_samples)
num_samples_quant = int(self.packet_size / 4)
if num_samples % num_samples_quant > 0:
@@ -400,7 +404,7 @@ class RadarManager:
self.setup_rf_attenuators(rf_atten)
adc_nco = 1e9 % f_adc
dac_nco = 1.001e9 % f_dac
dac_nco = 1e9 % f_dac
# adc_nco = 2e9
# adc_nyquist_zone = np.floor(adc_nco / (f_adc / 2))
@@ -416,7 +420,7 @@ class RadarManager:
self.set_dac_nco(i, dac_nco)
self.setup_timing_engine(pri, num_pulses, inter_cpi)
self.setup_rx(num_samples, start_sample)
self.setup_rx(num_samples, start_sample, dec_rate)
self.setup_tx(tx_num_samples, tx_start_sample)
self.setup_cpi_header(pri, inter_cpi, num_pulses, num_samples, start_sample,
tx_num_samples, tx_start_sample, rx_lo_offset, tx_lo_offset)