verilog-transceiver
28 строк · 877.0 Байт
1import sys
2import numpy as np
3
4# def float_to_binary(float_num):
5# import struct
6# return ''.join(format(c, '08b') for c in struct.pack('!f', float_num))
7
8def float_to_binary(float_num):
9from bitstring import BitArray
10bit_array = BitArray(float=float_num, length=16)
11return bit_array.bin
12
13polarity = sys.argv[1]
14
15if polarity == 'pos':
16file_name = 'sin_value.dat'
17with open(file_name, 'w') as s:
18t = np.arange(0, 2*np.pi-2*np.pi/256, 2*np.pi/256)
19sin_array = np.sin(t)
20for i in range(255):
21s.write(float_to_binary(sin_array[i]) + '\n')
22elif polarity == 'neg':
23file_name = polarity + '_sin_val.dat'
24with open(file_name, 'w') as s:
25t = np.arange(0, 2*np.pi-2*np.pi/256, 2*np.pi/256)
26sin_array = -np.sin(t)
27for i in range(255):
28s.write(float_to_binary(sin_array[i]) + '\n')