我用c语言算出的 spectrogram 存在txt档里面,然后想用 matlab 画出频谱图,纵轴是 frequency,横轴是 frame index。
txt档里面的spectrogram 公式如下,单位应该是db
我想用matlab画出的图大概是这样的,纵轴是 frequency,横轴是 frame index,此图是用wavsurfer呈现
我写的 matlab code 如下:
file1 = load('cos_220Hz-16kSet1.txt');
imagesc(file1);
view(270,90)
跑出来的图长这样:
纵轴单位是我算的db,而不是我想要的 frequency,想请问如何用 imagesc 画出频谱图纵轴为hz?
你好同学,这个要看你的txt里面的数据格式,imagesc只是管了数据的宽度和高度当作x轴和y轴,直接从1到一个高度整数,以及1到一个宽度整数。所以你需要把txt文档的数据格式告知一下,不然没法给你调坐标