2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

窗函數(shù)(window?function)

 等緣708 2013-01-22

窗函數(shù)(window function)

(2011-07-07 16:06:41)

窗函數(shù)是頻譜分析中一個(gè)重要的部分,窗函數(shù)修正了由于信號(hào)的非周期性并減小了頻譜中由于泄露而帶來(lái)的測(cè)量不準(zhǔn)確性

快速傅里葉變換假定了時(shí)間信號(hào)是周期無(wú)限的。但在分析時(shí),我們往往只截取其中的一部分,因此需要加窗以減小泄露。窗函數(shù)可以加在時(shí)域,也可以加在頻域上,但在時(shí)域上加窗更為普遍。截?cái)嘈?yīng)帶來(lái)了泄漏,窗函數(shù)是為了減小這個(gè)截?cái)嘈?yīng),其設(shè)計(jì)成一組加權(quán)系數(shù)。例如,一個(gè)窗函數(shù)可以定義為:
w(t)=g(t)       -T/2<t<T/2
w(t)=0          其他

g(t)是窗函數(shù),T是窗函數(shù)的時(shí)間.

待分析的數(shù)據(jù)x(t)則表示為:

x(t)=w(t)*x(t)'

x(t)'表示原始信號(hào),x(t)表示待分析信號(hào)。

 

加窗在時(shí)域上表現(xiàn)的是點(diǎn)乘,因此在頻域上則表現(xiàn)為卷積。卷積可以被看成是一個(gè)平滑的過(guò)程。這個(gè)平滑過(guò)程可以被看出是由一組具有特定函數(shù)形狀的濾波器,因此,原始信號(hào)中在某一頻率點(diǎn)上的能量會(huì)結(jié)合濾波器的形狀表現(xiàn)出來(lái),從而減小泄漏。基于這個(gè)原理,人們通常在時(shí)域上直接加窗。

大多數(shù)的信號(hào)分析儀一般使用矩形窗(rectangular),漢寧(hann),flattop和其他的一些窗函數(shù)。

矩形窗函數(shù):
w(k)=1

漢寧窗:     
w(k)=0.5*(1-cos(2*pi*k/(N-1)))     0<=k<=N-1

由于加窗計(jì)算中衰減了原始信號(hào)的部分能量,因此對(duì)于最后的結(jié)果還需要加上修正系數(shù)。在線(xiàn)性譜分析中,一般使用幅度系數(shù)(amplitude correction),在功率譜中,一般使用能量系數(shù)(energy correction)。(這段不清楚在實(shí)際中如何用)

 

matlab中提供了很多窗函數(shù),如下

image

還提供了顯示窗函數(shù)的GUI工具,如wvtool可以顯示用來(lái)顯示窗的形狀和頻域圖形,wintool可以打開(kāi)窗設(shè)計(jì)和分析工具,如運(yùn)行

wvtool(hamming(64),hann(64),gausswin(64))

可以對(duì)比漢明窗、漢寧窗和高斯窗

image

 

簡(jiǎn)單測(cè)試一下加窗的效果如下

image

image

可以看到加窗后,頻譜泄露確實(shí)減少了,但同時(shí)信號(hào)能量也減小了,這也許就是所說(shuō)的要使用能量系數(shù)吧,如下,這樣一來(lái),對(duì)比就更明顯了,加窗可以有效的減少頻譜泄露。

image

 

測(cè)試代碼如下

%% 窗函數(shù)測(cè)試
function main
clc
close all

Ts = 0.001;
Fs = 1/Ts;
%% 原始信號(hào)
t = 0:Ts:pi/2;
yt = sin(2*pi*5*t) + sin(2*pi*10*t) + sin(2*pi*15*t);
[Yf, f] = Spectrum_Calc(yt, Fs);

figure
subplot(211)
plot(t, yt)
xlabel('t')
ylabel('y')
title('原始信號(hào)')
subplot(212)
plot(f, Yf)
xlabel('f')
ylabel('|Yf|')
xlim([0 100])
ylim([0 1])
title('原始信號(hào)頻譜')

%% 加窗信號(hào)
win = hann(length(t));
yt1 = yt.*win';
[Yf1, f1] = Spectrum_Calc(yt1, Fs);

figure
subplot(211)
plot(t, yt1)
xlabel('t')
ylabel('y')
title('加窗信號(hào)')
subplot(212)
plot(f1, 2*Yf1) % 2表示能量系數(shù)
xlabel('f')
ylabel('|Yf|')
xlim([0 100])
ylim([0 1])
title('加窗信號(hào)頻譜')
end

%% 求取頻譜
function [Yf, f] = Spectrum_Calc(yt, Fs)
L = length(yt);

NFFT = 2^nextpow2(L);
Yf = fft(yt,NFFT)/L;

Yf = 2*abs(Yf(1:NFFT/2+1));
f = Fs/2*linspace(0,1,NFFT/2+1);
end

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多