矩形窗演算法
Ⅰ 窗函數的相關原理
不同的窗函數對信號頻譜的影響是不一樣的,這主要是因為不同的窗函數,產生泄漏的大小不一樣,頻率分辨能力也不一樣。信號的截斷產生了能量泄漏,而用FFT演算法計算頻譜又產生了柵欄效應,從原理上講這兩種誤差都是不能消除的,但是我們可以通過選擇不同的窗函數對它們的影響進行抑制。(矩形窗主瓣窄,旁瓣大,頻率識別精度最高,幅值識別精度最低;布萊克曼窗主瓣寬,旁瓣小,頻率識別精度最低,但幅值識別精度最高)。
Ⅱ 幾種常見窗函數及其matlab應用
我舉個例子好了。
矩形窗的窗函數是w=boxcar(n);
其中n是窗長度。
輸入這三行代碼就可以看到矩形窗的頻率響應了。
n=100;
w=boxcar(n);
fvtool(w);
如果你想看其他窗函數的頻率響應,把boxcar換掉就可以了。
(1)矩形窗(rectangle
window)
調用格式:w=boxcar(n),根據長度
n
產生一個矩形窗
w。
(2)三角窗(triangular
window)
調用格式:w=triang(n),根據長度
n
產生一個三角窗
w。
(3)漢寧窗(hanning
window)
調用格式:w=hanning(n),根據長度
n
產生一個漢寧窗
w。
(4)海明窗(hamming
window)
調用格式:w=hamming(n),根據長度
n
產生一個海明窗
w。
(5)布拉克曼窗(blackman
window)
調用格式:w=blackman(n),根據長度
n
產生一個布拉克曼窗
w。
(6)愷撒窗(kaiser
window)
調用格式:w=kaiser(n,beta),根據長度
n
和影響窗函數旁瓣的β參數產生一個愷撒窗w。
參考的函數就是這幾個
Ⅲ 傅里葉變換在什麼情況下採用矩形窗
矩形窗在傅里葉變換中應用最廣,也最簡單。
當窗口內數據長度為信號周期的整倍數時,一般採用矩形窗。
Ⅳ 窗函數法FIR低通數字濾波
1.FIR數字濾波器原理
假設理想低通濾波器的截止頻率為ωc=2πfc,且具有線性相位,群延時為a,即頻率響應:
航空重力勘探理論方法及應用
表示成幅度函數和相位函數形式:
航空重力勘探理論方法及應用
則幅度函數:
航空重力勘探理論方法及應用
在通帶范圍|ω| ≤ωc(截止頻率)內Hd(ejω)的幅度為1,相位為-ωα;對應的時間域(或空間域)濾波函數為:
航空重力勘探理論方法及應用
有限脈沖響應FIR(Finite Impulse Response)數字濾波器要求用有限長的單位沖擊響應h(n)來逼近無限長的理想濾波器的單位沖擊響應hd(n),最常用和有效的方法就是用一個有限長(長度為N)的「窗函數」序列w(n)來截取hd(n)的主要成分(陳玉東,2005):
航空重力勘探理論方法及應用
實際上是用有限長的h(n)去逼近hd(n),通過這種方式得到的頻率響應H(ejω)近似於理想頻率響應Hd(ejω)(在頻率域內採用均方差最小准則逼近)。按照線性相位濾波器的約束要求,h(n)必須是偶對稱的,其對稱中心應為它長度的一半:h(n)=h(N-1-n),而且
2.幾種常見窗函數
(1)矩形窗
長度為N的矩形窗函數為:
航空重力勘探理論方法及應用
(2)三角形窗(Bartlett)
長度為N的三角形窗函數為:
航空重力勘探理論方法及應用
(3)漢寧窗(Hanning)
長度為N的漢寧窗函數為:
航空重力勘探理論方法及應用
(4)海明窗(Hamming)
為使得旁瓣更小,可將漢寧窗改進成海明窗,長度為N的海明窗函數為:
航空重力勘探理論方法及應用
(5)布拉克曼窗(Blackman)
為進一步有效抑制旁瓣,可以再加上餘弦的二次諧波分量,得到長度為N的布拉克曼窗函數為:
航空重力勘探理論方法及應用
(6)凱澤窗(Kaiser)
長度為N的凱澤窗函數為:
航空重力勘探理論方法及應用
其中I0(x)為第一類變形零階貝塞爾函數,α=(N-1)/2。β是一個可自由選擇的參數,它可同時調整窗函數譜主瓣寬度與旁瓣幅值;β越大,則窗函數w(n)變化越快、變得越窄,頻譜旁瓣就越小,但主瓣寬度相應增加。一般選擇4<β<9,相當於窗函數頻譜旁瓣幅度與主瓣幅度的比值由3.1%變到0.047%。β=0時相當於矩形窗(陳玉東,2005)。
3.窗函數FIR濾波器
式(7-4-3)至式(7-4-8)窗函數都滿足關於中心偶對稱的線性相位濾波器的約束要求,結合式(7-4-1)至式(7-4-2)可以得到相應窗函數的FIR低通數字濾波器函數(郭志宏,羅鋒,等,2007):
航空重力勘探理論方法及應用
航空重力勘探理論方法及應用
用該濾波器窗口對時間域(或空間域)長度為M的數據序列逐點進行窗口滑動卷積求和計算(實際處理時窗口中點作為輸出計算點,則一邊損失半個濾波窗口數據),就可獲得FIR濾波後的數據(郭志宏,段樹嶺,等,2009):
航空重力勘探理論方法及應用
h(n)為濾波器系數,x(n)、y(n)分別為輸入、輸出數據序列。
4.窗函數FIR濾波試驗
(1)GT-1A型航空重力數據
圖7-4-1至圖7-4-2分別為GT-1A型航空重力系統獲得的一條原始未濾波、100 s和60 s濾波自由空間重力異常測線數據,其中飛機的飛行速度約60m/s,剖面圖橫軸為測線基準點號,基準點間距約30 m。圖7-4-1中GT-1A型系統航空原始未濾波自由空間重力測線數據的高頻干擾非常之嚴重,雜訊幅度在-5 000×10-5m·s-2至5000×10-5m·s-2的大范圍內變化,而幅度通常只有(10-3~10-4)m·s-2的由密度和構造變化等地質因素引起的重力異常信號(圖7-4-2)則完全淹沒在高頻干擾中。圖7-4-2中GT-1A型系統航空100 s、60 s濾波自由空間重力測線數據是採用GT-1A型航空重力系統自帶軟體模塊由圖7-4-1的航空原始未濾波自由空間重力測線數據獲得的濾波數據,濾波後高頻干擾已基本消除,油氣和礦產地球物理勘查所需的重力異常則較好的顯現出來。
圖7-4-1 GT-1A型航空重力系統原始未濾波自由空間重力異常
(2)幾種窗函數FIR濾波試驗
根據式(7-4-1)至式(7-4-10),我們研製了窗函數法FIR數字濾波計算軟體,用各種窗函數FIR濾波器對圖7-4-1的GT-1A航空原始未濾波自由空間重力測線數據分別進行了截止波長為100 s、60 s長度(按v=60m/s的航速計算,截止波長A。分別為6km、3.6km,按fc=v/λc計算的截止頻率分別為0.01 Hz、0.0167 Hz)的低通濾波試驗計算,試驗結果見圖7-4-3至圖7-4-8。為了圖形對比方便,各剖面圖中仍然保留了測線邊部兩端的半個濾波窗口數據,這些數據由於存在邊部效應,因而是不準確的,實際應用時應該去掉。從試驗結果圖可以看到,矩形窗和三角窗FIR濾波後異常整體形狀雖然也與圖7-4-2類似,但其上疊加了高頻擾動,尤其是矩形窗FIR濾波結果,這就是通常所說的「吉布斯」振盪效應(陳玉東,2005)。如果在圖7-4-3至圖7-4-4的基礎上,採用空間域非線性曲率濾波方法(郭志宏,劉浩軍,等,2003),用中國國土資源航空物探遙感中心的「空中探針」系統(劉浩軍,薛典軍,等,2003)中的濾波軟體進一步處理,則可獲得消除擾動後接近圖7-4-2效果的異常數據。從漢寧窗、海明窗、布拉克曼窗以及凱澤窗FIR濾波試驗結果看到,通過選擇合適的窗口長度、截至波長等濾波參數,基本都獲得了令人滿意的效果。
圖7-4-2 GT-1A型航空重力系統100s、60s濾波自由空間重力異常
圖7-4-3 矩形窗FIR低通濾波截止波長100s、60s航空自由空間重力異常
表7-4-1為圖7-4-3至圖7-4-8所示的各種窗函數FIR低通濾波截止波長100 s、60 s長度航空自由空間重力異常與圖7-4-2所示的GT-1A型航空重力系統100 s、60 s濾波自由空間重力異常(作為標准)的比較,通過兩者之差值的統計結果來衡量吻合程度。從統計表中可以看到,除了矩形窗、三角窗外,其他幾種窗函數FIR低通濾波結果的差異值都在±1×10-5m·s-2以內,均方差值則多數為0.3×10-5m·s-2左右,可見吻合程度還是比較好的。
圖7-4-4 三角窗FIR低通濾波截止波長100s、60s航空自由空間重力異常
5.結論
1)通過選擇合適的窗形、窗口長度、濾波參數,窗函數法FIR低通數字濾波器可以在航空重力數據的濾波處理中發揮應有的作用。
圖7-4-5 漢寧窗FIR低通濾波截止波長100s、60s航空自由空間重力異常
圖7-4-6 海明窗FIR低通濾波截止波長100s、60s航空自由空間重力異常
圖7-4-7 布拉克曼窗FIR低通濾波截止波長100s、60s航空自由空間重力異常
圖7-4-8 凱澤窗(β=6)FIR低通濾波截止波長100s、60s航空自由空間重力異常
2)為了獲得與GT-1A型航空重力系統100 s、60 s低通濾波(60m/s航速)對應的自由空間重力測線數據,所選擇漢寧、海明、布拉克曼、凱澤窗的長度通常為400點(2 Hz采樣率),FIR低通濾波對應的截止頻率分別為0.01 Hz、0.0167 Hz。
3)窗函數法不但可以設計FIR低通濾波器,還可設計FIR高通、帶通、帶阻濾波器等。通常一個高通濾波器相當於一個全通濾波器減去一個低通濾波器;一個帶通濾波器相當於兩個低通濾波器相減;而一個帶阻濾波器相當於一個低通濾波器加上一個高通濾波器。
表7-4-1 窗函數FIR濾波試驗結果與GT-1A系統濾波結果的差值統計
4)除了窗函數法FIR低通濾波器,其他諸如等波紋法FIR低通濾波器、無限脈沖響應IIR低通濾波、Kalman濾波等方法(周堅鑫,劉浩軍,等,2001;陳玉東,2005)均可用於航空重力數據的低通數字濾波處理中。
Ⅳ 哪位matlab高手可以幫忙寫個程序啊,生成一個矩形窗函數,然後傅立葉變換求它的頻譜圖。
N=21;
wp=0.3*pi;
ws=0.5*pi;
wc=ws-wp;
fc=wc/pi;
n=[0:N-1];
r=(N-1)/2;
m=n-r;
hd=fc*sinc(fc*m);%產生理想低通濾波器的脈沖響應
wn=hamming(N);%產生海明窗函數序列
hn=hd.*wn';%對理想低通濾波器加海明窗
[H,w]=freqz(hn,1,512,'whole',2);
db=20*log10(abs(H)/max(abs(H)));
subplot(221);
plot(w,db);
grid;
xlabel('歸一化頻率w');
ylabel('相對幅度/db');
title('(a) N=21時幅度響應特性');
這是我做的21階海明窗函數,矩形窗只需要把hamming(N)函數換成triang(N)就行了,其他窗函數也是一樣。
[H,w]=freqz(hn,1,512,'whole',2);這句話是求頻譜。
我本科畢業設計就是做的基於matlab的FIR濾波器。很有多論文需要在知網付費下載。
有需要的話另外提問,多給些懸賞分,留下郵箱,我發給你。不過我的畢業論文不給哈,但是有很多很多的參考材料
Ⅵ 聚類演算法選方形窗口計算空間信息有依據嗎
聚類方法有兩個顯著的局限:首先,要聚類結果要明確就需分離度很好(well-separated)的數據。幾乎所有現存的演算法都是從互相區別的不重疊的類數據中產生同樣的聚類。但是,如果類是擴散且互相滲透,那麼每種演算法的的結果將有點不同。結果,每種演算法界定的邊界不清,每種聚類演算法得到各自的最適結果,每個數據部分將產生單一的信息。為解釋因不同演算法使同樣數據產生不同結果,必須注意判斷不同的方式。對遺傳學家來說,正確解釋來自任一演算法的聚類內容的實際結果是困難的(特別是邊界)。最終,將需要經驗可信度通過序列比較來指導聚類解釋。
第二個局限由線性相關產生。上述的所有聚類方法分析的僅是簡單的一對一的關系。因為只是成對的線性比較,大大減少發現表達類型關系的計算量,但忽視了生物系統多因素和非線性的特點。
從統計學的觀點看,聚類分析是通過數據建模簡化數據的一種方法。傳統的統計聚類分析方法包括系統聚類法、分解法、加入法、動態聚類法、有序樣品聚類、有重疊聚類和模糊聚類等。採用k-均值、k-中心點等演算法的聚類分析工具已被加入到許多著名的統計分析軟體包中,如SPSS、SAS等。
從機器學習的角度講,簇相當於隱藏模式。聚類是搜索簇的無監督學習過程。與分類不同,無監督學習不依賴預先定義的類或帶類標記的訓練實例,需要由聚類學習演算法自動確定標記,而分類學習的實例或數據對象有類別標記。聚類是觀察式學習,而不是示例式的學習。
從實際應用的角度看,聚類分析是數據挖掘的主要任務之一。就數據挖掘功能而言,聚類能夠作為一個獨立的工具獲得數據的分布狀況,觀察每一簇數據的特徵,集中對特定的聚簇集合作進一步地分析。
聚類分析還可以作為其他數據挖掘任務(如分類、關聯規則)的預處理步驟。
數據挖掘領域主要研究面向大型資料庫、數據倉庫的高效實用的聚類分析演算法。
聚類分析是數據挖掘中的一個很活躍的研究領域,並提出了許多聚類演算法。
這些演算法可以被分為劃分方法、層次方法、基於密度方法、基於網格方法和
基於模型方法。
1 劃分方法(PAM:PArtitioning method) 首先創建k個劃分,k為要創建的劃分個數;然後利用一個循環
定位技術通過將對象從一個劃分移到另一個劃分來幫助改善劃分質量。典型的劃分方法包括:
k-means,k-medoids,CLARA(Clustering LARge Application),
CLARANS(Clustering Large Application based upon RANdomized Search).
FCM
2 層次方法(hierarchical method) 創建一個層次以分解給定的數據集。該方法可以分為自上
而下(分解)和自下而上(合並)兩種操作方式。為彌補分解與合並的不足,層次合
並經常要與其它聚類方法相結合,如循環定位。典型的這類方法包括:
第一個是;BIRCH(Balanced Iterative Recing and Clustering using Hierarchies) 方法,它首先利用樹的結構對對象集進行劃分;然後再利
用其它聚類方法對這些聚類進行優化。
第二個是CURE(Clustering Using REprisentatives) 方法,它利用固定數目代表對象來表示相應聚類;然後對各聚類按照指定
量(向聚類中心)進行收縮。
第三個是ROCK方法,它利用聚類間的連接進行聚類合並。
最後一個CHEMALOEN,它則是在層次聚類時構造動態模型。
3 基於密度方法,根據密度完成對象的聚類。它根據對象周圍的密度(如
DBSCAN)不斷增長聚類。典型的基於密度方法包括:
DBSCAN(Densit-based Spatial Clustering of Application with Noise):該演算法通過不斷生長足夠高密
度區域來進行聚類;它能從含有雜訊的空間資料庫中發現任意形狀的聚類。此方法將一個聚類定義
為一組「密度連接」的點集。
OPTICS(Ordering Points To Identify the Clustering Structure):並不明確產生一
個聚類,而是為自動交互的聚類分析計算出一個增強聚類順序。。
4 基於網格方法,首先將對象空間劃分為有限個單元以構成網格結構;然後利
用網格結構完成聚類。
STING(STatistical INformation Grid) 就是一個利用網格單元保存的統計信息進行基
於網格聚類的方法。
CLIQUE(Clustering In QUEst)和Wave-Cluster 則是一個將基於網格與基於密度相結合的方
法。
5 基於模型方法,它假設每個聚類的模型並發現適合相應模型的數據。典型的
基於模型方法包括:
統計方法COBWEB:是一個常用的且簡單的增量式概念聚類方法。它的輸入對象是采
用符號量(屬性-值)對來加以描述的。採用分類樹的形式來創建
一個層次聚類。
CLASSIT是COBWEB的另一個版本.。它可以對連續取值屬性進行增量式聚
類。它為每個結點中的每個屬性保存相應的連續正態分布(均值與方差);並利
用一個改進的分類能力描述方法,即不象COBWEB那樣計算離散屬性(取值)
和而是對連續屬性求積分。但是CLASSIT方法也存在與COBWEB類似的問題。
因此它們都不適合對大資料庫進行聚類處理.
Ⅶ matlab窗函數
程序:
wlp = 0.35*pi;
whp = 0.65*pi;
wc = [wlp/pi,whp/pi];
N = ceil(8/0.15);
n=0:N-1;
window= hanning(N);
[h1,w]=freqz(window,1);
subplot(411);
stem(window); %畫窗函數
axis([0 60 0 1.2]);
grid;
xlabel('n');
title('Hanning窗函數');
subplot(412);
plot(w/pi,20*log(abs(h1)/abs(h1(1)))); %畫Hanning窗頻譜圖
axis([0 1 -350 0]);
grid;
xlabel('w/pi');
ylabel('幅度(dB)');
title('Hanning窗函數的頻譜');
hn = fir1(N-1,wc, hanning (N));%基於窗函數的 FIR 濾波器
[h2,w]=freqz(hn,1,512); %freqz是用離散傅里葉變換的標准公示計算的 fft使用快速傅里
subplot(413);
stem(n,hn);
axis([0 60 -0.25 0.25]);
grid;
xlabel('n');
ylabel('h(n)');
title('Hanning窗函數的單位脈沖響應');
subplot(414);
plot(w/pi,20*log(abs(h2)/abs(h2(1))));
grid;
xlabel('w/pi');
ylabel('幅度(dB)');
title('濾波器相對幅度響應')
結果:
Ⅷ 用Matlab畫出幾種窗函數的頻率響應
常見的窗口有
矩形窗 boxcar()
三角窗 triang()
漢寧窗 hanning()
海明窗 hamming()
布拉克曼窗 blackman()
愷撒窗kaiser(n,beta)
繪制頻率響應曲線有可以用freqz()函數,比如:
n=50;
figure; freqz(boxcar(n),1);
figure; freqz(hanning(n),1);
figure; freqz(hamming(n),1);
figure; freqz(blackman(n),1);
figure; freqz(kaiser(n,2.5),1);
Ⅸ 幾種常見窗函數及其matlab應用
常用的窗函數:
bartlett,巴特利特窗口
調用格式:w = bartlett(L),%L在列向量中返回一個點的Bartlett窗口w,其中L必須是一個正整數。
blackman,布萊克曼窗口
調用格式:w= blackman(N),%返回N列向量中的點對稱Blackman窗口w,其中N是一個正整數。
bohmanwin,Bohman窗口
調用格式:w = bohmanwin(L),%L在列向量中返回一個點Bohman窗口w。Bohman窗口是兩個半持續時間餘弦波瓣的卷積。在時域中,它是一個三角形窗口和一個餘弦單周期的乘積,加上一個術語可以將邊界處的一階導數設置為零。Bohman窗脫落為1 /瓦特^4。
chebwin,切比雪夫窗口
調用格式:w= chebwin(L,r),%返回w包含長度LChebyshev窗口的列向量,其傅里葉變換旁瓣幅度r低於主瓣幅度dB。默認值為r100.0 dB。
gausswin,高斯窗口
調用格式:w = gausswin(N,Alpha),%返回一個N與Alpha標准差的倒數成比例的高斯點高斯窗口。窗口的寬度與α的值成反比。α值越大,窗口越窄。的值α的默認值至2.5。
hamming,海明窗口
調用格式:w= hamming(L),%返回一個L點對稱的Hamming窗口。
hann,漢恩(漢寧)窗口
調用格式:w= hann(L),%返回一個L對稱的Hann窗口。
kaiser,凱撒窗口
調用格式:w=kaiser(L,beta),%返回L列向量中的-point Kaiser窗口w。beta是Kaiser窗口參數,它影響窗口傅里葉變換的旁瓣衰減。默認值為beta0.5。
rectwin,矩形窗口
調用格式:w=rectwin(L),%返回L列向量中的矩形窗口長度w。該功能是為了完整性而提供的;矩形窗口相當於沒有窗口。
taylorwin,泰勒窗口
調用格式:w = taylorwin(n),%n在列向量中返回一個點泰勒窗口,w。這個向量中的值是窗口權重或系數。
triang,三角窗口
調用格式:w = triang(L),%返回L列向量中的一個點三角窗口。
具體應用場合可以查看有關數字信號處理方面的書籍。
Ⅹ 以矩形窗為例,說明在實際應用中加窗的目的和用途,以及加窗會對信號產生什麼樣的影響求回答
周期信號是定義在無窮域的,我們不可能滿足此條件。一旦不為無窮域,相當於原周期信號與窗函數的積。(窗函數幅值為一)嚴格講此時的信號已經不是周期信號。周期信號的頻譜是離散的,此時的信號的頻譜已經不是離散的而是連續的。