Fast Fourier transform快速傅里叶变换

14 篇文章 5 订阅
12 篇文章 2 订阅

0 傅里叶分析和滤波

资料来源:https://ww2.mathworks.cn/help/matlab/fourier-analysis-and-filtering.html?s_tid=CRUX_lftnav

变换和滤波器是用于处理和分析离散数据的工具,常用在信号处理应用和计算数学中。当数据表示为时间或空间的函数时,傅里叶变换会将数据分解为频率分量。
在这里插入图片描述
图片来源:https://ww2.mathworks.cn/help/matlab/fourier-analysis-and-filtering.html?s_tid=CRUX_lftnav
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1 快速傅里叶变换简单介绍

(1)傅里叶变换
傅里叶分析将信号从其原始域(通常是时间或空间)转换为频域的表示形式,反之亦然。

傅里叶变换物理意义:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频率、振幅和相位。

傅立叶变换将原来难以处理的时域信号转换成了易于分析的频域信号(信号的频谱),可以利用一些工具对这些频域信号进行处理、加工。最后还可以利用傅立叶反变换将这些频域信号转换成时域信号。

数学角度:傅里叶变换是一种特殊的积分变换。它能将满足一定条件的某个函数表示成正弦基函数的线性组合或者积分。

为什么要进行傅里叶变换:https://zhuanlan.zhihu.com/p/37057915
简单理解是将时域的信号转换到频域的正弦信号,更有利于处理信号。

(2)快速傅里叶变换
快速傅氏变换(FFT)是离散傅氏变换(DFT)的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。

快速傅里叶变换是离散傅里叶变换的一种快速实现方式,快速傅里叶变换可用于多项式乘法、大数乘法、卷积等操作。

参考资料:https://blog.csdn.net/dan1900/article/details/39694075

2 快速傅里叶变换实现方法MATLAB

参考资料:https://blog.csdn.net/qq_34840129/article/details/85339999
matlab fft函数介绍:https://ww2.mathworks.cn/help/matlab/ref/fft.html
实例:将高斯脉冲从时域转换成频域。
第一步:定义信号参数和高斯脉冲 X

Fs = 100;           % Sampling frequency
t = -0.5:1/Fs:0.5;  % Time vector 
L = length(t);      % Signal length

X = 1/(4*sqrt(2*pi*0.01))*(exp(-t.^2/(2*0.01)));

第二步:在时域中绘制脉冲

plot(t,X)
title('Gaussian Pulse in Time Domain')
xlabel('Time (t)')
ylabel('X(t)')

显示结果:
在这里插入图片描述
第三步:zero-padding
要使用 fft 将信号转换为频域,首先从原始信号长度确定是下一个 2 次幂的新输入长度。这将用尾随零填充信号 X 以改善 fft 的性能。

n = 2^nextpow2(L);
Y = fft(X,n);
f = Fs*(0:(n/2))/n;
P = abs(Y/n).^2;

plot(f,P(1:n/2+1)) 
title('Gaussian Pulse in Frequency Domain')
xlabel('Frequency (f)')
ylabel('|P(f)|^2')

在这里插入图片描述

3 快速傅里叶逆变换IFFT

参考资料:https://ww2.mathworks.cn/help/matlab/ref/ifft.html
快速傅里叶逆变换IFFT可以实现时空采样数据与频率采样数据间的傅里叶变换,即频率采样数据转换成时空采样数据。

数学角度:向量的逆变换

X = [1 2 3 4 5];
Y = fft(X)

在这里插入图片描述
快速傅里叶逆变换IFFT:ifft(Y)
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值