傅立叶

傅里叶变换与不确定性

ぐ巨炮叔叔 提交于 2020-02-01 18:52:12
在现代数学中有一个很容易被外行误解的词汇:信号(signal)。当数学家们说起「一个信号」的时候,他们脑海中想到的并不是交通指示灯所发出的闪烁光芒或者手机屏幕顶部的天线图案,而是一段可以具体数字化的信息,可以是声音,可以是图像,也可是遥感测量数据。简单地说,它是一个函数,定义在通常的一维或者多维空间之上。譬如一段声音就是一个定义在一维空间上的函数,自变量是时间,因变量是声音的强度,一幅图像是定义在二维空间上的函数,自变量是横轴和纵轴坐标,因变量是图像像素的色彩和明暗,如此等等。 在数学上,关于一个信号最基本的问题在于如何将它表示和描述出来。按照上面所说的办法,把一个信号理解成一个定义在时间或空间上的函数是一种自然而然的表示方式,但是它对理解这一信号的内容来说常常不够。例如一段声音,如果单纯按照定义在时间上的函数来表示,它画出来是这个样子的: 这通常被称为波形图。毫无疑问,它包含了关于这段声音的全部信息。但是同样毫无疑问的是,这些信息几乎没法从上面这个「函数」中直接看出来,事实上,它只不过是巴赫的小提琴无伴奏Partita No.3的序曲开头几个小节。下面是巴赫的手稿,从某种意义上说来,它也构成了对上面那段声音的一个「描述」: 这两种描述之间的关系是怎样的呢?第一种描述刻划的是具体的信号数值,第二种描述刻划的是声音的高低(即声音震动的频率)。人们直到十九世纪才渐渐意识到

数据采样与处理算法

心已入冬 提交于 2020-01-22 23:48:24
数据采样与处理算法 这里特别说明,输入量是作为周期函数的算法 均方根算法(参考馈线终端单元的设计与实现—郭阳春) 均方根将所采集的离散型的采样点值计算得出电压电流的幅值,主要用于设备的测量功能,该算法不区分系统中的谐波干扰分量,得到是整体的有效值。 算法可以采用多个周期计算一次,在一周期计算一次的情况下,将采样点的采样值先进行平方计算,然后讲一个周期的N点采样值的平方顺序相加,然后将所得的N点采样值的平方和除以N再开放,就可以得到电气量的有效值。 傅立叶算法 傅立叶算法主要是用于将采集到的离散型采样值,转换成为与电压、电流正弦信号对应的矢量值,经过傅立叶变换得到矢量值的实部和虚部。通过对实部和虚部的计算得到电压电流的幅值和初相角。 算法本能能够分离各次谐波的功能,可以从一个复杂的波形中分离出直流量、基波和各次谐波,不仅可以得到精度较高的基波用于继电保护的判断,也可以较为精确的计算出各次谐波的量。 傅立叶算法又可以分为全波傅式算法、半波傅式算法、快速傅立叶算法等; 2.1全波傅式算法 全波傅式算法的基本思想源于傅立叶基数,假设被采样的模拟量信号是一个周期性的时间函数,可以是正弦函数也可以是包含各次谐波分量的非正弦函数,根据傅式级数的概念可以将此周期函数分解为恒定的直流分量和高次谐波分量。可以表示为: 其中n为谐波次数,和分别为各次谐波的余弦项和正弦项的振幅

傅立叶变换的意义

寵の児 提交于 2020-01-20 23:01:55
一、傅立叶变换的由来 关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的文章,太过抽象,尽是一些让人看了就望而生畏的公式的罗列,让人很难能够从感性上得到理解,最近,我偶尔从网上看到一个关于数字信号处理的电子书籍,是一个叫 Steven W. Smith, Ph.D. 外国人写的,写得非常浅显,里面有七章由浅入深地专门讲述关于离散信号的傅立叶变换,虽然是英文文档,我还是硬着头皮看完了有关傅立叶变换的有关内容,看了有茅塞顿开的感觉,在此把我从中得到的理解拿出来跟大家分享,希望很多被傅立叶变换迷惑的朋友能够得到一点启发,这电子书籍是免费的,有兴趣的朋友也可以从网上下载下来看一下, URL 地址是: http://www.dspguide.com/pdfbook.htm 要理解傅立叶变换,确实需要一定的耐心,别一下子想着傅立叶变换是怎么变换的,当然,也需要一定的高等数学基础,最基本的是级数变换,其中傅立叶级数变换是傅立叶变换的基础公式。 二、傅立叶变换的提出 让我们先看看为什么会有傅立叶变换?傅立叶是一位法国数学家和物理学家的名字,英语原名是 Jean Baptiste Joseph Fourier (1768-1830) , Fourier 对热传递很感兴趣,于 1807 年在法国科学学会上发表了一篇论文,运用正弦曲线来描述温度分布

快速傅立叶之二

老子叫甜甜 提交于 2019-12-17 02:18:59
一、题目 Description 请计算C[k]=sigma(a[i]*b[i-k]) 其中 k < = i < n ,并且有 n < = 10 ^ 5。 a,b中的元素均为小于等于100的非负整数。 Input 第一行一个整数N,接下来N行,第i+2…i+N-1行,每行两个数,依次表示a[i],b[i] (0 < = i < N)。 Output 输出N行,每行一个整数,第i行输出C[i-1]。 二、解法 可以把原式变化成卷积的形式,我们翻转 b b b 数组,得到 d [ n − i + k − 1 ] = b [ i − k ] d[n-i+k-1]=b[i-k] d [ n − i + k − 1 ] = b [ i − k ] ,这样就可以把 a , d a,d a , d 数组理解为多项式,它们相乘的次数是固定的也就是 n + k − 1 n+k-1 n + k − 1 ,我们输出是就从 n − 1 n-1 n − 1 ,输出到 2 n − 2 2n-2 2 n − 2 就行了。 # include <cstdio> # include <cmath> const int MAXN = 300005 ; const double pi = acos ( - 1.0 ) ; int read ( ) { int num = 0 , flag = 1 ; char c ;

贯穿时域与频域的方法——傅立叶分析(直观理解+Matlab实现)

妖精的绣舞 提交于 2019-12-12 01:11:51
Q1:时域与频域是什么? 时域 故名思议就是随着时间的推移,我们所能直观感受的东西或事物,比如说音乐,我们听到动听的音乐,这是在时域上发生的事情。 而对于演奏者来说音乐是一些固定的音符,我们听到的音乐在 频域 内是一个永恒的音符,音符的个数是有限且固定的,但可以组合出无限多的乐曲。 傅立叶也告诉我们,任何周期函数都可以看作不同振幅,不同相位的正弦波的叠加。就像用音符组合出音乐一样。 贯穿时域和频域的方法之一,就是傅立叶分析,傅立叶分析又分为两个部分:傅立叶级数和傅立叶变换。 Q2:傅立叶级数是啥? 傅立叶级数 指出任何 周期函数 都可以看作不同振幅,不同相位的正弦波的叠加。 对比 傅立叶变换 :傅立叶变换指出 非周期的函数 (函数曲线下的面积是有限的)也可以用正弦或余弦乘以加权函数的积分来表示。 说的过程大概是这样子的: 在傅立叶级数中要介绍两个概念:频谱(幅度谱),相位谱。 有了这两个东西之后我们就可以更容易理解把周期函数拆分为各个正弦函数叠加的过程了。 频谱(幅度谱) 之前我们提到了时域和频域,从不同的“域”来看可能会产生很不一样的效果,到底有多不一样呢?先上个图来看一下。 可以看出,从时域来看,我们会看到一个近似为矩形的波,而我们知道这个矩形的波可以被差分为一些正弦波的叠加。 而从频域方向来看,我们就看到了 每一个正弦波的幅值 ,可以发现,在频谱中,偶数项的振幅都是0

小波变换网文精粹:小波:看森林,也看树木(二)

孤街浪徒 提交于 2019-12-05 19:27:46
英文原名:Wavelets: Seeing the forest and the trees 转自:http://yswhu.bokee.com/viewdiary.10391865.html 二、改变现实(Transforming Reality) 小波分析允许研究者们去隔离和操作隐藏在众多数据之中的模式的特殊类型,我们的眼睛能以同样的方法在森林中挑出树木,或者我们的耳朵能在交响曲中分辨出笛声。理解小波是怎样做这个的一种方法是开始在两种不同声音之间,比如叉子的音调和人声,找出不同点,之后敲打叉子,你会听到一种持续很长时间的纯音调。 在数学理论中,这样的音调称为频率局部化,它由单个无更高频率音调的音符组成。 相比之下, 一个人说的话仅仅持续一秒钟,因此称为时间域局部化,它在频率域里没有局部化是因为说的话不是一个单音调,而是有许多不同频率的音调结合在一起的音调。 在19世纪,数学家认为现实中的叉子音调是完美的,这个理论就是著名的傅立叶分析。Jean Baptiste Joseph Fourier, 一位法国数学家,在1807年声称任何反复波形(或者周期函数),像叉子发出的声波,能被一个无限的各种频率的正弦波和余弦波之合来表示。 傅立叶理论的一个熟悉阐述是在音乐中发生的。当时一位音乐家演奏一个音符,他创造了一个不规则形状的声波,同样形状的波,只要音乐家持续演奏这个音符会不断重复。因此

傅立叶变换与傅立叶反变换的C语言实现

匿名 (未验证) 提交于 2019-12-03 00:27:02
/*复数的定义*/ typedef struct double double /*复数的加运算*/ return /*负数的减运算*/ return /*复数的乘运算*/ return /*快速傅立叶变换 TD为时域值,FD为频域值,power为2的幂数*/ void int int int double /*计算傅立叶变换点数*/ /*分配运算器所需存储器*/ sizeof sizeof sizeof /*计算加权系数*/ for /*将时域点写入存储器*/ sizeof /*蝶形运算*/ for for for /*重新排序*/ for for if /*释放存储器*/ /*快速傅立叶反变换,利用快速傅立叶变换 FD为频域值,TD为时域值,power为2的幂数*/ void int int /*计算傅立叶反变换点数*/ /*分配运算所需存储器*/ sizeof /*将频域点写入存储器*/ sizeof /*求频域点的共轭*/ for /*调用快速傅立叶变换*/ /*求时域点的共轭*/ for /*释放存储器*/ 文章来源: 傅立叶变换与傅立叶反变换的C语言实现

[BZOJ 2179] FFT快速傅立叶

杀马特。学长 韩版系。学妹 提交于 2019-12-02 17:06:15
2179: FFT快速傅立叶 Time Limit: 10 Sec Memory Limit: 259 MB Submit: 4621 Solved: 2498 [ Submit ][ Status ][ Discuss ] Description 给出两个n位10进制整数x和y,你需要计算x*y。 Input 第一行一个正整数n。 第二行描述一个位数为n的正整数x。 第三行描述一个位数为n的正整数y。 Output 输出一行,即x*y的结果。 Sample Input 1 3 4 Sample Output 12 数据范围: n<=60000 法法塔模板 本来在纠结背不住板子 突然想起来ACM是可以带板子进场的 嗨森 #include <bits/stdc++.h> using namespace std; const int maxn = 262144; struct comp{ double x, y; comp(double _x = 0, double _y = 0){ x = _x; y = _y; } friend comp operator * (const comp &a, const comp &b){ return comp(a.x * b.x - a.y * b.y, a.x * b.y + a.y * b.x); } friend comp

如何直观的理解傅里叶变换?

我与影子孤独终老i 提交于 2019-11-26 07:55:52
文章目录 1. 直观解释 2. 时域:旋转与傅立叶级数 2.1 欧拉公式 2.2 火星的轨迹曲线 2.3 旋转的傅立叶 3. 频域:线性代数与傅立叶级数 3.1 线性代数 3.2 傅立叶级数的基 3.3 傅立叶级数向量 3.4 频谱图 3.5 应用 3.5.1 图像压缩 3.5.2 模式识别 4 傅立叶级数和傅立叶变换 彩虹,大概是我们在自然界中最容易观察到的傅立叶级数。 1. 直观解释 1666年牛顿发现太阳光经三棱镜的折射后可呈现彩色光,称为光的色散现象: 先说一个物理常识,光是一种波,而光的颜色由振幅和频率所决定。 所以色散实际上是,白色的光波被分解为七色光波(实际应该是无数种颜色的光波): 七色光波可以用正弦波 a n s i n ( n x ) a_nsin(nx) a n ​ s i n ( n x ) (其中 a n a_n a n ​ 是振幅, n x n_x n x ​ 可以表示频率)来近似。因此上面实际就是傅立叶级数(下面只是傅立叶级数的非常不准确的近似,为了帮助理解简化成了这样子,后面会给出严格定义): 白 色 = ∑ a n s i n ( n x ) 白色=\sum a_n sin(nx) 白 色 = ∑ a n ​ s i n ( n x ) 雨过天晴,有时就会看见彩虹: 雨后空气中的水分就好像无数的三菱镜,把太阳光拆成了彩色。正是大自然中的色散现象。