testdsp3.py 836 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. print(np.log(x))
  9. print("")
  10. # Test sin_cos
  11. t=20
  12. sinRef=np.sin(t * np.pi / 180)
  13. cosRef=np.cos(t * np.pi / 180)
  14. print(sinRef)
  15. print(cosRef)
  16. s,c=dsp.arm_sin_cos_f32(t)
  17. print(s)
  18. print(c)
  19. s,c=dsp.arm_sin_cos_q31(f.toQ31(t/180.0))
  20. print(f.Q31toF32(s))
  21. print(f.Q31toF32(c))
  22. print("")
  23. # Test sqrt
  24. a=0.6
  25. print(np.sqrt(a))
  26. err,r=dsp.arm_sqrt_f32(a)
  27. print(err,r)
  28. err,r=dsp.arm_sqrt_q31(f.toQ31(a))
  29. print(err,f.Q31toF32(r))
  30. err,r=dsp.arm_sqrt_q15(f.toQ15(a))
  31. print(err,f.Q15toF32(r))
  32. err,r=dsp.arm_sqrt_f32(-a)
  33. print(err,r)
  34. err,r=dsp.arm_sqrt_q31(f.toQ31(-a))
  35. print(err,f.Q31toF32(r))
  36. err,r=dsp.arm_sqrt_q15(f.toQ15(-a))
  37. print(err,f.Q15toF32(r))