-
矩形波的傅里叶变换_冲激信号、门信号、方波、矩形波的傅里叶变换总结
2021-01-28 06:04:221.冲激信号及其傅里叶变换分析通过仿真图我们可以得出一下结论:冲激的频谱是一条直线,幅值为常数1,频率范围为无穷,即包好所有的频率成分。我们可以使用冲激函数去刺激系统,然后看系统对那些频率比较敏感,这样...学习数字信号处理的时候,会遇到许多的变换,搞得大家晕头转向的,同时作为一位学生深有体会大家的苦脑,所以给大家总结了一些常见的信号的变换,帮助大家梳理一下。
1.冲激信号及其傅里叶变换分析
通过仿真图我们可以得出一下结论:
冲激的频谱是一条直线,幅值为常数1,频率范围为无穷,即包好所有的频率成分。
我们可以使用冲激函数去刺激系统,然后看系统对那些频率比较敏感,这样我们就可以将系统的性能给求出来,因为冲激信号和任意函数的卷积都等于任意函数的本身,所以系统的冲激响应就可以近似代表系统的本身。
2.门信号及其傅里叶变换分析
我们可以猜想,冲激信号的时间宽度趋于零,而门信号的时间宽度假设为T/2,则我们推测门信号的频谱包含了许多成分,但不至于像冲激函数的频谱那么“雨露均沾”。仿真结果如图所示:
仿真结果分析:
结论:(1)门信号的傅里叶变换为Sa(t)函数,Sa(t)函数的表达式为
。可以推导,当t趋近于零时,也就是说根据极限可得sa(t)=1,所以sa(w)=sin(2pi/w)/(2pi/w)=1,因此更加验证了冲激信号正确性。
(2)sa函数是偶函数,又叫抽样函数在t的正、负两方向振幅都逐渐衰减,当t =
时,函数值等于零,这是由于sin函数的性质决定的。
3.方波及其傅里叶变换分析
方波由正弦波的奇次谐波构成,如下图,证明方法是傅里叶级数展开,此处不再证明。
4矩形波及其傅里叶变换分析
结论分析:周期连续信号的傅里叶变换是离散的,离散的信号的傅里叶变换是连续的,这点可以由上面的分析证明。
5.常数1的傅里叶变换分析:
可以由门信号进行推导,当门信号的时间趋于无穷大时,则信号为常数1,则sa函数收缩为冲激信号。
-
浅谈傅里叶变换、小波变换、HHT变换
2019-08-29 12:18:42浅谈傅里叶变换、小波变换、HHT变换一、傅里叶变换1.1傅里叶变换介绍二、小波变换2.1小波变换正反变换公式2.2小波变换适应场景及其优缺点2.3小波变换的应用三、HHT变换3.1HHT产生的背景3.1 HHT变换介绍3.2 HHT对信号...浅谈傅里叶变换、小波变换、HHT变换
一、傅里叶变换
1.1傅里叶变换介绍
我们生活中常见的信息的描述基本上都是在时域空间内进行描述的,如下图1所示;但如果当我们碰到一些杂乱无章的信号需要处理时,如图二所示,我们就很难在时域空间内分析出任何有用信息。于是伟大的傅里叶提出了傅里叶变换理论,将时域空间内的信息可以转换到频域空间,并且将两个空间通过一套完整的转换公式联系起来。于是我们可以对图二的时域信号进行傅里叶变换,我们则会得到像图三(此处图三并不代表图二的频域显示图,我只是为了讲解时域到频域这一变换,还望理解)所示的信号在频域空间的分布图。
1822年,法国工程师傅里叶指出:一个“任意”的周期函数都可以分解为无穷个不同频率正弦信号的和,即傅里叶级数。其中求解傅里叶系数的过程就是傅里叶变换。如下所示,第一个公式我们称之为傅里叶变换,将时域信号在整个区间内进行积分,转换为频域信号。第二个式子为傅里叶反变换,实现将频域信号转换为时域信号.
当然傅里叶变换的使用也是有一定限制的,比如:
1. 无穷区间的正弦波基函数所定义的一种整体变换
2. 仅适用于对信号进行全局分析,不适用于对信号进行局部分析。
3. 仅适用于分析频率不随时间变化的平稳信号,但不适用于分析频率随时间变化的非平稳信号。二、小波变换
2.1小波变换正反变换公式
以下我将会列出小波基变换的公式,其中第一个公式属于限制条件,第二个和第三个公式就像傅里叶正反变换的关系,可以相互转化。
其中式中的变量代表意思如下:
:伸缩和平移因子,
时间上或者空间上的平移,
:尺度上或频率上的伸缩。
还需要注意的是被称为小波基,它是可变的,但是它对信号没有自适应性。是小波基的复数求共轭,它和小波基一样,都可以变化,但是对信号也没有自适应性。2.2小波变换适应场景及其优缺点
- 适用于非平稳信号的分析
- 小波基函数的选取十分重要,基函数的选取的不同可能会造成分析结果的不一致,分析结果的准确性取决于选取合适的小波基函数。
- 最优小波基的选取方法研究。现在国内外已经有一些最优基选取方法,但是缺乏系统规范的最佳小波基的选取方法,即针对不同的问题能最优的选择不同的小波基,以实现好的应用效果。
- 不存在一种小波基能使适用所有的情况。因此小波基的最优化选择始终是小波理论研究的重要内容。
2.3小波变换的应用
小波变换的应用广泛,目前主要应用领域有以下所列:
- 地震信号分析
- 连续小波用于漩涡研究
- 二进制小波用于图像的边缘检测、图像压缩和重构。
- 小波包用于图像压缩
- 噪声的未知瞬态信号。
- 语音信号处理
- 时频分析
- 正交小波用于算子和微分算子的简化。
三、HHT变换
3.1HHT产生的背景
1. 频率的表示方法是建立在傅里叶变换的基础上的,由于傅里叶变换是一种全局的变换,要么完全在时域,要么完全在频域,因此无法表述信号的时频局部性质,而时频局部性质恰好是非平稳信号最基本和最关键的性质。
2. 虽然小波变换却具有自动改变窗口长短的功能,可以很好的把信号在时间上和频域上局部化,从而呈现了信号的局部奇异性。从分辨率看,小波变换很好的解决了时间和频率的分辨的矛盾,它在低频段用高的频率分辨率和低的时间分辨率;而在高频段使用低的频率分辨率和高的时间分辨率。(事实上,它也只能这样。)小波变换的窗宽变换是自适应的。(注意此处是窗宽,也就是矩形窗的宽度是可以自适应的,与之前说的小波基不能对信号的自适应是不矛盾的。)
3. 就这样HHT(Hilbert-Huang Transfrom),也称作希尔伯特-黄,在结合了傅里叶变换和小波变换的基础上诞生了。它是由美籍华裔科学家黄锷,创立的一种研究方法。它既吸取了小波变换的多分辨率的优势,又克服了小波变换中需要选择小波基的困难。3.2 HHT变换介绍
1. HHT是用于过程采样、可描述和仿真非平稳过程的一种非线性分析新方法。它通过EMD经验模式分解,将信号分解成有限个数的信号,并对每个信号进行Hilert变换,就可以获得有意义的瞬时功率,从而给出频率变化的精确表达。
HHT自适应的利用了信号的局部信息,从而获得信号某一时刻的顺势状态。
2. 对于HHT方法,它由 EMD 分解和 Hilbert 变换两部分构成,核心 是 EMD分解。EMD方法可以提取信号的瞬时频率和瞬时能量参数,这是实现信号瞬时分析的有效方法。
3. 接下来我将分别介绍HHT对于实现对信号瞬时分析的分析框图和EMD经验模式分解的基本原理。3.3 HHT对信号分析的框图
3.4 EMD经验模式分解的基本原理
为了得到有意义的瞬时频率,黄锷等人提出了在物理上得到一个有意义的瞬时频率的必要条件是:
函数对称于局部零均值且有相同的极值和过零点。并且根据这些条件进一步定义了满足以下两个条件的函数称为固有模态函数(),且这类函数的任一点都存在一个有意义的瞬时频率:
1. 信号上任意一点,由局部极大值点确定的包络线与由局部极小值点确定的包络线的平均值都为0,也就是说信号关于时间轴局部对称。
2. 在整个离散信号序列中,极值点的个数与过零点的个数相等或最多相差1。
以上图来说,数字从1-5中,有三个过零点,分别为1,2,5;有两个极值点,分别为极大值点3和极小值点4。按照上边的约定我们发现零点个数减去极值点个数为3-2=1,正好符合上边的极值点的个数与过零点的个数相等或最多相差1。并且条件1也满足。所以我们可以说,数字1-5所包含的信号则可以被认为成一个周期。存 在有意义的瞬时频率,可通过 对该分离出来的周期信号进行Hilbert 变换求得IMF。
由于 EMD 分解的分解基来自原信号本身,因此它具有自适应性,而不象傅里叶变换那样把信号分解为固定的正弦或余弦函数之和的形式。由此可见,EMD 分解法是一种基于信号本身的时间尺度特征的时域处理方法,它 把复杂的信号分解为不同尺度特征的本征模态函数()之和的形式,并且每个模函数分量上任一点都存在有意义的瞬时频率(通过 Hilbert 变换可求出)。
EMD过程的具体算法如下:
对一原始信号,首先要找出上所有的极值点,然后用三次样条函数曲线对所有的极大值点进行插值,从而拟合出原始信号上的包络线,同理得到下包络线。上、下两条包络线包含了所有的信号数据。按顺序连接上、下两条包络线的均值即可得到一条均值线:
再用减去得到:
对于不同的信号,可能是一个分量,也可能不是,一般来说它并不满足所需的条件,此时将当作原信号,重复上述步骤,则有:
对于是不是一个分量,我们必须要有一个筛选过程终止的原则,它可以利用两个连续的处理结果之间的标准差SD作为判断依据:
决定筛选过程是否终止,SD取值一定要谨慎,既要避免过于严格的准则,以导致分量变成纯粹的频率调制信号,造成幅值恒定;又要避免过于宽松的准则,从而产生与要求的IMF分量相差太远的分量。实际过程中可以通过对信号反复用筛选过程而取不同的SD值来最终确定,经验表明,SD值取0.2-0.3时为宜。这样既可以保证的线性和稳定性,又可以IMF具有相应的物理意义。
当满足SD的值要求时,则称为第一阶IMF,记为:
从原信号中减去得到剩余信号,即残差:
然后将看作一组新的“原信号”,重复上述的模态分解过程,这样经过多次运算即可得到全部的残差:
当满足条件:
1.或小于预定的误差;
2.残差成为一单调函数,即不能再从中提取出IMF分量时
满足以上两条件之一的,就可以终止模态分解过程。
应该注意的是,该条件的选取也应该适中,若条件太严格,则得到的最后几个分量没有太大意义,并且还消耗时间;若条件太松,则会丢失有用信号分量。具体终止条件的选取可以通过对信号的反复分解并依据对于原始信号的知识来最终确定。因为我们只是对原始信号进行拆解,而从未抛弃原始信号的数据。因此我们可以通过累加的形式再次复原出我们的原始信号,它可由n阶分量以及残差构成:
最后得到的频率成分从高到低的一系列本征模态分量()以及最后的残留分量。由于每个IMF分量代表一组时间特征尺度的数据序列,并且以不同的分辨率显示信号特征,所以整个分解过程实际上是将原始信号分解为各个不同时间特征尺度波动的叠加。致谢
此次博客内容的书写,主要是在听取了昨日的昆明理工大学信自学院的刘增力教授的关于傅里叶变换、小波变换以及HHT变换讲座的内容,在课后我就将听到的以及理解的东西发到了博客上,做一下讲座报告的记录吧。如果博客中我理解的有什么偏差甚至是错误的地方,还请各位大佬指正,在这里小kingback先行谢谢大家了。
-
方波信号的傅里叶变换_信号傅里叶变换系列文章(6):傅里叶变换应用于轴承故障诊断...
2020-12-08 15:11:46滚动轴承的常见故障有: 破碎、裂纹、压痕、磨损、点蚀、摩擦伤痕、锈蚀、保持架损坏等。据统计,在旋转机械的故障中,有3 0% 是由滚动轴承引起的,因此,对滚动轴承进行适时监测与故障诊断,就显得非常重要。滚动...滚动轴承是旋转机械中应用最广泛的机械零件,也是最易损坏的元件之一,旋转机械的许多故障都与滚动轴承有关。滚动轴承的常见故障有: 破碎、裂纹、压痕、磨损、点蚀、摩擦伤痕、锈蚀、保持架损坏等。据统计,在旋转机械的故障中,有3 0% 是由滚动轴承引起的,因此,对滚动轴承进行适时监测与故障诊断,就显得非常重要。滚动轴承在工作时,一般是外圈与轴承座或机壳相联接,固定或相对固定,内圈与机械的传动轴相连接,随轴一起转动。在机械运转时,由于轴承本身的结构特点,加工装配误差及运行过程中出现的故障等内部因素,以及传动轴上其它零件的运动和力的作用等外部因素,当轴以一定的速度并在一定载荷下运转时对轴承和轴承座或外壳组成的振动系统产生激励,使该系统振动,人们可以通过传感器检测振动信号并记录下来。在轴承外圈上安装振动传感器,并将传感器输出信号进行放大和模数转换处理,就能获得离散的轴承振动信号。
利用已经学过的信号分析方法对给出的轴承振动信号数据进行分析。
常用的信号分析方法有:时域分析、幅值分析和频域分析。
结合一个轴承振动信号数据,首先通过信号的时域和幅值分析来判断轴承的好坏,然后再进一步通过信号的频谱分析来判断轴承出现的故障原因。
一、轴承信号的预处理
假设给出的轴承振动信号是在轴承平稳运转条件下记录下来的,因此,可以将此信号看成是具有各态历经特性的平稳随机信号,这样,我们可以利用一次测量获得的信号数据通过时间平均来代替统计平均对信号进行分析和计算。
在信号分析之前,我们需要对信号数据进行预处理。
这里给大家留一个问题:为什么要对数据进行去均值处理?
预处理源程序
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 2048
#define pi 3.1415926
void main(void)
{
FILE *fp;
float x[N],y[N],Xmax, c,t,Xp,a;
float jf=0.0, m=0.0, Xq=0.0;
int i,j,n;
if((fp=fopen("c:6310.dat","r"))==NULL) /*打开C盘根目录下的数据文件*/
{
printf("can't open the file.n");
exit(1);
}
if(!feof(fp))
{
for(n=0;n<=N-1;n++) /*读取 个数据*/
fscanf(fp,"%f",&x[n]);
}
fclose(fp); /*关闭数据文件*/
}
for(n=0;n<N;n++)
{
m=m+x[n]; /*求均值*/
}
m/=N;
for(n=0;n<N;n++)
x[n]-=m; /*去均值处理*/
Xmax=fabs(x[0]);
for(i=1;i<N;i++)
if(fabs(x[i])>Xmax)
{
Xmax=fabs(x[i]); /*数据绝对值的最大值*/
}
for(n=0;n<N;n++)
x[n]/=Xmax; /*归一化*/
}
程序很简单,都是单循环的程序。
6310.dat数据文件见《信号与系统分析和应用》书上。
二、轴承信号的时域和幅值分析
1.时域分析
时域分析主要可以观察时间历程信号,通过时间历程信号可以清楚地识别信号的性质,即信号的瞬态性、随机性以及周期性等。如图所示是信号取1024点的信号波形(归一化)。可以看到,这个信号具有很强的脉动性。
图1 轴承振动信号 2.幅值分析-参数计算
幅值分析包括信号的峰值大小、均方根值、峰值因子、峭度等。由于经过抽样得到的是离散数据,对有限长的离散数据(信号)进行计算所得到的结果实际是估计值。估计值与实际值之间的偏差问题这里不做讨论。
峰值因子(二阶矩的量)是峰值与均方根值的比值。
峰值因子是噪声或振动信号的脉动性的度量,当涉及冲击、脉冲噪声和短暂过程时经常用到它。正弦波的峰值因子是1.414,而真正的随机信号的峰值因子一般都小于3。峰值因子常用来发现由损伤的轴承所产生的脉动振动。根据经验,良好轴承具有振动峰值因子大约2.5到3.5。在轴承彻底失效之前,有时可以记录到高达7左右的峰值因子。峰值因子只是在信号有明显的脉动性时才可靠(此时,轴承可能出现点蚀等轻度损伤)。一般来说,高于3.5的峰值因子即预示着轴承的损伤。
峭度(峰态系数---四阶矩的量):
峭度对于发现信号中的脉动是很有用的。它广泛的应用于检测滚动轴承的离散性、冲击性故障。好的轴承一般具有3左右的峭度值,而带有冲击性缺陷的轴承的峭度值一般要高些(通常大于4)。峭度在使用时受到一定限制,因为当轴承的损伤发展成为分布性的,此时尽管信号振幅比较大,但是信号的脉动成分则减弱,峭度值也随之下降。
图2 疲劳试验机上轴承振动信号的峭度曲线 峭度也只是在信号有明显的脉动性时才可靠。
一般来说,峭度的变化紧跟峰值因子的变化,唯一的差别是数字量值的变化,即峭度提供更宽的“动态范围”。
通常,高于4的峭度值即预示着损伤。和峰值因子一样,轴承振动信号的峭度不受速度和载荷变化的影响。
因为峭度是以检测脉动性为依据的,所以它也受到与峰值因子同样的局限。
计算峰值因子与峭度的源程序如下:
for(n=0;n<N;n++)
jf+=x[n]*x[n];
jf/=N;
jf=sqrt(jf);
for(n=0;n<N;n++)
Xq+=x[n]*x[n]*x[n]*x[n];
Xq=Xq/(N*jf*jf*jf*jf);
a=fabs(x[0]);
for(i=0;i<N-1;i++)
if(fabs(x[i])>a)
a=fabs(x[i]);
Xp=a;
c=Xp/jf;
printf("最大值=%ft峰值=%ft均方根值=%ft峰值因子=%ft峭度=%fn",Xmax,Xp,jf,c,Xq);
3.幅值分析和时域分析结合的案例
轴承振动信号测量仪如图3所示,这款测量仪用表头指示振动信号的有效值,但是,这里存在一个问题,就是一个好的轴承和一个有点蚀等轻微损伤的轴承振动信号的有效值大小差别很小,仅凭表头很难发现轴承的轻微损伤,因此,在测量仪上用示波器监测轴承振动信号的波形,测量人员用眼睛能看到信号是否有脉动。
图3 轴承振动测量仪 利用幅值和时域分析,能判断轴承是否发生损伤,但是,这台轴承振动测量仪,它不能判断轴承的损伤是由轴承的哪个部位引起的,要想知道是哪个部位引起的,则需要对轴承振动信号进行频域分析。
注意:轴承稳定旋转时测量才能有效(这个轴承振动信号是平稳的)。
三、轴承信号的频域分析
1.信号频谱分析与倒频谱分析
频谱分析在数字信号处理中用途广泛: 如通过语言信号的频谱分析实现语音通讯的频带压缩、声纳信号的频谱分析用以区分水面与水下目标等。
平稳随机信号的频谱分析主要是功率谱。功率谱表示信号功率随频率的分布情况, 物理意义直观、清楚。
频谱分析的目的是把复杂的时间历程, 经傅立叶变换分解为若干单一的谐波分量, 以获得信号各谐波幅值、相位、功率等与频率的关系。
利用信号的功率谱和功率倒频谱技术对信号进行分析。
轴承信号的频谱分析是最有用的诊断与故障检测方法,但这种方法需要知道关于轴承几何结构和运行状态的细节。
倒频谱定义为对数功率谱的傅立叶反变换, 即对对数功率谱做进一步谱分析得到的谱图。
倒谱是基于原始的时域信号进行变换的,它能有效地处理非线性叠加的信号。倒谱在物理上的意义实际是对频谱特性再进行一次频谱分析,这样,频谱上的周期成分将会十分明显地在倒谱上表示出来。
倒频谱能较好地检测出功率谱上的周期成分,通常在功率谱上无法对边频的总体水平做出估计,而倒频谱则具有“概括”能力,能较明显地显示出功率谱上的周期成分,使之定量化。
当轴承等发生故障时,振动频谱具有的边频带一般都具有等间隔( 故障频率) 的结构,利用倒频谱的这个优点,可以检测出功率谱中难以辨识的周期性成分。
由于传递路径不同,不同测点的功率谱也不同。但在倒频谱上,由于信号源的振动效应和传递途径的效应分离开来,代表轴承振动的倒频谱分量几乎完全相同,只是低频率段存在由于传递函数的差异而产生的影响。由此可见,在进行倒频谱分析时,可以不必考虑信号测取时的衰减和传输路径传递函数所带来的影响。
倒频谱分析需要对信号功率谱取对数,取对数的意义包括以下两点:
(1)扩大频谱的动态范围,提高再变换的精度;
(2)取对数具有解卷积的作用,便于分离和提取目标信号,并且倒频谱还能区别出因调制而引起的功率谱中的周期分量。
功率倒频谱是时间信号功率谱对数的傅立叶逆变换。
功率倒频谱用来识别频谱的周期性,正如频谱用来识别一个信号的时间历程的周期性一样。
倒频谱分析还能把轴承内部的振动与到测量传感器路径的传递函数分离开来。
倒频谱分析能将振动信号功率谱图上的众多边频谱线简化为单根谱线,便于观察与分析。
倒频谱分析能提取振动信号的周期特征,即对谱图进行频谱分析,故可识别周期特征。 对于没有故障的滚动轴承来说,倒频谱中将不会有谱峰出现。
用倒频谱分析轴承信号的特征
通常测得的信号是振动信号x(t)与由轴承内部滚动体、内外圈等元件组成的系统传递函数h(t)卷积后的信号。但在倒频谱中,由于倒频谱的解卷积作用,使得原本x(t)和h(t)的卷积关系变为加法关系,这使得对信号的分离变得较为简单,所以倒频谱中可保留滚动轴承故障信号,同时消除了传递系统函数和噪声信号的影响。
倒频谱分析能将振动信号功率谱图上的众多边频谱线简化为单根谱线,便于观察与分析。倒频谱分析能提取振动信号的周期特征,即对谱图进行频谱分析,故可识别周期特征。 对于没有故障的滚动轴承来说,倒频谱中将不会有谱峰出现。
2.轴承故障诊断
(1)轴承特征频率
轴承产生故障时,其内、外滚道、滚动体和保持架可能会有缺陷。
当滚动体通过缺陷位置时,将发生冲击而产生周期性故障冲击脉冲,从而引起轴承振动。
而冲击脉冲的周期T是由产生缺陷的部位决定的,其周期的倒数为fi,它反映了故障特征,称fi为轴承的特征频率。当机器在匀速状态下运行时,若轴承出现故障,则在其振动频谱中会出现特征频率的谱峰(振幅增大)。因此,可以用故障的特征频率作为诊断特征。当滚动轴承元件出现局部损伤,轴承的内外圈或滚动体出现疲劳剥落,机器在运转时就会产生相应的振动频率,即故障特征频率或通过频率。各元件的故障特征频率分别计算如下:
计算倒谱源程序代码
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 2048
#define pi 3.1415926
void DFT(float x[],float y[]);
void IDFT(float yi[N]);
void main(void)
{
FILE *fp;
float x[N],y[N],Xmax,m=0.0,t,Xp,a;
float jf=0.0,c,Xq=0.0;
int i,j,n;
if((fp=fopen("c:6310.dat","r"))==NULL)
{
printf("can't open the file.n");
exit(1);
}
if(!feof(fp))
{
for(n=0;n<=N-1;n++)
fscanf(fp,"%f",&x[n]);
}
fclose(fp);
Xmax=fabs(x[0]);
for(n=0;n<N;n++)
{
m=m+x[n];
}
m/=N;
for(n=0;n<N;n++)
x[n]-=m;
for(i=1;i<N;i++)
if(fabs(x[i])>Xmax)
{
Xmax=fabs(x[i]);
}
for(n=0;n<N;n++)
x[n]/=Xmax;
for(n=0;n<N;n++)
jf+=x[n]*x[n];
jf/=N;
jf=sqrt(jf);
for(n=0;n<N;n++)
Xq+=x[n]*x[n]*x[n]*x[n];
Xq=Xq/(N*jf*jf*jf*jf);
a=fabs(x[0]);
for(i=0;i<N-1;i++)
if(fabs(x[i])>a)
a=fabs(x[i]);
Xp=a;
c=Xp/jf;
printf("最大值=%ft峰值=%ft均方根值=%ft峰值因子=%ft峭度=%fn",Xmax,Xp,jf,c,Xq);
DFT(x,y);
IDFT(y);
}
void DFT(float x[],float y[])
{
FILE *fp;
float XI[N]={0.0},XQ[N]={0.0},PI[N],PQ[N],w[N];
int n,k;
for(n=0;n<N;n++)
{
PQ[n]=0.0;
PI[n]=x[n];
w[n]=0.54-0.46*cos(2*pi*n/(N-1));
PI[n]=PI[n]*w[n];
}
for(k=0;k<N;k++)
{
for(n=0;n<N;n++)
{
XI[k]+=PI[n]*cos(2*pi/N*n*k)+PQ[n]*sin(2*pi/N*n*k);
XQ[k]+=PQ[n]*cos(2*pi/N*n*k)-PI[n]*sin(2*pi/N*n*k);
}
y[k]=XI[k]*XI[k]+XQ[k]*XQ[k];
y[k]=log10(y[k]);
}
}
void IDFT(float yi[])
{
FILE *fp;
float pI[N]={0.0},pq[N]={0.0},yq[N]={0.0};
int n,k;
FILE *fp;
for(n=0;n<N;n++)
{
for(k=0;k<N;k++)
{
pI[n]+=yi[k]*cos(2*pi/N*n*k)-yq[k]*sin(2*pi/N*n*k);
pq[n]+=yq[k]*cos(2*pi/N*n*k)+yi[k]*sin(2*pi/N*n*k);
}
pI[n]/=N;
pq[n]/=N;
pI[n]=sqrt(pI[n]*pI[n]+pq[n]*pq[n]);
}
if((fp=fopen("c:zh.dat","w"))==NULL)
{
printf("can't open the file.n");
exit(1);
}
for(k=0;k<N;k++)
fprintf(fp,"%d%fn",k,pI[k]*1000);
fclose(fp);
}
直接利用离散傅里叶变换公式的程序是二重循环的。你也可以用FFT来实现,FFT程序是三重循环的程序。
结束语:傅里叶变换的应用领域非常广,我这里只想通过几篇文章把傅里叶变换的理论到应用简单做个归纳和总结,希望对网友能有帮助。
-
三角波的傅里叶变换公式_冲激信号、门信号、方波、矩形波的傅里叶变换总结...
2020-12-16 02:27:191.冲激信号及其傅里叶变换分析通过仿真图我们可以得出一下结论:冲激的频谱是一条直线,幅值为常数1,频率范围为无穷,即包好所有的频率成分。我们可以使用冲激函数去刺激系统,然后看系统对那些频率比较敏感,这样...学习数字信号处理的时候,会遇到许多的变换,搞得大家晕头转向的,同时作为一位学生深有体会大家的苦脑,所以给大家总结了一些常见的信号的变换,帮助大家梳理一下。
1.冲激信号及其傅里叶变换分析
通过仿真图我们可以得出一下结论:
冲激的频谱是一条直线,幅值为常数1,频率范围为无穷,即包好所有的频率成分。
我们可以使用冲激函数去刺激系统,然后看系统对那些频率比较敏感,这样我们就可以将系统的性能给求出来,因为冲激信号和任意函数的卷积都等于任意函数的本身,所以系统的冲激响应就可以近似代表系统的本身。
2.门信号及其傅里叶变换分析
我们可以猜想,冲激信号的时间宽度趋于零,而门信号的时间宽度假设为T/2,则我们推测门信号的频谱包含了许多成分,但不至于像冲激函数的频谱那么“雨露均沾”。仿真结果如图所示:
仿真结果分析:
结论:(1)门信号的傅里叶变换为Sa(t)函数,Sa(t)函数的表达式为
。可以推导,当t趋近于零时,也就是说根据极限可得sa(t)=1,所以sa(w)=sin(2pi/w)/(2pi/w)=1,因此更加验证了冲激信号正确性。
(2)sa函数是偶函数,又叫抽样函数在t的正、负两方向振幅都逐渐衰减,当t =
时,函数值等于零,这是由于sin函数的性质决定的。
3.方波及其傅里叶变换分析
方波由正弦波的奇次谐波构成,如下图,证明方法是傅里叶级数展开,此处不再证明。
4矩形波及其傅里叶变换分析
结论分析:周期连续信号的傅里叶变换是离散的,离散的信号的傅里叶变换是连续的,这点可以由上面的分析证明。
5.常数1的傅里叶变换分析:
可以由门信号进行推导,当门信号的时间趋于无穷大时,则信号为常数1,则sa函数收缩为冲激信号。
-
基于级联分数傅里叶变换系统的数字水印技术
2021-02-10 08:22:57该技术根据光学级联分数傅里叶变换系统,利用两个随机相位分布函数对水印信息编码并经过迭代分数傅里叶变换嵌入到变换域的载体图像中。在水印检测和提取过程中,两个相位分布函数作为密钥。随机相位编码技术的引入,... -
常见函数的傅里叶变换公式_高等数学入门——常见三角函数积分公式的推导和总结...
2020-12-05 11:42:33这个系列文章讲解高等数学的基础内容,注重学习方法的培养,对初学者不易理解的问题往往会不惜笔墨加以解释。在内容选取上,以国内的经典教材”同济版高等数学“为蓝本,并对具体内容作了适当取舍与拓展。例如用ε-... -
傅里叶级数和傅里叶变换简介和推导
2019-09-30 11:48:53在数学上,对任意函数 f(x),可按某一点进行展开,常见的有泰勒展开和傅里叶展开。 泰勒展开为各阶次幂函数的线性组合形式, 本质上自变量未改变,仍为 x。但是傅里叶变换有: 傅里叶展开为三角函数的线性组合。 ... -
傅里叶变换
2019-12-03 17:49:24所谓信号,从狭义上说可以认为是自然界中作为信息载体的各类波,一般来说简谐震动产生的正弦波是最常见的研究对象。针对正弦波,在数学上有一系列的工具可以对其进行分析。因此,对于自然界存在的所有波... -
【音频处理】离散傅里叶变换
2018-06-12 18:03:03前言 最近复现音乐驱动舞蹈的文章《Dancing-to-Music Character ...单纯讨论离散傅里叶变换(DFT),我们常见的是快速傅里叶变换(FFT),其实FFT是对DFT的一个计算优化,主要是剔除DFT里面有周期性之类的被冗余计... -
傅里叶变换学习笔记(一)
2021-01-31 09:52:27本文试图用通俗语言对傅里叶分析中常见的一些难点加以解释,更严格的公式推导和几何证明在知乎上有更多的大神解答,翻看知乎上多位大神的解答,大体分为两类:一派是以“掐死教程”为代表的图形派,包含大量的图形... -
求周期方波信号的傅里叶级数_冲激信号、门信号、方波、矩形波的傅里叶变换分析...
2021-01-05 00:32:25冲激信号及其傅里叶变换分析冲激信号及其傅里叶变换通过仿真图我们可以得出一下结论:1.冲激的频谱是一条直线,幅值为常数1,频率范围为无穷,即包好所有的频率成分。2.我们可以使用冲激函数去刺激系统,然后看系统... -
Matlab中二维离散傅里叶变换
2020-06-09 09:48:55FFT是快速傅里叶变换 中值滤波的理解: 还有一种非线性滤波-中值滤波器。中值滤波器对脉冲型噪声有很好的去掉。因为脉冲点都是突变的点,排序以后输出中值,那么那些最大点和最小点就可以去掉了。中值滤波对高斯噪音... -
DFT离散傅里叶变换
2017-06-28 19:31:50这篇就是图像的时域到频域的开始,也是信号处理中比较常见的傅立叶变换。 一、傅立叶图像 对一张图像使用傅立叶变换就是将它分解成正弦和余弦两部分。也就是将图像从空间域(spatial domain)转换到 -
傅里叶变换-平稳信号
2016-09-12 21:09:32信号进行傅立叶变换的前提是平稳信号,对于非平稳信号,分析效果不好。 所以在对一些信号进行...比较常见的操作是:对信号去trend和Season,信号含有趋势和季节性变化,需要去除这些变化,使信号满足平稳信号的条件。 -
【信号与系统学习笔记】【课程终章】—— 离散傅里叶变换的扩展:z 变换分析2
2020-06-18 16:12:39上文中,我们学习了《信号与系统》的第十章...1. 常见的z变换对 【1】必须要记得的两个z变换对:anu[n]a^nu[n]anu[n] 的z 变换为:11−az−1\frac{1}{1 - az^{-1}}1−az−11,ROC为:∣z∣>∣a∣|z| > |a|∣z. -
因果信号的傅里叶变换_复试经验贴 | 信号与系统知识点梳理
2020-12-30 17:48:13《信号与系统》知识点梳理学弟...常见信号表示、信号的运算3.系统描述的分类及判断(二)连续系统的时序分析1.LTI系统的经典解和卷积解2.冲激响应h(t)3.卷积性质及计算(三)离散系统的时序分析1.差分方程及其经典解2.... -
傅里叶变换学习笔记(二)——栅栏效应、频谱泄漏与加窗
2021-02-06 00:59:46本文将对傅里叶变换应用中常见的两个问题进行讨论。 (一) 栅栏效应 先看一个典型的应用案例: 构造信号: x(t)=−sin(2πf1t)+sin(2πf2t),f1=10Hz,f2=12Hz x\left(t\right)=-sin\left(2\pi f_1t\right)+sin\left(2\... -
定点数和浮点数在STM32单片机中使用傅里叶(FFT)变换的理解
2019-10-29 13:01:20单片机中如果需要进行一定的运算(常见的傅里叶变换)时,需要在不同情况下对AD采集的数据进行一定的处理才能得到正确的傅里叶变换后的数据,那么,选择正确的处理方式时,首先要解决的是定点数和浮点数的问题。... -
Opencv图像识别从零到精通----DFT离散傅里叶变换
2018-08-14 17:03:49这篇就是图像的时域到频域的开始,也是信号处理中比较常见的傅立叶变换。 一、傅立叶图像 对一张图像使用傅立叶变换就是将它分解成正弦和余弦两部分。也就是将图像从空间域(spatial domain)转换到频域... -
Opencv图像识别从零到精通(36)----DFT离散傅里叶变换
2016-08-27 17:40:48这篇就是图像的时域到频域的开始,也是信号处理中比较常见的傅立叶变换。 一、傅立叶图像 对一张图像使用傅立叶变换就是将它分解成正弦和余弦两部分。也就是将图像从空间域(spatial domain)转换到频域... -
【计算机视觉】初识基础:傅里叶变换、图像滤波、卷积及高斯模糊等
2019-02-21 13:09:23什么是计算机视觉 计算机视觉是一门研究如何使机器“看”的科学,指用摄像机和电脑代替人眼对目标进行识别、跟踪和测量...图片格式与压缩:常见的图片格式JPEG,PNG,BMP等本质上都是图片的一种压缩编码方式 ·视... -
共轭复数,共轭根式,共轭矩阵,共轭方向,共轭方向法,共轭梯度法,共轭分布,共轭函数,傅里叶变换的共轭...
2020-08-28 12:50:05在数学中常见的共轭有:共轭复数,共轭根式,共轭双曲线,共轭矩阵,共轭转置,共轭梯度方向。共轭分布,共轭先验,共轭函数。共轭方向法,共轭梯度方向法。 我们在关注共轭时,主要关注共轭的配对规律,共轭的性质... -
【信号与系统】常用傅立叶变换对的推导和傅立叶变换性质的证明
2020-08-13 11:53:54**本篇主要内容为:** 1. 常见信号的傅里叶变换(由定义法和间接法易求的信号) 2. 傅里叶变换的性质,不含时域积分特性和频域积分特性 -
配电网短路故障特征的快速傅里叶分析
2020-07-01 09:54:13短路故障为配电网最常见的故障。随着我国智能电网计划的提出,配电网户外开关...通过对电参量的快速傅里叶变换,实现配电网短路故障特征的提取。仿真结果证明该方法能准确提取短路故障信息,对保障电网安全具有指导意义。 -
数字信号处理基础----拉普拉斯变换与Z变换
2020-09-26 19:42:04在前面学习非周期信号的傅里叶变换的时候,对一些常见的信号进行了傅里叶变换。其实,不是任何信号都能使用傅里叶变换进行展开,能够使用傅里叶变换的信号需要满足一定的条件才可以。 信号能够使用傅里叶... -
matlab 二维高斯滤波 傅里叶_图像分析与处理(8)- 频率域滤波器平滑和锐化图像【常见的低通/高通滤波器...
2020-11-20 12:59:00本节为opencv数字图像处理(8):频率域滤波的第五...1. 使用低通滤波器进行图像平滑 考虑图像中的边缘与其他尖锐的灰度转变对其傅里叶变换的高频内容有贡献,因此在频率域平滑图像可通过高频分量的衰减来达到,即... -
基于多阶离散分数梅林变换的图像加密算法
2021-02-24 18:18:40MODFrMT是分数梅林变换(FrMT)的泛化,是通过在对数极坐标中使用多阶离散分数阶傅里叶变换(MODFrFT)对图像进行变换而得出的,其中MODFrFT是根据对数的闭合形式表示的。离散分数阶傅里叶变换(DFrFT),并且可以... -
python数据分析对数学的要求_认识常见的Python数据分析库
2020-12-08 14:19:18NumPy的主要功能:· 快速高效的多维数组对象ndarray· 用于对数组执行元素级计算以及直接对数组执行数学运算的函数· 用于读写硬盘上基于数组的数据集的工具· 线性代数运算、傅里叶变换,以及随机数生成· 用于将C... -
离散余弦变换和C语言实现-win32版本
2020-10-15 00:03:53这个离散傅里叶变换是对一个实偶函数进行的(因为一个实偶函数的傅里叶变换仍然是一个实偶函数),在有些变形里面需要将输入或者输出的位置移动半个单位(DCT有8种标准类型,其中4种是常见的)。 离散余弦变换DCT具有... -
红外测试操作步骤_干货丨红外光谱操作步骤及常见的问题
2020-12-22 17:28:15红外光谱的强度h(δ)与形成该光的两束相干光的光程差δ之间有傅里叶变换的函数关系。傅立叶变换测定红外光谱用于控制两相干光光程差的干涉仪测量得到下式表示的光强随光程差变化的干涉图其中v为波数,将包含各种光谱...
-
15个最受欢迎的Python开源框架
-
项目经理成长之路
-
EMDK-BatteryIntent-Demo:演示应用程序,显示Zebra设备上可用的电池额外功能-源码
-
A data hiding approach for the self-security of iris recognition
-
linux基础入门和项目实战部署系列课程
-
用于认知无线电系统的光控可重构带隙UWB天线
-
单链表
-
基于X参数晶体管模型的宽带功率放大器设计
-
【邻接矩阵】57 邻接矩阵:指定顶点的位置
-
在 Linux 上构建企业级 DNS 域名解析服务
-
一种新策略的肺结节检测算法
-
Android上的PhoneGap和DojoMobile
-
【预测模型】基于matlab小波神经网络的短时交通流量预测【含Matlab源码 400期】
-
Kinetic modeling of a high power fast-axial-flow CO[EQUATION] laser with computational fluid dynamics method
-
Mysql常用sql语句系列
-
FastDFS 分布式文件系统部署
-
【Java基础】Java Object中的方法 技术详解
-
BufferedInputStream的使用
-
2021/2/26:Django思维导图
-
紧凑的W型雪分形多频带天线,用于无线应用