saweiaola 发表于 2007-9-14 10:27

如何正确画出短时傅立叶变换的三维时频图?

程序是用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]
查看完整版本: 如何正确画出短时傅立叶变换的三维时频图?