1 概要

数字信号处理的主要数学工具是傅里叶变换.而傅里叶变换研究的是整个时间域和频率域的关系。不过,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。做法是从信号中截取一个时间片段,然后用截取的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。无限长的信号被截断以后,其频谱发生了畸变,原来集中在f(0)处的能量被分散到两个较宽的频带中去了(这种现象称之为频谱能量泄漏)。

为了减少频谱能量泄漏,可采用不同的截取函数对信号进行截断,截断函数称为窗函数,简称为窗。

窗函数就是时域有限宽的信号。

泄漏与窗函数频谱的两侧旁瓣有关,如果两侧瓣的高度趋于零,而使能量相对集中在主瓣,就可以较为接近于真实的频谱,为此,在时间域中可采用不同的窗函数来截断信号。

2 matlab 中窗函数

%   @bartlett       - Bartlett window.
% @barthannwin - Modified Bartlett-Hanning window.
% @blackman - Blackman window.
% @blackmanharris - Minimum 4-term Blackman-Harris window.
% @bohmanwin - Bohman window.
% @chebwin - Chebyshev window.
% @flattopwin - Flat Top window.
% @gausswin - Gaussian window.
% @hamming - Hamming window.
% @hann - Hann window.
% @kaiser - Kaiser window.
% @nuttallwin - Nuttall defined minimum 4-term Blackman-Harris window.
% @parzenwin - Parzen (de la Valle-Poussin) window.
% @rectwin - Rectangular window.
% @taylorwin - Taylor window.
% @tukeywin - Tukey window.
% @triang - Triangular window.

查看一个创函数

wvtool(hamming(64)),title('hamming');

matlab函数加窗_信号处理

3 函数加窗

close all
clear all
clc

Fs=44100;%44.1khz

fs =1000;%1khz
t =1/Fs:1/Fs:256/Fs;%1s
x= sin(2*pi*fs*t); %I

L =length(x);
win = hann(L);
win =win';
y =x.*win;

figure(1),
subplot(311),stem(x);
subplot(312),stem(win);
subplot(313),stem(y);

matlab函数加窗_信号处理_02

版权归原作者所有,如有侵权,请联系删除。

‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

更多精彩推荐,请关注我们