Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Won't Fix
-
None
-
None
Description
Enable a range for 'dt', so we can perform PSE for numerical stability analysis. About enforcing the monitors 'period' as an integral multiple of 'dt' and powers of two.
The number of time steps to average is:
isteps = period/dt
Example of sampling frrequencies for the Monitors as powers of two:
fs = numpy.array([4096, 2048, 1024, 512, 256, 128])
periods = 1./fs
periods *= 1000. # in ms
dts = numpy.array([0.244140625, 0.1220703125, 0.06103515625, 0.048828125, 0.0244140625, 0.01220703125, 0.009765625, 0.006103515625, 0.0048828125]) # in ms
for val in periods: print val / dts
[ 1. 2. 4. 5. 10. 20. 25. 40. 50.]
[ 2. 4. 8. 10. 20. 40. 50. 80. 100.]
[ 4. 8. 16. 20. 40. 80. 100. 160. 200.]
[ 8. 16. 32. 40. 80. 160. 200. 320. 400.]
[ 16. 32. 64. 80. 160. 320. 400. 640. 800.]
[ 32. 64. 128. 160. 320. 640. 800. 1280. 1600.]
Find a way to enforce a way such that:
period = K * dt with K \in Z+