窗函数
模板参数错误!(代码36)
|
在信号处理中,窗函数是一种除在给定区间之外取值均为0的实函数。譬如:在给定区间内为常数而在区间外为0的窗函数被形象地称为矩形窗。任何函数与窗函数之积仍为窗函数,所以相乘的结果就像透过窗口“看”其他函数一样。窗函数在光谱分析、滤波器设计以及音频数据压缩(如在Ogg Vorbis音频格式中)等方面有广泛的应用。
谱分析
从理论上可以得出函数 的傅立叶变换除了在频率 之外处处为 0。但是许多其它的函数或者波形数据并没有这样方便的闭式变换,或者是我们只对某一时间范围内的频谱数据感兴趣,在这种情况下,就需要对有限时间范围的波形进行傅立叶变换或者其它类似的变换。通常通过波形与一个窗函数的乘积来表示。但是,包括矩形窗在内的所有窗函数都都会对待测频谱产生影响。
The effect is easiest to understand in terms of a simple waveform, like . Windowing causes its Fourier transform to have non-zero values (commonly called leakage) at frequencies other than . It tends to be worst (highest) near and least at frequencies farthest from . If there are two sinusoids, with different frequencies, leakage can interfere with our ability to distinguish them spectrally. If their frequencies are dissimilar, then the leakage interferes when one sinusoid is much smaller in amplitude than the other. That is its spectral component can be hidden by the leakage from the larger component. But when the frequencies are near each other, the leakage can be sufficient to interfere even when the sinusoids are equal strength. I.e., they become unresolvable. The rectangular window has excellent resolution characteristics for signals of comparable strength, but it is a poor choice for signals of disparate amplitudes. This characteristic is sometimes described as low dynamic range. At the other extreme of dynamic range are the windows with the poorest resolution. And they are also poorest in terms of sensitivity. I.e., if the input waveform contains random noise, its spectral amplitude, compared to the sinusoid, will appear higher than with a less extreme window. In other words, the ability to find weak sinusoids amidst the noise is diminished by a high dynamic range window. High dynamic range windows are probably most often justified in wideband applications, where the spectrum being analyzed is expected to contain many different signals of various strengths.
In between the extremes are moderate windows, such as Hamming and Hann. They are commonly used in narrowband applications, such as the spectrum of a telephone channel. In summary, spectral analysis involves a tradeoff between resolving comparable strength signals with similar frequencies and resolving disparate strength signals with dissimilar frequencies. That tradeoff occurs when the window function is chosen.
离散时间信号
When the input waveform is time-sampled, instead of continuous, the analysis is usually done by applying a window function and then a discrete Fourier transform (DFT). But the DFT provides only a coarse sampling of the actual DTFT spectrum. The figure above shows a portion of the DTFT for a rectangularly-windowed sinusoid. The actual frequency of the sinusoid is indicated as "0" on the horizontal axis. Everything else is leakage. The unit of frequency is "DFT bins"; that is, the integer values are the frequencies sampled by the DFT. So the figure depicts a case where the actual frequency of the sinusoid happens to coincide with a DFT sample, and the maximum value of the spectrum is accurately measured by that sample. When it misses the maximum value by some amount [up to 1/2 bin], the measurement error is referred to as scalloping loss (inspired by the shape of the peak). But the most interesting thing about this case is that all the other samples coincide with nulls in the true spectrum. (The nulls are actually zero-crossings, which cannot be shown on a logarithmic scale such as this.) So in this case, the DFT creates the illusion of no leakage. Despite the unlikely conditions of this example, it is a popular misconception that visible leakage is some sort of artifact of the DFT. But since any window function causes leakage, its apparent absence (in this contrived example) is actually the DFT artifact.
当输入波形是采样信号而非连续信号时,傅分析通常对信号应用窗函数并用离散傅立叶变换。但是#REDIRECT 离散傅里叶变换得到的频谱只是#REDIRECT 离散时间傅里叶变换频谱的一个粗糙采样。上图是正弦信号应用矩形窗后付利叶频谱的一部分。位于横轴0点位置的是正弦信号真实频谱,其余频谱均为谱泄漏。频率单位为“DFT bins”(DFT 量化单位)即这些整数值是DFT采样得到的频率。所以该图显示了这样一种情况,正弦信号的实际频率正好与DFT的采样频率一致,并且频谱的最大值通过采样得到。采样错过最大值时的测量误差被称为“扇形损失”(名称源于顶点的形状)。但是这种状况下最有趣的是那些与实际频谱相一致的即值为零的那些点。这种情况下,DFT创造了没有泄露的假象。尽管不如本例这样,泄露是DFT中人为引入的也是普遍误解。但是既然任何窗函数都有泄露,那些表面上的不存在泄露才是人为造成的。
总泄漏
The concepts of resolution and dynamic range tend to be somewhat subjective, depending on what the user is actually trying to do. But they also tend to be highly correlated with the total leakage, which is quantifiable. It is usually expressed as an equivalent bandwidth, B. Think of it as redistributing the DTFT into a rectangular shape with height equal to the spectral maximum and width B. The more leakage, the greater the bandwidth. It is sometimes called noise equivalent bandwidth or equivalent noise bandwidth.
Although we have depicted leakage as interference that one component imposes on other frequencies, the effect is reciprocal. Thus, if frequency leaks a percentage of its energy into frequency , then a frequency component at returns the favor in the same proportion, as does every other frequency component of the input signal in varying amounts. So the spectral measurement at frequency is perturbed by all the other components. The greater the noise bandwidth (B), the greater the effect.
处理增益
In signal processing, operations are chosen to improve some aspect of quality of a signal by exploiting the differences between the signal and the corrupting influences. When the signal is a sinusoid corrupted by additive random noise, spectral analysis distributes the signal and noise components differently, often making it easier to detect the signal's presence or measure certain characteristics, such as amplitude and frequency. Effectively, the signal to noise ratio (SNR) is improved by distributing the noise uniformly, while concentrating most of the sinusoid's energy around one frequency. Processing gain is a term often used to describe an SNR improvement. The processing gain of spectral analysis depends on the window function, both its noise bandwidth (B) and its potential scalloping loss. These effects partially offset, because windows with the least scalloping naturally have the most leakage.
For example, the worst possible scalloping loss from a Blackman-Harris window (below) is 0.83 dB, compared to 1.42 dB for a Hann window. But the noise bandwidth is larger by a factor of 2.01/1.5, which can be expressed in decibels as: . Therefore, even at maximum scalloping, the net processing gain of a Hann window exceeds that of a Blackman-Harris window by: 1.27 +0.83 -1.42 = 0.68 dB. And when we happen to incur no scalloping (due to a fortuitous signal frequency), the Hann window is 1.27 dB more sensitive than Blackman-Harris. In general (as mentioned earlier), this is a deterrent to using high-dynamic range windows in low-dynamic range applications.
典型的窗函数
矩形窗
高斯窗
Hamming窗
Hann窗
Hann窗有时也称为 "Hanning" 窗,以与 Hamming 窗的名称类似。但是这是不对的,因为这两个窗是分别根据 Julius von Hann 和 Richard Hamming 的名字命名的。
Bartlett窗(端点值为0)
三角形窗(端点值非0)
Bartlett-Hann窗
Blackman窗
Kaiser窗
参见Kaiser窗.
低分辨率(高动态范围)窗
Nuttall窗(一阶导数连续)
Blackman-Harris窗
Blackman-Nuttall窗
平顶窗
其他窗函数
贝塞尔窗
正弦窗
多重窗
三重余弦窗
参看
参考文献
- Oppenheim, A.V., and R.W. Schafer, Discrete-Time Signal Processing, Upper Saddle River, NJ: Prentice-Hall, 1999, pp 468-471.
- Albert H. Nuttall, Some Windows with Very Good Sidelobe Behavior, IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol.ASSP-29, No.1, February 1981, pp 84-91.
- Frederic J. Harris, On the use of Windows for Harmonic Analysis with the Discrete Fourier Transform, Proceedings of the IEEE, Vol.66, No.1, January 1978, pp 51-83.
- S.W.A. Bergen and A. Antoniou, Design of Ultraspherical Window Functions with Prescribed Spectral Characteristics, EURASIP Journal on Applied Signal Processing, vol. 2004, no. 13, pp. 2053-2065, 2004.
- S.W.A. Bergen and A. Antoniou, Design of Nonrecursive Digital Filters Using the Ultraspherical Window Function, EURASIP Journal on Applied Signal Processing, vol. 2005, no. 12, pp. 1910-1922, 2005.