1. 首页
  2. 办公

excelfft变换

本文主要为您介绍excelfft变换,内容包括可否用excel做出傅里叶变换,可否用excel做出傅里叶变换,如何将excel数据在matlab中做fft转换成频谱图真诚请教,,步骤最。用MATLAB 实现傅里叶变换:用户任意输入一个函数,然后,输出函数的傅里叶变换函数,然后输出振幅频率 。x=sin(2*pi*t);

excelfft变换

1. 可否用excel做出傅里叶变换

用MATLAB 实现傅里叶变换:

用户任意输入一个函数,然后,输出函数的傅里叶变换函数,然后输出振幅频率 。

x=sin(2*pi*t); %任意输入一个函数。

y=fft(x); %傅里叶变换函数。

plot(abs(y)); %振幅频率。

函数(function)表示每个输入值对应唯一输出值的一种对应关系。这种关系使一个集合里的每一个元素对应到另一个(可能相同的)集合里的唯一元素。函数f中对应输入值的输出值x的标准符号为f(x)。包含某个函数所有的输入值的集合被称作这个函数的定义域,包含所有的输出值的集合被称作值域。若先定义映射的概念,可以简单定义函数为,定义在非空数集之间的映射称为函数。

傅里叶变换能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。

2. 可否用excel做出傅里叶变换

用MATLAB 实现傅里叶变换:用户任意输入一个函数,然后,输出函数的傅里叶变换函数,然后输出振幅频率 。

x=sin(2*pi*t); %任意输入一个函数。y=fft(x); %傅里叶变换函数。

plot(abs(y)); %振幅频率。 函数(function)表示每个输入值对应唯一输出值的一种对应关系。

这种关系使一个集合里的每一个元素对应到另一个(可能相同的)集合里的唯一元素。函数f中对应输入值的输出值x的标准符号为f(x)。

包含某个函数所有的输入值的集合被称作这个函数的定义域,包含所有的输出值的集合被称作值域。若先定义映射的概念,可以简单定义函数为,定义在非空数集之间的映射称为函数。

傅里叶变换能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。

3. 怎样对两组数据同时做fft变换

假设双实序列为Ak,Bk,求其FFT变换序列xj,yj,注意xj,yj已经是复数了。

先构造Ck=Ak+i*Bk,即把要变换的双实序列分别赋给实部和虚部。对复序列Ck进行FFT变换,得到zj序列,利用zj序列的对称性,用u=zj,v=z(N-j)表示,u是第j个值,v是第N-j个值,都是z序列的。

可得Re[xj]=(Reu+Rev)/2;Im[xj]=(imu-Imv)/2;Re[yj]=(Imu+Imv)/2;Im[yj]=(Reu-Rev)/2;其中Re取实部,Im取虚部。 这些算法你都可以自己想出来的,一般的FFT要进行复数运算,实部和虚部如果只能利用一个实在浪费,完全可以输入两组不相关的数据同时进行变换,变换出来之后再提取,根据FFT的原理不难找到提取的方法,就是我所说的。

4. 利用excel进行傅里叶分析做出了数据的频谱图后,怎么对频谱图进行分

1.EXCEL分析工具库中内置了分析工具“傅利叶分析”,其功能是进行离散型快速傅利叶变换(FFT),也可进行傅利叶逆变换。

2.傅利叶变换是将时间序列数据转换为频率序列数据,以便了解序列的频率构成。对于时间序列可展开为傅利叶级数:式中:N为观测值个数;k为周期分量个数;fj为频率(=j/N)εt为误差项,是由于选取级数前k项所产生的。

时间域序列xk变换到频率域序列ωj的公式如下:式中:N为序列数据项数,对第j个分量:aj为实部,bj为虚部,模 ,辐角 3.所关心的是序列主要由哪些频率成份构成及其振幅。操作方法如下:Step1.取得时间序列数据{xk},要求项数N为2的整数次幂,即2、4、8、16、32…,项数最大限制为4096。

N选择多大为好,要视频谱分析时要分析的项数。N个数据中,最多能分析N/2+1个频率构成。

Step2.时间序列{xk}各项减其平均数E(xk)得中心化时间序列;Step3.利用“傅利叶分析”工具进行快速傅利叶变换,得ωj;Step4.利用IMABS()函数求得复数的模。该序列第1项为0,去掉之,从第2项起共奇数项,中间项为常数项,两侧是完全对称的。

绘制折线图观察之,通常只观察前半部分;Step5.更改横坐标,观察频率分布。需要指出的是:数据系列的周期性,是系统的特性,并不是由采样的时间间隔和样本量的多寡所决定。

5.应用举例:何先生,在自己所从事的工作中,以每分钟等间隔抽样200次,抽取了168383条记录,下图中只列出前几条:6.以CH#1为例,从中按顺序选择样本量为128的样本,编制频谱分析图如下:Step1:先按顺序截取128个样本单位的样本(必需是2的整数幂,本例为27)Step2:在C1单元格输入“=AVERAGE(B2:B129)”求得平均数,在C3单元格输入公式,求得观测值与平均值之差,并向下复制到B3:B129。Step3:工具|数据分析|傅利叶分析,设置对话框如图3,求得如图2中D列的傅利叶变换。

Step4:在E2单元格输入如图2所示函数,求得D2单元格复数的模,向下复制到B3:B129。将B2:B129制成折线图如图。

由图可见,图形是完成对称的,通常只看前面一半。需要指明的是该频谱图是由系统特性决定的,样本量不同,其频谱是类似的,只是图形密集程度不同和模的大小不同。

模是由多个周期样本模的叠加的结果,样本量越大,模越大。但这一点并不影响分析的结果,我们只考虑频率强度从大到小的有限个频率,即考虑主要频率构成。

Step5:确定横轴分类标志:将图形的横轴先进行编号,编号从0开始,本例选择128个样本单位,编号为0~127,然后再用编号值除以128,得到一个周期,周期的倒数即为频率。按此方法制作了N=512、N=2048和N=4096的频谱图如下:7.由图可见,样本量越多频率构成越丰富。

但分析频谱时,都集中在峰值附近,不能反映面上的情况。由图可见,模较大的频率成分周期分布在0.13~0.26之间,也就是频率在4~8之间,我们选择N=256项进行分析完全够用。

由于图形是对称的,只看前半部分,128项,分析占总数约10%的成份,即分析12个主要频率。操作:(1)按顺序选择256项数据,并求平均数,进行中心化平均,使均值为0;(2)利用“傅利叶分析”工具求得快速傅利叶变换;(3)选择一半的数据(从第2项到第129项)l 利用“=IMABS(D3)”求得复数的模。

l 从第2项开始从1进行编号;以编号值除256得周期序列。l 将周期序列求倒数得频率。

l 以频率为横坐标、模为纵坐标绘制频率分布图:(4)利用“=IMREAL”函数提取实部,用“=IMAGINARY”函数提取虚部,形成序列值。(5)筛选主要成分。

l 在L列输入第k大的顺序号;l 在M列输入“=LARGE($E$3:$E$130,L2)”提取第k大傅利叶变换的模;l 在N列输入:“=MATCH(M2,$E$3:$E$130,0)”提取第k大的顺序号;l 在O列输入:“=INDEX(I$3:I$130,$N2)”提取第k大的实部;l 在P列输入:“=INDEX(J$3:J$130,$N2)”提取第k大的虚部;l 在Q列输入:“=INDEX($H$3:$H$130,N2)”提取第k大的频率。于是得函数主要成分的傅利叶级数中的主成分:。

5. 如何使用fft函数进行编程序和进行快速傅里叶逆变换

在图象处理的广泛应用领域中,傅立叶变换起着非常重要的作用,具体表现在包括图象分析、图象增强及图象压缩等方面。

fftshift的作用正是让正半轴部分和负半轴部分的图像分别关于各自的中心对称。因为直接用fft得出的数据与频率不是对应的,fftshift可以纠正过来。

假设f(x,y)是一个离散空间中的二维函数,则该函数的二维傅立叶变换的定义如下: p=0,1…M-1 q=0,1…N-1 (1)或 p=0,1…M-1 q=0,1…N-1 (2)离散傅立叶反变换的定义如下: m=0,1…M-1 n=0,1…N-1(3)F(p,q)称为f(m,n)的离散傅立叶变换系数。这个式子表明,函数f(m,n)可以用无数个不同频率的复指数信号和表示,而在频率(w1,w2)处的复指数信号的幅度和相位是F(w1,w2)。

2、MATLAB提供的快速傅立叶变换函数(1)fft2fft2函数用于计算二维快速傅立叶变换,其语法格式为:B = fft2(I)B = fft2(I)返回图象I的二维fft变换矩阵,输入图象I和输出图象B大小相同。例如,计算图象的二维傅立叶变换,并显示其幅值的结果,如图所示,其命令格式如下load imdemos saturn2imshow(saturn2)B = fftshift(fft2(saturn2));imshow(log(abs(B)),[],'notruesize')(2)fftshiftMATLAB提供的fftshift函数用于将变换后的图象频谱中心从矩阵的原点移到矩阵的中心,其语法格式为: B = fftshift(I)对于矩阵I,B = fftshift(I)将I的一、三象限和二、四象限进行互换。

(2)ifft2ifft2函数用于计算图象的二维傅立叶反变换,其语法格式为:B = ifft2(I)B = ifft2(A)返回图象I的二维傅立叶反变换矩阵,输入图象I和输出图象B大小相同。其语法格式含义与fft2函数的语法格式相同,可以参考fft2函数的说明。

如果信号是二维的,用上面的函数即可!直接调用。如果信号是一维的,给你下面的例子,你应该能明白!clearfs=100;N=128; %采样频率和数据点数n=0:N-1;t=n/fs; %时间序列x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号y=fft(x,N); %对信号进行快速Fourier变换,逆变换函数为ifftmag=abs(y); %求得Fourier变换后的振幅f=n*fs/N; %频率序列subplot(2,2,1),plot(f,mag); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=128');grid on;subplot(2,2,2),plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=128');grid on;%对信号采样数据为1024点的处理fs=100;N=1024;n=0:N-1;t=n/fs;x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号y=fft(x,N); %对信号进行快速Fourier变换mag=abs(y); %求取Fourier变换的振幅f=n*fs/N;subplot(2,2,3),plot(f,mag); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=1024');grid on;subplot(2,2,4)plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=1024');grid on;。

本文来自投稿,不代表本站立场,如若转载,请注明出处。