Compare commits
14 Commits
v1.1
...
a3d46a9113
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a3d46a9113 | ||
|
|
15f20619b1 | ||
|
|
88e9df3dbb | ||
|
|
beb5410390 | ||
|
|
2b8f8de030 | ||
|
|
9fd110f451 | ||
|
|
aad231b55a | ||
|
|
3748b65872 | ||
|
|
d83006c50c | ||
|
|
5e5bba3ce6 | ||
|
|
ccc6b9cd73 | ||
|
|
f221e14c2c | ||
|
|
a01186484e | ||
|
|
4241699c3d |
Binary file not shown.
@@ -86,10 +86,12 @@ Implementation typically uses:
|
||||
|
||||
### ADC Input
|
||||
- Sampling rate: 4096 MSPS
|
||||
- Data type: **fixdt(1,16,15)** (Q1.15 format)
|
||||
|
||||
### PFB Channelizer
|
||||
- Decimation: 8
|
||||
- Effective bandwidth: 512 MHz
|
||||
- Input and internal scaling aligned to Q1.15 domain
|
||||
|
||||
### FFT
|
||||
- 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
|
||||
|
||||
- Data type: uint64
|
||||
- Packed real/imag
|
||||
- Data type: uint32 (packed complex: 16-bit real + 16-bit imag)
|
||||
- TLAST = frame boundary
|
||||
|
||||
---
|
||||
@@ -114,7 +154,7 @@ Implementation typically uses:
|
||||
## Data Format
|
||||
|
||||
- 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
|
||||
- High throughput
|
||||
- Deterministic latency
|
||||
- Consistent fixed-point scaling (Q1.15 end-to-end)
|
||||
- Supports dual-mode operation (channelizer / bypass)
|
||||
|
||||
---
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -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"/>
|
||||
Binary file not shown.
@@ -28,7 +28,7 @@ pulseWidth = 4e-6;
|
||||
|
||||
% Pulse start/end frequencies
|
||||
pulseCentFreq = 100e6;
|
||||
pulseBw = 5e6; % Pulse bandwidth
|
||||
pulseBw = 10e6; % Pulse bandwidth
|
||||
|
||||
% Number of pulses
|
||||
numPulses = 10;
|
||||
@@ -46,12 +46,12 @@ pulseGenGain = 1;
|
||||
%% Software parameters
|
||||
|
||||
% Signal generator update rate
|
||||
TsSW = 0.5e-3;
|
||||
TsSW = 0.00025;
|
||||
|
||||
%% Simulation parameters
|
||||
|
||||
% Sim run time
|
||||
stoptime = 10*TsSW;
|
||||
stoptime = TsFPGA*(9 + 1*348 + 1 + 2*128 + 1); %10*TsSW; %TsFPGA*(1*128+348)
|
||||
|
||||
%% Channelizer parameters
|
||||
|
||||
@@ -74,8 +74,8 @@ channelizerCoeffs = channelizer.coeffs.Numerator;
|
||||
%Starting frequency for each channel
|
||||
%chanFStart = chanBW/2:chanBW:(fs/2-chanBW/2);
|
||||
|
||||
%Number of frames out of channelzier
|
||||
nFrames = nChan/SamplesPerCycle;
|
||||
%Number of frames in the DPW
|
||||
nFrames = 1;%nChan/SamplesPerCycle;
|
||||
|
||||
% Frame size after serializing x2
|
||||
%frameSize = SamplesPerCycle/2;
|
||||
Reference in New Issue
Block a user