def valid_frequencies(self, obj):
""" returns a list of all valid filter cutoff frequencies"""
#valid_bits = range(0, self._MAXSHIFT(obj)-1) # this is possible
valid_bits = range(0, self._MAXSHIFT(obj)-2) # this gives reasonable results (test_filter)
pos = list([self.to_python(obj, b | 0x1 << 7) for b in valid_bits])
pos = [val if not np.iterable(val) else val[0] for val in pos]
neg = [-val for val in reversed(pos)]
valid_frequencies = neg + [0] + pos
if obj is not None and not hasattr(obj.__class__,
self.name+'_options') and not hasattr(obj, self.name+'_options'):
setattr(obj, self.name+'_options', valid_frequencies)
return valid_frequencies
# empirical correction factors for the cutoff frequencies in order to be
# able to accurately model implemented bandwidth with an analog
# butterworth filter. Works well up to 5 MHz. See unittest test_inputfilter
评论列表
文章目录