的射频和无线供应商和资源

一站的射频和无线的需要

大批杀害频16点FFT Python代码| scipy FFT

这个页面覆盖了16点FFT频率和内置的Python代码中使用大量毁灭scipy FFT功能和提供对比这两个FFT (DFT)方法。

FFT算法可以使用上半年/ de-composed下半年的方法,叫做频率FFT大批杀害。才在时间和大量毁灭的频率可以使用相同的方法实现只蝴蝶结构是不同的,如上图所示。

大量毁灭在时间和频率

16点FFT Python代码

# 16点FFT频率与钻头扭转输出大量毁灭
进口matplotlib。pyplot作为plt
进口numpy np
从scipy。fftpack进口fft

#输入系数
x0 = 1 + 1 j
x1 = 2 + 1 j
x2 = 1 - 2 j
x3 = 2 - 1 j
x4 = 2 + 3 j
x5 = 3 + 2 j
x6 = 1 + 3 j
x7 = 3 + 1 j
×8 = 3 + 3 j
x9 = 3 - 3 j
x10 = 1 - 1 j
x11 = 3 - 3 j
x12 = 3 - 3 j
* 13 = 1 - 1 j
x14 = 3 - 3 j
连接= 1 + 1 j
x = (x0, x1, x2, x3, x4, x5, x6, x7,出数,x9, x10, x11, x12, * 13, x14,连接)

#抚弄因素
#第三阶段
tc0 = 1.0000
tc1 = 0.9239 - 0.3827 j
tc2 = 0.7071 - 0.7071 j
tc3 = 0.3827 - 0.9239 j
tc4 = 0.0000 - 1.0000 j
tc5 = -0.3827 - 0.9239 j
tc6 = -0.7071 - 0.7071 j
tc7 = -0.9239 - 0.3827 j

#抚弄因素
# 2阶段
tb0 = 1.0000
tb1 = 0.7071 - 0.7071 j
tb2 = 0.0000 - 1.0000 j
tb3 = -0.7071 - 0.7071 j

# 1阶段
ta0 = 1.0000
ta1 = 0.0000 - 1.0000 j

#第三阶段输出
s3_0 = x0 +的混合体
s3_1 = x1 + x9
s3_2 = x2 + x10
s3_3 = x3 + x11
s3_4 = x4 + x12
s3_5 = x5 + * 13
s3_6 = x6 + x14
s3_7 = x7 +连接
s3_8 = (x0 -×8) * tc0
s3_9 = (x1 - x9) * tc1
s3_10 = (x2 - x10) * tc2
s3_11 = (x3 - x11) * tc3
s3_12 = (x4 - x12) * tc4
s3_13 = (x5 - * 13) * tc5
s3_14 = (x6 - x14英寸)* tc6
s3_15 = (x7 - x15) * tc7

Stage3 = [s3_0 s3_1、s3_2 s3_3, s3_4, s3_5, s3_6, s3_7, s3_8, s3_9, s3_10, s3_11, s3_12, s3_13, s3_14, s3_15]

#第二阶段输出
s2_0 = s3_0 + s3_4
s2_1 = s3_1 + s3_5
s2_2 = s3_2 + s3_6
s2_3 = s3_3 + s3_7
s2_4 = (s3_0 - s3_4) * tb0
s2_5 = (s3_1 - s3_5) * tb1
s2_6 = (s3_2 - s3_6) * tb2
s2_7 = (s3_3 - s3_7) * tb3
s2_8 = s3_8 + s3_12
s2_9 = s3_9 + s3_13
s2_10 = s3_10 + s3_14
s2_11 = s3_11 + s3_15
s2_12 = (s3_8 - s3_12) * tb0
s2_13 = (s3_9 - s3_13) * tb1
s2_14 = (s3_10 - s3_14) * tb2
s2_15 = (s3_11 - s3_15) * tb3

Stage2 = [s2_0 s2_1、s2_2 s2_3, s2_4, s2_5, s2_6, s2_7, s2_8, s2_9, s2_10, s2_11, s2_12, s2_13, s2_14, s2_15]
#第1阶段
s1_0 = s2_0 + s2_2
s1_1 = s2_1 + s2_3
s1_2 = (s2_0 - s2_2) * ta0
s1_3 = (s2_1 - s2_3) * ta1
s1_4 = s2_4 + s2_6
s1_5 = s2_5 + s2_7
s1_6 = (s2_4 - s2_6) * ta0
s1_7 = (s2_5 - s2_7) * ta1
s1_8 = s2_8 + s2_10
s1_9 = s2_9 + s2_11
s1_10 = (s2_8 - s2_10) * ta0
s1_11 = (s2_9 - s2_11) * ta1
s1_12 = s2_12 + s2_14
s1_13 = s2_13 + s2_15
s1_14 = (s2_12 - s2_14) * ta0
s1_15 = (s2_13 - s2_15) * ta1

#阶段0
s0_0 = s1_0 + s1_1
s0_1 = s1_0 - s1_1
s0_2 = s1_2 + s1_3
s0_3 = s1_2 - s1_3
s0_4 = s1_4 + s1_5
s0_5 = s1_4 - s1_5
s0_6 = s1_6 + s1_7
s0_7 = s1_6 - s1_7
s0_8 = s1_8 + s1_9
s0_9 = s1_8 - s1_9
s0_10 = s1_10 + s1_11
s0_11 = s1_10 - s1_11
s0_12 = s1_12 + s1_13
s0_13 = s1_12 - s1_13
s0_14 = s1_14 + s1_15
s0_15 = s1_14 - s1_15

s0_2, Y = [s0_0 s0_1 s0_3, s0_4, s0_5, s0_6, s0_7, s0_8, s0_9, s0_10, s0_11, s0_12, s0_13, s0_14, s0_15]
Y = [Y Y [0], [8], [4], [12], [2], [10], [6], [14], [1], [9], [5], [13], [3], [11], [7], Y [15]]
# FFT使用python的内置函数
Y_fft = fft (x, 16)
Y = (abs(避署)避署的Y)
Y_fft = (Y_fft abs(避署)避署)

日元= np。减去(Y, Y_fft)

plt。情节(Y, r *) # 16点FFT输出阴谋
plt。标题(“16点FFT频率使用大量毁灭”)
plt.show ()
plt。情节(Y_fft, y ^) #建于16点FFT输出阴谋
plt。使用内置的标题(“16点FFT scipy FFT函数”)
plt.show ()
plt。情节(“g”日元)#区别两个输出
plt。标题(“区别上述两方法”)
plt.show ()

输出的情节

以下是输出块FFT python脚本16级以上。

块FFT频率大批杀害16点 情节的内置Scipy FFT的功能 块FFT方法的区别

其他有用的DSP代码在Python中

MATLAB的有用链接代码

射频和无线教程


翻译这个页面
Baidu