【发布时间】:2019-06-20 18:20:49
【问题描述】:
我必须阅读 .mat 文件并绘制其频谱图。当我从文件中读取内容时,我会得到字典,然后必须将其转换为列表。转换是在简单的 for 循环中完成的(如代码所示)。以 " 结尾的 signal.stft 函数存在错误 ValueError: setting an array element with a sequence"。那么我错过了什么,谁能帮我处理这段代码。
Fs = 8000
dtmf = sio.loadmat('dtmf1.mat')
dictlist = []
for key, value in dtmf.items():
temp = [key,value]
dictlist.append(temp)
f1, t1, Zxx1 = signal.stft(dictlist, Fs, nperseg=512,
window=signal.hamming(512),
noverlap=512, boundary='even')
plt.figure()
plt.pcolormesh(t1, f1, 20*np.log10(np.abs(Zxx1)))
plt.xlabel('Time [s]')
plt.ylabel('Freq [Hz]')$
【问题讨论】:
-
请向我们展示文件输入 dtmf1.mat 以及您如何定义信号和 sio。谢谢。
-
dictlist 是列表
[[k,v],[k,v]]的列表。我不知道函数调用是否可以:signal.stft(...)
标签: python list dictionary dtmf