primo commit
This commit is contained in:
parent
f4a6d7ef18
commit
5199e34a86
1 changed files with 56 additions and 0 deletions
56
channel.frequency.gen.py
Executable file
56
channel.frequency.gen.py
Executable file
|
@ -0,0 +1,56 @@
|
||||||
|
#!/bin/python3
|
||||||
|
import sys
|
||||||
|
import random
|
||||||
|
|
||||||
|
def channelFrequencyGenerator(lower_frequency, upper_frequency):
|
||||||
|
system_random = random.SystemRandom()
|
||||||
|
return system_random.uniform(lower_frequency, upper_frequency)
|
||||||
|
|
||||||
|
def isfloat(num):
|
||||||
|
try:
|
||||||
|
float(num)
|
||||||
|
return True
|
||||||
|
except ValueError:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def isint(num):
|
||||||
|
try:
|
||||||
|
int(num)
|
||||||
|
return True
|
||||||
|
except ValueError:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def valid(argv):
|
||||||
|
return (isfloat(argv[1]) and isfloat(argv[2]) and isfloat(argv[4]) and isint(argv[3]))
|
||||||
|
|
||||||
|
def verifyChannelSpacing(newchannel, channellist, spacing):
|
||||||
|
for channel in channellist:
|
||||||
|
if(newchannel - channel < spacing and channel - newchannel < spacing):
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
return True
|
||||||
|
|
||||||
|
def createChannelList(argv):
|
||||||
|
channellist= []
|
||||||
|
channellist.append(round(channelFrequencyGenerator(float(argv[1]), float(argv[2])), 5))
|
||||||
|
i = 1
|
||||||
|
j = 0
|
||||||
|
while i < int(argv[3]):
|
||||||
|
newchannel=round(channelFrequencyGenerator(float(argv[1]), float(argv[2])), 5)
|
||||||
|
if(verifyChannelSpacing(newchannel, channellist, float(argv[4]))):
|
||||||
|
channellist.append(newchannel)
|
||||||
|
i+=1
|
||||||
|
else:
|
||||||
|
j+=1
|
||||||
|
if j > 3 :
|
||||||
|
return channellist
|
||||||
|
|
||||||
|
return channellist
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
if (valid(sys.argv)):
|
||||||
|
print(createChannelList(sys.argv))
|
||||||
|
else:
|
||||||
|
print("invalid arguments")
|
||||||
|
|
Loading…
Reference in a new issue