datatype.py 642 B

123456789101112131415161718192021222324252627
  1. import cmsisdsp.fixedpoint as f
  2. import numpy as np
  3. F64 = 64
  4. F32 = 32
  5. F16 = 16
  6. Q31 = 31
  7. Q15 = 15
  8. Q7 = 7
  9. class UnknownCMSISDSPDataType(Exception):
  10. pass
  11. def convert(samples,format):
  12. if format==Q31:
  13. return(f.toQ31(np.array(samples)))
  14. if format==Q15:
  15. return(f.toQ15(np.array(samples)))
  16. if format==Q7:
  17. return(f.toQ7(np.array(samples)))
  18. if format==F64:
  19. return(np.array(samples).astype(dtype=np.float64))
  20. if format==F32:
  21. return(np.array(samples).astype(dtype=np.float32))
  22. if format==F16:
  23. return(np.array(samples).astype(dtype=np.float16))
  24. raise UnknownCMSISDSPDataType