如何在频域中使用汉明窗口?

时间:2015-07-16 11:23:15

标签: signal-processing

Kak& Sons的“计算机断层扫描成像原理”。 Slaney写道,通过将图像投影的变换相乘得到优越的重建:

S(m * 2W/N) 

(其中N是样本数,m是样本的索引:m = -N / 2,...,0,...,N / 2和1 /(2W)是抽样空间域中的区间)

通过汉明窗口:H(m * 2W / N)。

但汉明窗口的分析表达并没有写在那里。

我在matlab文档中看到汉明窗口的表达式为:

w(n)=0.54-0.46*cos(2*pi*n/N)   for  0<=n<=N

但这是在空间域还是在频域中(在后一种情况下,我应该在将它与图像投影的变换相乘之前将其表达到这一点)?

Blackman&amp ;;的“功率谱的测量”。海明窗口的Tukey由:

给出
D(tau)=0.54+0.46*cos(pi*tau/T)  for abs(tau)<T

这是在特殊领域中给出的。

底线是我不知道汉明窗口应该使用什么表达式:

 H(m*2W/N) 

需要乘以图像投影的傅立叶变换:

S(m * 2W/N).

有人能帮助我吗?

2 个答案:

答案 0 :(得分:0)

我认为您误解了为什么您首先使用了一个窗口。

有限数据段的傅里叶变换通过环绕来实现:f(t + T)= f(t)。但是,这意味着存在周期性的不连续性。窗函数通过将f(t)乘以围绕f(0)和f(T)的零函数来消除这些不连续性。

显然,由于此窗口在FT之前应用,因此必须在输入域中进行。 (在您的情况下,空间,但它也可能是时域)

答案 1 :(得分:0)

我已经从您提供的链接中读到了这本书,并稍微澄清一下:

  1. 窗口函数可以被视为过滤器(尽管它们在不同的上下文中使用),这意味着它是;时间中的卷积或频率中的乘法。
  2. 公式H(m(2W/N))是频域中的ham77(汉明窗口)。
  3. 因此,上面的公式可以通过您想要窗口的信号的FFT(或DFT)进行倍增。
  4. 表达式H(频域中的汉明窗,或FFT(h(t)))非常复杂;你可以在这里看到一个例子:https://reference.wolfram.com/language/ref/HammingWindow.html
  5. 由于汉明窗的傅里叶变换是一个复杂的公式(以及近似),你应该总是把它表示为h(t)的FFT。在matlab中,它就像fft(hamming(L),N)一样简单,其中L是窗口的长度(在时间样本中),N是fft中的bin数(最好是2的幂)。
  6. 我希望这可以澄清一点窗口的使用,如果仍然不够清楚,请不要犹豫。