如何正确画出短时傅立叶变换的三维时频图?
程序是用delphi编的,画图用的是Teechart控件while(i*distance<znumber) do// distance为窗口移动距离,znumber为采样点数
begin
for j:=0 to k-1 do // k=wwidth/2,wwidth为窗口宽度
begin
data:=2*sqrt(data*data+data1*data1)/wwidth;
freqy:=j*fs/wwidth;
series1.AddXYZ(i,data,freqy,'',clTeeColor);
end;
i:=i+1;
end;
如上段程序,画出的图形的频率轴上有K个点,即每个点的位置就确定了,但是改变采样频率fs的话,每个点所代表的频率值freqy:=j*fs/wwidth就不同,即对同一个信号,若采样频率不同,分析出的信号频率分量就不同,这显然是不正确的。那么应该怎么画呢?请高手指点!
另外二维数组怎么显示不出来?上面程序中的data,data1都是二维数组
[ 本帖最后由 saweiaola 于 2007-9-14 10:32 编辑 ]
页:
[1]