矩形窗算法
Ⅰ 窗函数的相关原理
不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。信号的截断产生了能量泄漏,而用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列向量中的一个点三角窗口。
具体应用场合可以查看有关数字信号处理方面的书籍。
Ⅹ 以矩形窗为例,说明在实际应用中加窗的目的和用途,以及加窗会对信号产生什么样的影响求回答
周期信号是定义在无穷域的,我们不可能满足此条件。一旦不为无穷域,相当于原周期信号与窗函数的积。(窗函数幅值为一)严格讲此时的信号已经不是周期信号。周期信号的频谱是离散的,此时的信号的频谱已经不是离散的而是连续的。