Compare commits
39 Commits
v1.1
...
a7e710b603
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7e710b603 | ||
|
|
c10736a5d7 | ||
|
|
2b7d05b3d9 | ||
|
|
4cbe3b5699 | ||
|
|
bbf87121f0 | ||
|
|
525a5f65e5 | ||
|
|
9a7a05f450 | ||
|
|
0df1044d13 | ||
|
|
f5ec4e6b6e | ||
|
|
293b0e6c50 | ||
|
|
9a0404f1a9 | ||
|
|
6098d86851 | ||
|
|
4ad5c3c5ea | ||
|
|
4b1b94c424 | ||
|
|
78a7d1ae68 | ||
|
|
97d5494781 | ||
|
|
7f369d8692 | ||
|
|
286c464f5a | ||
|
|
91b02cdc79 | ||
|
|
0b1dc081e5 | ||
|
|
d8fe924f6e | ||
|
|
b2ce956f41 | ||
|
|
fc50e71ab5 | ||
|
|
ce87190fba | ||
|
|
cb56e78923 | ||
|
|
a3d46a9113 | ||
|
|
15f20619b1 | ||
|
|
88e9df3dbb | ||
|
|
beb5410390 | ||
|
|
2b8f8de030 | ||
|
|
9fd110f451 | ||
|
|
aad231b55a | ||
|
|
3748b65872 | ||
|
|
d83006c50c | ||
|
|
5e5bba3ce6 | ||
|
|
ccc6b9cd73 | ||
|
|
f221e14c2c | ||
|
|
a01186484e | ||
|
|
4241699c3d |
BIN
block_capture/TBm_capture.slx
Normal file
BIN
block_capture/TBm_capture.slx
Normal file
Binary file not shown.
Binary file not shown.
@@ -86,10 +86,12 @@ Implementation typically uses:
|
|||||||
|
|
||||||
### ADC Input
|
### ADC Input
|
||||||
- Sampling rate: 4096 MSPS
|
- Sampling rate: 4096 MSPS
|
||||||
|
- Data type: **fixdt(1,16,15)** (Q1.15 format)
|
||||||
|
|
||||||
### PFB Channelizer
|
### PFB Channelizer
|
||||||
- Decimation: 8
|
- Decimation: 8
|
||||||
- Effective bandwidth: 512 MHz
|
- Effective bandwidth: 512 MHz
|
||||||
|
- Input and internal scaling aligned to Q1.15 domain
|
||||||
|
|
||||||
### FFT
|
### FFT
|
||||||
- Size: 512
|
- Size: 512
|
||||||
@@ -103,10 +105,48 @@ Implementation typically uses:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Numeric Format and Scaling
|
||||||
|
|
||||||
|
### System Standardization
|
||||||
|
|
||||||
|
The signal chain was standardized to a **Q1.15 fixed-point format (fixdt(1,16,15))**:
|
||||||
|
|
||||||
|
- DAC output uses Q1.15
|
||||||
|
- ADC input is reinterpreted as Q1.15 (Same Stored Integer)
|
||||||
|
- Channelizer input operates in this normalized domain
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Channelizer Output Scaling
|
||||||
|
|
||||||
|
- Native channelizer output: **sFix25_En23**
|
||||||
|
- Rescaled and quantized to: **fixdt(1,16,15)**
|
||||||
|
|
||||||
|
This conversion:
|
||||||
|
|
||||||
|
- Preserves signal dynamic range
|
||||||
|
- Maximizes fractional precision
|
||||||
|
- Uses rounding and saturation
|
||||||
|
- Aligns with system-wide numeric format
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Data Width Reduction
|
||||||
|
|
||||||
|
- Previous format: **50 bits per complex sample** (25 bits real + 25 bits imag)
|
||||||
|
- New format: **32 bits per complex sample** (16 bits real + 16 bits imag)
|
||||||
|
|
||||||
|
Benefits:
|
||||||
|
|
||||||
|
- Reduced AXI bandwidth
|
||||||
|
- Reduced FIFO usage
|
||||||
|
- More efficient DMA transfers
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## AXI4-Stream Output
|
## AXI4-Stream Output
|
||||||
|
|
||||||
- Data type: uint64
|
- Data type: uint32 (packed complex: 16-bit real + 16-bit imag)
|
||||||
- Packed real/imag
|
|
||||||
- TLAST = frame boundary
|
- TLAST = frame boundary
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -114,7 +154,7 @@ Implementation typically uses:
|
|||||||
## Data Format
|
## Data Format
|
||||||
|
|
||||||
- Frame size: 512 samples
|
- Frame size: 512 samples
|
||||||
- Complex values packed into uint64
|
- Complex samples packed into 32-bit words
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -123,6 +163,7 @@ Implementation typically uses:
|
|||||||
- Fully streaming pipeline
|
- Fully streaming pipeline
|
||||||
- High throughput
|
- High throughput
|
||||||
- Deterministic latency
|
- Deterministic latency
|
||||||
|
- Consistent fixed-point scaling (Q1.15 end-to-end)
|
||||||
- Supports dual-mode operation (channelizer / bypass)
|
- Supports dual-mode operation (channelizer / bypass)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Info Ref="bypass_block" Type="Relative"/>
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Info location="088fd74d-4620-4cf8-826f-495fb91d19ae" type="Reference"/>
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info Ref="block_pulsegen" Type="Relative"/>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info location="6a9c972f-52d5-42e0-8c82-940b26905df7" type="Reference"/>
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Info Ref="capture_block" Type="Relative"/>
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Info location="14d75155-da33-4258-97c9-15567dccec3d" type="Reference"/>
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info Ref="block_bypass" Type="Relative"/>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info location="f7229047-4926-407b-902a-a25e790af1a9" type="Reference"/>
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Info Ref="pulsegen_block" Type="Relative"/>
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Info location="e221a7ac-a0f0-4b2d-8909-e0ce275dca2e" type="Reference"/>
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info Ref="block_capture" Type="Relative"/>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info location="c26ab781-2c03-423c-8199-bc6903e4e4f7" type="Reference"/>
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Info File="gm_soc_rfsoc_top_sw.slx" GroupUUID="default" Icon="" Name="Open Interface model" Type="Basic" Visible="1"/>
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Info location="881a1955-5626-41b7-9355-a04f7db84232" type="EntryPoint"/>
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Info location="capture_block" type="File"/>
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Info location="bypass_block" type="File"/>
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info location="block_pulsegen" type="File"/>
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Info location="pulsegen_block" type="File"/>
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info location="block_capture" type="File"/>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info location="block_bypass" type="File"/>
|
||||||
Binary file not shown.
@@ -24,11 +24,11 @@ NCOCountIncDT = numerictype(1,NCOAccumWL*2,NCOAccumWL);
|
|||||||
%% Test signal parameters
|
%% Test signal parameters
|
||||||
|
|
||||||
% Pulse width
|
% Pulse width
|
||||||
pulseWidth = 4e-6;
|
pulseWidth = 0.001;%4e-6;
|
||||||
|
|
||||||
% Pulse start/end frequencies
|
% Pulse start/end frequencies
|
||||||
pulseCentFreq = 100e6;
|
pulseCentFreq = 0e6;
|
||||||
pulseBw = 5e6; % Pulse bandwidth
|
pulseBw = 0e6; % Pulse bandwidth
|
||||||
|
|
||||||
% Number of pulses
|
% Number of pulses
|
||||||
numPulses = 10;
|
numPulses = 10;
|
||||||
@@ -40,18 +40,21 @@ PRI = 1/PRF;
|
|||||||
% CW mode (bypass pulse generation)
|
% CW mode (bypass pulse generation)
|
||||||
CwMode = true;
|
CwMode = true;
|
||||||
|
|
||||||
|
% Counter mode (bypass pulse and CW generation)
|
||||||
|
CounterMode = true;
|
||||||
|
|
||||||
% Output gain
|
% Output gain
|
||||||
pulseGenGain = 1;
|
pulseGenGain = 1;
|
||||||
|
|
||||||
%% Software parameters
|
%% Software parameters
|
||||||
|
|
||||||
% Signal generator update rate
|
% Signal generator update rate
|
||||||
TsSW = 0.5e-3;
|
TsSW = 0.004;
|
||||||
|
|
||||||
%% Simulation parameters
|
%% Simulation parameters
|
||||||
|
|
||||||
% Sim run time
|
% Sim run time
|
||||||
stoptime = 10*TsSW;
|
%stoptime = TsFPGA*(9 + 1*348 + 1 + 2*128 + 1); %10*TsSW; %TsFPGA*(1*128+348)
|
||||||
|
|
||||||
%% Channelizer parameters
|
%% Channelizer parameters
|
||||||
|
|
||||||
@@ -74,8 +77,8 @@ channelizerCoeffs = channelizer.coeffs.Numerator;
|
|||||||
%Starting frequency for each channel
|
%Starting frequency for each channel
|
||||||
%chanFStart = chanBW/2:chanBW:(fs/2-chanBW/2);
|
%chanFStart = chanBW/2:chanBW:(fs/2-chanBW/2);
|
||||||
|
|
||||||
%Number of frames out of channelzier
|
%Number of frames in the DPW
|
||||||
nFrames = nChan/SamplesPerCycle;
|
nFrames = 4;%nChan/SamplesPerCycle;
|
||||||
|
|
||||||
% Frame size after serializing x2
|
% Frame size after serializing x2
|
||||||
%frameSize = SamplesPerCycle/2;
|
%frameSize = SamplesPerCycle/2;
|
||||||
Reference in New Issue
Block a user