ggventurini / python-deltasigma

A port of the MATLAB Delta Sigma Toolbox based on free software and very little sleep
python-deltasigma.io
Other
82 stars 54 forks source link

PlotExampleSpectrum() fails in Python3 due to changed '/'-operator meaning #70

Open ldpgh opened 5 years ago

ldpgh commented 5 years ago

PlotExampleSpectrum(ntf, M=1, osr=osr, f0=f0)

Traceback (most recent call last):

File "", line 1, in PlotExampleSpectrum(ntf, M=1, osr=osr, f0=f0)

File ".....\lib\site-packages\deltasigma_PlotExampleSpectrum.py", line 103, in PlotExampleSpectrum plt.plot(freq, dbv(spec0[:N/2 + 1]), 'c', linewidth=1)

TypeError: slice indices must be integers or None or have an index method


... running Python 3.7.0

Change line File ".....\lib\site-packages\deltasigma_PlotExampleSpectrum.py", line 103, in PlotExampleSpectrum plt.plot(freq, dbv(spec0[:N/2 + 1]), 'c', linewidth=1) to plt.plot(freq, dbv(spec0[:int(N/2.0) + 1]), 'c', linewidth=1)

or whatever is convinient to let N/2 return an integer number.

ldpgh commented 5 years ago

same issue on line 106

File "", line 1, in PlotExampleSpectrum(ntf, M=1, osr=osr, f0=f0)

File ".......\lib\site-packages\deltasigma_PlotExampleSpectrum.py", line 106, in PlotExampleSpectrum plt.plot(freq, dbp(spec_smoothed[:N/2 + 1]), 'b', linewidth=3)

TypeError: slice indices must be integers or None or have an index method

ldpgh commented 5 years ago

... and on line 87, 88 f1_bin = np.round(f1N) f2_bin = np.round(f2N) have been modified to f1_bin = int(np.round(f1N)) f2_bin = int(np.round(f2N))

ldpgh commented 5 years ago

... and voila got a pretty nice spectrum.

And not to forget ... Thank you for all the effort you spent.

ghost commented 4 years ago

I fixed these issues in my folked repository. Thank you for your report.