从0开始接触python
这个开始,简直就像是还没学会爬,就直接要学会跑了,编程一向编的很少,都是看看书,小练习而已。最近对wave,numpy,scipy.signal这几个用的特别多。numpy,我主要用到的有fft,where,sin,abs等。
(1)fft,傅立叶变换,网上查的时候,发现好多关于傅立叶变换的函数啊,rfft,ifft,fft。都是的,其中用到的rfft是对实信号做傅立叶变换。
fft_sig = numpy.fft.rfft(sig,N)/N
N是采样点数,这样得到fft_sig,长度是N/2,一半。
(2)where函数
numpy.where(amplitude>1,1,0)
对于amplitude这个数组,设置一个条件,大于1的值全部设置成1,小于1的值全部设置成0
(3)sin
Fs = 1000
T_interval = 1/Fs
Freq_max = Fs/2
N=1024
t = np.arange(0,N-1)*T_interval
signal=numpy.sin(100*2*np.pi*t)
产生正弦信号的波形。
(4)abs
才发现numpy.abs()对实信号是取绝对值,对复数是取模的。感觉好厉害。。。
(5)没看过python的语法,明明很简单的东西,还是要好好记下来。
数组要使用的时候要先定义
indx=[None]*len(fft_sig)
#####
indx=[]
上面一个固定了数组长度,下面要用的话,可以直接赋值,要注意超过长度的问题。
下面一个indx数组,没有固定长度,添加数组元素要用、append,indx.append(i)这样的。
有些不记得了啊。。。慢慢学,慢慢记。不对,快点学啊!!!恨不得睡觉一醒来就变成大神,各种库,各种代码,各种熟练。。。