From 62ab58b741e492ef1831e6eb8d54bf0f13f6f96c Mon Sep 17 00:00:00 2001 From: canisio Date: Thu, 2 Apr 2026 16:28:41 -0300 Subject: [PATCH] Changed Update parameter subsystem on chirp TB to pulse fc and pulse BW. --- chirp_block/TBm_chirp.slx | Bin 130882 -> 150948 bytes chirp_block/soc_resm_init.m | 115 +++++++++++------------------------- 2 files changed, 36 insertions(+), 79 deletions(-) diff --git a/chirp_block/TBm_chirp.slx b/chirp_block/TBm_chirp.slx index d087b0fca4ed13bf980d3a9784a94679c77c0907..d9455f4551b3b285dbb28dc0199d79906eca30ba 100644 GIT binary patch delta 27499 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 delta 12517 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 LE^iVzHtxRw0{dm% diff --git a/chirp_block/soc_resm_init.m b/chirp_block/soc_resm_init.m index 2f475c3..6947d9e 100644 --- a/chirp_block/soc_resm_init.m +++ b/chirp_block/soc_resm_init.m @@ -1,55 +1,14 @@ %% Rate setup -fs = 4096e6; +fs = 512e6; % Effective fs before interpolation / after decimation Ts = 1/fs; %% Host Sample Time in Simulation -TsHost = 5e-5; +%TsHost = 5e-5; -SamplesPerCycle = 16; +SamplesPerCycle = 4; FPGAClkRate = fs/SamplesPerCycle; TsFPGA = 1/FPGAClkRate; - -%% Channelizer parameters - -% Number of channels, maximally decimated channelizer M/D=1 -nChan = 128; - -% Taps per band -nTapsPerBand = 12; - -% Create channelizer object -channelizer = dsp.Channelizer('NumFrequencyBands',nChan,... - 'DecimationFactor',nChan,... - 'NumTapsPerBand',nTapsPerBand); -% Channelizer coefficients -channelizerCoeffs = channelizer.coeffs.Numerator; - -% Channel bandwidth -chanBW = fs/nChan; - -% Starting frequency for each channel -chanFStart = chanBW/2:chanBW:(fs/2-chanBW/2); - -% Number of frames out of channelzier -nFrames = nChan/SamplesPerCycle; - -% Frame size after serializing x2 -frameSize = SamplesPerCycle/2; - -%% Detection parameters - -% Moving average window length -movingAverageWindowLength = 64; - -% Moving average comparison offset -movingAverageCompareOffset = 32; - -% Threshold for ratio of current moving average to offset -thresholdScale = 500; -thresholdScaleDT = fixdt(1,18,-6); -thresholdScaleFi = fi(thresholdScale, thresholdScaleDT); - %% Tx signal generator parameters % NCO accumulator word length @@ -67,14 +26,14 @@ NCOCountIncDT = numerictype(1,NCOAccumWL*2,NCOAccumWL); %% Test signal parameters % Pulse width -pulseWidth = 8e-6; +pulseWidth = 10e-6; % Pulse start/end frequencies -pulseStartFreq = 1305e6; -pulseEndFreqOffset = 15e6; +pulseCentFreq = 100e6; +pulseBw = 40e6; % Pulse bandwidth % Number of pulses -numPulses = 2; +numPulses = 4; % Pulse repetition interval PRI = 50e-6; @@ -82,41 +41,39 @@ PRI = 50e-6; % Output gain pulseGenGain = 1; -%% Capture parameters - -% Time to capture after a detection -captureDuration = 10e-6; -captureLength = round(captureDuration*chanBW); - -% Length of capture frame -% Contains I/Q data plus channel number and two words of timestamp -captureFrameLength = captureLength+3; - -% Max number of capture frames in a DMA packet -captureFramesPerPacket = 50; - -% Timeout to transfer a DMA packet if number of frames less than max -capturePacketTimeout = 1e-3; - -%% DMA parameters - -% DMA packet length -DMAPacketLength = captureFrameLength*captureFramesPerPacket; -DMAPacketSize = captureFrameLength*captureFramesPerPacket; - -% Number of DMA buffers -DMANumBuffers = 8; - -% DMA FIFO depth -DMAFIFODepth = 4096; - %% Software parameters % Signal generator update rate -TsSW = 0.25; +TsSW = 0.0025; %% Simulation parameters % Sim run time -% stoptime = PRI*numPulses + 1e-3; -stoptime = PRI*captureFramesPerPacket + 1e-5; +stoptime = 10*TsSW; + +%% Channelizer parameters + +% Number of channels, maximally decimated channelizer M/D=1 +%nChan = 512; + +% Taps per band +%nTapsPerBand = 16; + +% Create channelizer object +%channelizer = dsp.Channelizer('NumFrequencyBands',nChan,... +% 'DecimationFactor',nChan,... +% 'NumTapsPerBand',nTapsPerBand); +% Channelizer coefficients +%channelizerCoeffs = channelizer.coeffs.Numerator; + +% Channel bandwidth +%chanBW = fs/nChan; + +% Starting frequency for each channel +%chanFStart = chanBW/2:chanBW:(fs/2-chanBW/2); + +% Number of frames out of channelzier +%nFrames = nChan/SamplesPerCycle; + +% Frame size after serializing x2 +%frameSize = SamplesPerCycle/2; \ No newline at end of file