0731820029 发表于 2009-4-1 09:10

如何在频域中加Hamming窗?

我最近在做一个数据采集的程序,为了能得到较准确的幅值,需要在FFt变换后加窗处理,现在初步选择Hamming窗,FFt变换后得到两个数组X,Y。分别为FFt变换后的实部和虚部,我不知道如何对这两个数组进行加窗啊?请各位高手多多指教啊!!万分感谢!!!

ChaChing 发表于 2009-4-1 09:31

个人认知是在FFT前即乘上Hamming窗!

0731820029 发表于 2009-4-1 10:14

如果在频域中加窗的话,是不是对窗函数进行FFt变换后也得到数组序列,与采集的数据的FFt变换后的数组序列直接相乘呢?我用的是VB编程,想知道具体的细节,,,,请各位高手多多指教啊!!

HzRad 发表于 2009-4-1 10:48

一般窗都是加在时域上的 时域上的点乘等于频域上的卷积频域上加窗需要用卷积 比较麻烦的 以前只是在书上见过 现实中还没有碰到过

songzy41 发表于 2009-4-1 11:34

如果矩形窗后的谱线为X(k),在频域加海明窗的计算为:
X1(k)=0.23X(k-1)+0.54X(k)+0.23X(k+1)

0731820029 发表于 2009-4-1 14:22

哦,我们假设X(k)与y(k)分别是经过FFT变换后的实部和虚部,那所得到的X1(k)与已经FFT后得到的序列是直接相乘即(X(k)+jy(k))*X1(k),还是做卷积运算啊?非常感谢你们的比帮助啊!

songzy41 发表于 2009-4-1 14:45

我在帖子中的X是指复数,所以是指楼主的X(k)+jy(k),加海明窗不是(X(k)+jy(k))*X1(k),而是对每一个k值,按(对应实部和虚部)
X1(k)=0.23X(k-1)+0.54X(k)+0.23X(k+1)
Y1(k)=0.23Y(k-1)+0.54Y(k)+0.23Y(k+1)
计算。

0731820029 发表于 2009-4-1 15:06

哦,原来是这样啊!多谢您的帮助啊!!!再问一个弱弱的问题,这个k是不是FFT变换后的数组X,Y的长度?即分别取0,1,2,3........N-1啊?还是指加窗的长度L啊?

songzy41 发表于 2009-4-2 10:31

本帖最后由 VibInfo 于 2016-11-7 15:49 编辑

原帖由 0731820029 于 2009-4-1 15:06 发表
哦,原来是这样啊!多谢您的帮助啊!!!再问一个弱弱的问题,这个k是不是FFT变换后的数组X,Y的长度?即分别取0,1,2,3........N-1啊?还是指加窗的长度L啊?
是FFT变换后的数组X,Y的长度,即分别取0,1,2,3........N-1.

0731820029 发表于 2009-4-2 13:56

好的,非常感谢您的帮助!!

xnjd_jesse 发表于 2012-6-19 14:57

请问老师:我正在对平滑伪维格纳-威尔分布进行程序编写,时域加窗获得了理想的结果,之后还需要进行频域加窗,该怎么加呢?学生愚昧数日,万望指教!

xnjd_jesse 发表于 2012-6-24 15:02

回复 7 # songzy41 的帖子


请问老师:我正在对平滑伪维格纳-威尔分布进行程序编写,时域加窗获得了理想的结果,之后还需要进行频域加窗,该怎么加呢?学生愚昧数日,万望指教!
页: [1]
查看完整版本: 如何在频域中加Hamming窗?