fft_test_functions.py
38 lines
| 1.2 KiB
| text/x-python
|
PythonLexer
/ test_fft / fft_test_functions.py
paul
|
r4 | import numpy as np | ||
from __main__ import RMAPPlugin0 | ||||
def getWaveFromRecord( cwf, bufferSize, offset, column ): | ||||
yVector = cwf[(0+offset):(bufferSize+offset), column] | ||||
return yVector | ||||
def sineWave( bufferSize, nbPeriod, amplitude): | ||||
deltaX = nbPeriod * 2 * np.pi / bufferSize | ||||
xVector = np.arange( bufferSize ) * deltaX | ||||
yVector = np.int16( amplitude * np.sin( xVector ) ) | ||||
return yVector | ||||
def continuous( bufferSize, value ): | ||||
tmpVector = np.empty( bufferSize ) | ||||
tmpVector.fill( value ) | ||||
yVector = np.int16( tmpVector ) | ||||
return yVector | ||||
def generateDataToWrite( bufferSize, wfrm0, wfrm1 ): | ||||
dataVector = [] | ||||
for k in range(bufferSize): | ||||
dataVector.append( ( wfrm1[k] << 16) + wfrm0[k] ) | ||||
return dataVector | ||||
def print_reg_fft( address_CTRL ): | ||||
fft_reg = RMAPPlugin0.Read( address_CTRL, 1) | ||||
out_ren = (fft_reg[0] & 0x0000001f) | ||||
out_reuse = (fft_reg[0] & 0x000003e0) >> 5 | ||||
out_locked = (fft_reg[0] & 0x00007c00) >> 10 | ||||
MEM_IN_SM_Full = (fft_reg[0] & 0x000f8000) >> 15 | ||||
MEM_IN_SM_Empty = (fft_reg[0] & 0x01f00000) >> 20 | ||||
print "out_ren = " + bin( out_ren ) \ | ||||
+ ", out_reuse = " + bin( out_reuse ) \ | ||||
+ ", out_locked = " + bin( out_locked ) \ | ||||
+ ", MEM_IN_SM_Full = " + bin( MEM_IN_SM_Full ) \ | ||||
+ ", MEM_IN_SM_Empty = " + bin( MEM_IN_SM_Empty ) | ||||