Re: [问题] FFT 动态范围限制

楼主: Dmix   2019-05-22 14:56:01
※ 引述《Dmix ()》之铭言:
:

: 请教各位,上图中黑线是仪器读取音源产生的FFT;红线是我用python读取相同音源并
: 计算出的FFT。约3KHz以上仪器可以计算出更低的值,红线却没有办法。
: 请问有什么指令可以增加FFT的动态范围(最高值/最低值)呢?
python的资料是开启音档(*.wav,单音轨)
f = wave.open('1k_Cal - single.wav','r')
params = f.getparams()
num_ch, quantized_byte, sample_rate, Total_length = params[:4]
# (声道数量, 量化位元(以byte为单位), 取样速率, 资料总长度(点数))
Total_time = Total_length / sample_rate
quanitized_level = (2**(quantized_byte*8))/2 # 满刻度的最大值2^(L-1)
data_wave = f.readframes(Total_length)
f.close()
data_string = np.fromstring(data_wave, dtype = np.short)
data = data_string / quanitized_level # 转换成对应最大值(0dBV, 1V)的相对电压
data.shape = -1, 1
# data.shape = -1, ch (ch = 音源档声道数目)
sig = data[:, 0].T
用sig计算FFT画出图形。

Links booklink

Contact Us: admin [ a t ] ucptt.com