Add files via upload
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import numpy as np
|
||||
|
||||
# Parameters
|
||||
f0 = 1e6 # Start frequency (Hz)
|
||||
f1 = 15e6 # End frequency (Hz)
|
||||
fs = 120e6 # Sampling frequency (Hz)
|
||||
T = 1e-6 # Time duration (s)
|
||||
N = int(fs * T) # Number of samples
|
||||
|
||||
# Frequency slope
|
||||
k = (f1 - f0) / T
|
||||
|
||||
# Generate time array
|
||||
t = np.arange(N) / fs
|
||||
|
||||
# Calculate phase
|
||||
phase = 2 * np.pi * (f0 * t + 0.5 * k * t**2)
|
||||
|
||||
# Generate sine wave and convert to 8-bit values
|
||||
waveform_LUT = np.uint8(128 + 127 * np.sin(phase))
|
||||
|
||||
# Print the LUT in Verilog format
|
||||
print("waveform_LUT[0] = 8'h{:02X};".format(waveform_LUT[0]))
|
||||
for i in range(1, N):
|
||||
print("waveform_LUT[{}] = 8'h{:02X};".format(i, waveform_LUT[i]))
|
||||
Reference in New Issue
Block a user