testdsp3.py 893 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import cmsisdsp as dsp
  2. import numpy as np
  3. import cmsisdsp.fixedpoint as f
  4. # Test vlog q31 and q15
  5. x = np.array([0.9,0.5,2**-16])
  6. r=dsp.arm_vlog_q15(f.toQ15(x))
  7. print(f.Q15toF32(r)*16.0)
  8. r=dsp.arm_vlog_q31(f.toQ31(x))
  9. print(f.Q31toF32(r)*32.0)
  10. print(np.log(x))
  11. print("")
  12. # Test sin_cos
  13. t=20
  14. sinRef=np.sin(t * np.pi / 180)
  15. cosRef=np.cos(t * np.pi / 180)
  16. print(sinRef)
  17. print(cosRef)
  18. s,c=dsp.arm_sin_cos_f32(t)
  19. print(s)
  20. print(c)
  21. s,c=dsp.arm_sin_cos_q31(f.toQ31(t/180.0))
  22. print(f.Q31toF32(s))
  23. print(f.Q31toF32(c))
  24. print("")
  25. # Test sqrt
  26. a=0.6
  27. print(np.sqrt(a))
  28. err,r=dsp.arm_sqrt_f32(a)
  29. print(err,r)
  30. err,r=dsp.arm_sqrt_q31(f.toQ31(a))
  31. print(err,f.Q31toF32(r))
  32. err,r=dsp.arm_sqrt_q15(f.toQ15(a))
  33. print(err,f.Q15toF32(r))
  34. err,r=dsp.arm_sqrt_f32(-a)
  35. print(err,r)
  36. err,r=dsp.arm_sqrt_q31(f.toQ31(-a))
  37. print(err,f.Q31toF32(r))
  38. err,r=dsp.arm_sqrt_q15(f.toQ15(-a))
  39. print(err,f.Q15toF32(r))