首页 > 编程知识 正文

基2fft算法原理(fft算法的应用)

时间:2023-05-04 12:49:08 阅读:72606 作者:48

傅立叶变换其实只是众多数学变化之一,但也是应用最广泛的一种。 其本质是将一个周期函数分解为一系列正交函数的例如sin和cos函数的线性集合。 在计算机处理中需要将其离散化,对DFT算法进行编程。 继电保护APP应用包括半周期DFT、全周期DFT、递归DFT算法等。 需要在进行DFT之前在物理上对采样频率一半以上的高频信号进行滤波,在数字上利用数字滤波器对其他高频噪声进行滤波,以防止频率混叠。

所述傅立叶变换为整个时域中的变换,而DFT截断它对应于乘以矩形窗函数,且时域中的乘积对应于频域中的卷积,且即使向上舍入也依然不变。 因此,频谱泄漏和阮珊效应是不可避免的。 另外,在电力系统中,由于周期总是在工频附近波动,任何周期都不能进行正好整数倍的采样,频谱泄漏和栏珊效应进一步恶化。

快速傅立叶变换将时域难以处理的信号转换为易于处理的频域信号,分析完成后进行快速傅立叶逆变换即可得到原始时域信号。 需要注意的是,FFT算法对已经测量的数字序列进行了处理,是DFT的快速算法,通过蝶形运算利用正交函数特性大大提高了运算速度; 递归DFT算法在每次测量点时计算。 备选地,可以理解为FFT是离线公式的计算,递归DFT是在线公式。 在网上搜索,把有用的信息放在这里,学习。

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *

% FFT实践和光谱分析%

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *

***********1.正弦波* * * * * * * * * * * * * * * * * * * * * * %

fs=100; 设置%采样频率

N=128;

n=0:N-1;

t=n/fs;

f0=10; 设定%正弦波信号的频率

x=sin(2*pi*F0*T ); 生成%正弦信号

figure(1;

辅助打印(231;

plot(t,x ); %正弦波信号时域波形

xlabel('t );

ylabel(y );

title (正弦信号y=2*pi*10t时域波形);

网格;

进行FFT变换,制作频谱图

y=FFT(x,n ); 进行fft变换

mag=ABS(y; 求出%振幅

f=(03360长度(y )-1 ) ) fs /长度(y ); 进行与%对应的频率转换

figure(1;

subplot(232;

打印(f,mag ); 创建%光谱图

axis ([ 0,100,0,80 ];

xlabel ('频率) Hz ) );

振幅;

title (正弦信号y=2*pi*10t宽度频谱N=128 );

网格;

求%均方根谱

sq=ABS(y;

figure(1;

subplot(233;

plot(f,sq );

xlabel ('频率) Hz ) );

ylabel (均方根光谱);

title (正弦信号y=2*pi*10t均方根频谱);

网格;

求出%功率谱

power=sq.^2;

figure(1;

subplot(234;

打印(f,电源);

xlabel ('频率) Hz ) );

ylabel ('功率谱);

title (正弦信号y=2*pi*10t功率谱);

网格;

求%对数谱

ln=log(sq;

figure(1;

辅助打印(235;

plot(f,ln );

xlabel ('频率) Hz ) );

ylabel (对数谱);

title (正弦信号y=2*pi*10t对数频谱);

网格;

用IFFT恢复原始信号

XIFFT=IFFT(y;

magx=real(XiFFT;

ti=[ 0:长度(Xi FFT )-1]/fs;

figure(1;

subplot(236;

打印(ti,magx );

xlabel('t );

ylabel(y );

title (用IFFT变换的正弦信号波形) );

网格;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。