Pulse Generator TB validated

This commit is contained in:
canisio
2026-04-02 17:08:44 -03:00
parent a82aed0d5a
commit e810145620
18 changed files with 17 additions and 12 deletions

View File

@@ -0,0 +1,80 @@
%% Rate setup
fs = 512e6; % Effective fs before interpolation / after decimation
Ts = 1/fs;
%% Host Sample Time in Simulation
%TsHost = 5e-5;
SamplesPerCycle = 4;
FPGAClkRate = fs/SamplesPerCycle;
TsFPGA = 1/FPGAClkRate;
%% Tx signal generator parameters
% NCO accumulator word length
NCOAccumWL = 16;
% NCO phase increment scale factor
NCOIncScale = Ts*2^NCOAccumWL;
% NCO phase increments datatype
NCOIncDT = numerictype(1,NCOAccumWL,0);
% NCO counter increment datatype
NCOCountIncDT = numerictype(1,NCOAccumWL*2,NCOAccumWL);
%% Test signal parameters
% Pulse width
pulseWidth = 8.5e-6;
% Pulse start/end frequencies
pulseCentFreq = 125e6;
pulseBw = 50e6; % Pulse bandwidth
% Number of pulses
numPulses = 4;
% Pulse repetition interval
PRF = 20e3;
PRI = 1/PRF;
% Output gain
pulseGenGain = 1;
%% Software parameters
% Signal generator update rate
TsSW = 0.0025;
%% Simulation parameters
% Sim run time
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;