java fft 频谱算法_java - 使用FFT / STFT进行的频谱分析会导致伪像 - SO中文参考 - www.soinside.com...

我正在尝试使用此FFT在频域中简单显示一个WAV文件。我尝试通过设置窗口大小等的短时傅立叶变换来完成此操作。

输出是通过在JFrame上绘制像素来处理的(振幅越高,点越亮),这是我所知道的基本知识。

我尝试绘制的信号是10秒内从1000Hz到10000Hz的线性调频脉冲,采样率为44100Hz。输出应如下所示:

但是我的输出看起来像这样:

这是正确的..但正如您所看到的那样,存在某种噪声模式。它似乎不是随机的。尝试过的一件事就是简单地减少像素的增益,但解决起来很差:

我使用了here中的Hann过滤器。

也许我尝试这样做的方法是错误的。因此,请允许我简要说明一下:我有一个WAV文件-我删除标题只是获得数据部分。一个10s长的信号(44100Hz)应该可以为我提供441000个采样。我以2048个Samples的大小和256个Samples的windowstep读取带有块的数组。每一步都将通过Hann滤波器运行,然后运行FFT,然后将FFT添加到像素数组中,然后进行绘制。

是否有明显的我想念的东西可以通过屏幕截图看到?我使用的FFT算法不够“好”吗?

[请告诉我您的进一步信息或我的解释是否足够。预先谢谢你

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值