Transform.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import os.path
  2. import numpy as np
  3. import itertools
  4. import Tools
  5. # Those patterns are used for tests and benchmarks.
  6. # For tests, there is the need to add tests for saturation
  7. def randComplex(nb):
  8. data = np.random.randn(2*nb)
  9. data = data/max(data)
  10. data_comp = data.view(dtype=np.complex128)
  11. return(data_comp)
  12. def asReal(a):
  13. #return(a.view(dtype=np.float64))
  14. return(a.reshape(np.size(a)).view(dtype=np.float64))
  15. def writeTests(config):
  16. NBRSAMPLES=2048
  17. NBCSAMPLES=256
  18. samples=np.random.randn(NBRSAMPLES)
  19. samples = np.abs(samples/max(samples))
  20. samplesC=randComplex(NBCSAMPLES)
  21. config.writeInput(1, samples,"RealSamples")
  22. config.writeInput(1, asReal(samplesC),"ComplexSamples")
  23. PATTERNDIR = os.path.join("Patterns","DSP","Transform","Transform")
  24. PARAMDIR = os.path.join("Parameters","DSP","Transform","Transform")
  25. configf32=Tools.Config(PATTERNDIR,PARAMDIR,"f32")
  26. configq31=Tools.Config(PATTERNDIR,PARAMDIR,"q31")
  27. configq15=Tools.Config(PATTERNDIR,PARAMDIR,"q15")
  28. writeTests(configf32)
  29. writeTests(configq31)
  30. writeTests(configq15)