testrfft_fast.py 589 B

123456789101112131415161718192021222324252627
  1. import cmsisdsp as dsp
  2. import numpy as np
  3. from scipy import signal
  4. import matplotlib.pyplot as plt
  5. import scipy.fft
  6. def chop(A, eps = 1e-6):
  7. B = np.copy(A)
  8. B[np.abs(A) < eps] = 0
  9. return B
  10. nb = 32
  11. signal = np.cos(2 * np.pi * np.arange(nb) / nb)*np.cos(0.2*2 * np.pi * np.arange(nb) / nb)
  12. #print("{")
  13. #for x in signal:
  14. # print("%f," % x)
  15. #print("}")
  16. result1=scipy.fft.rfft(signal)
  17. print(chop(result1))
  18. rfftf32=dsp.arm_rfft_fast_instance_f32()
  19. status=dsp.arm_rfft_fast_init_f32(rfftf32,nb)
  20. print(status)
  21. resultI = dsp.arm_rfft_fast_f32(rfftf32,signal,0)
  22. print(chop(resultI))