56 lines
893 B
Python
Executable File
56 lines
893 B
Python
Executable File
import cmsisdsp as dsp
|
|
import numpy as np
|
|
import cmsisdsp.fixedpoint as f
|
|
|
|
# Test vlog q31 and q15
|
|
x = np.array([0.9,0.5,2**-16])
|
|
|
|
r=dsp.arm_vlog_q15(f.toQ15(x))
|
|
print(f.Q15toF32(r)*16.0)
|
|
|
|
r=dsp.arm_vlog_q31(f.toQ31(x))
|
|
print(f.Q31toF32(r)*32.0)
|
|
|
|
print(np.log(x))
|
|
|
|
print("")
|
|
# Test sin_cos
|
|
t=20
|
|
|
|
sinRef=np.sin(t * np.pi / 180)
|
|
cosRef=np.cos(t * np.pi / 180)
|
|
print(sinRef)
|
|
print(cosRef)
|
|
|
|
s,c=dsp.arm_sin_cos_f32(t)
|
|
print(s)
|
|
print(c)
|
|
|
|
s,c=dsp.arm_sin_cos_q31(f.toQ31(t/180.0))
|
|
print(f.Q31toF32(s))
|
|
print(f.Q31toF32(c))
|
|
|
|
print("")
|
|
# Test sqrt
|
|
a=0.6
|
|
print(np.sqrt(a))
|
|
|
|
err,r=dsp.arm_sqrt_f32(a)
|
|
print(err,r)
|
|
|
|
err,r=dsp.arm_sqrt_q31(f.toQ31(a))
|
|
print(err,f.Q31toF32(r))
|
|
|
|
err,r=dsp.arm_sqrt_q15(f.toQ15(a))
|
|
print(err,f.Q15toF32(r))
|
|
|
|
err,r=dsp.arm_sqrt_f32(-a)
|
|
print(err,r)
|
|
|
|
err,r=dsp.arm_sqrt_q31(f.toQ31(-a))
|
|
print(err,f.Q31toF32(r))
|
|
|
|
err,r=dsp.arm_sqrt_q15(f.toQ15(-a))
|
|
print(err,f.Q15toF32(r))
|
|
|