Introduction
大致流程为: 从声卡读声音数据,然后转换数据类型变成array,然后做傅里叶变换,并画频谱图。
Results
程序如下图:
这里采样了
N
=
1000
N=1000
N=1000个点,采样频率由面板控制。做完傅里叶变换后,需要做
fftshift
\text{fftshift}
fftshift才能得到 低频在中心,高频在两边的信号数据。
关于频率点的计算公式如下:
f
=
f
s
N
n
,
∀
n
∈
[
−
N
,
.
.
.
,
−
4
,
−
2
,
0
,
2
,
4
,
.
.
.
N
]
f = \frac{f_s}{N} n, \forall n \in [-N,..., -4, -2, 0, 2, 4, ... N]
f=Nfsn,∀n∈[−N,...,−4,−2,0,2,4,...N]
where,
f
s
f_s
fs为采样频率,
N
N
N为采样点数。
效果如下: