matlab傅里叶变换急求!
发布网友
发布时间:2022-04-18 05:27
我来回答
共4个回答
热心网友
时间:2022-04-18 06:57
傅立叶变换的分类:
傅立叶级数:将周期性连续函数变换为离散频率点上的函数
(连续)傅立叶变换:将连续函数变换为连续频率的函数
离散时间傅立叶变换:将离散函数变换为连续频率的函数
离散傅立叶变换:将有限长离散函数变换为离散频率点上的函数
其中FFT是离散傅立叶变换的快速计算方法,适用于离散信号,并且注意变换后的点数与信号的采样点数一致。尽管可以将信号补0,但补0不能提高频域的分辨率。
matlab中提供了函数fft做一维的FFT。
热心网友
时间:2022-04-18 08:15
几种傅立叶变换的区别
Fourier Transform 通称,或者特征连续时间的Fourier变换
Continuous-Time Fourier Transform
涉及到积分
Discrete-Time Fourier Transform
通过一个序列(元素个数为无限多)求各个频率的振幅。
涉及到积分
Discrete Fourier Transform (Finite Fourier Transfor)
把一个有限个元素的序列变换成另一个具有同样元素个数的序列。
只涉及到求和
Fast Fourier Transform
巧妙的方法以更少的计算量来计算 DFT.
fs=1000;%设定采样频率
N=128
n=0:N-1;
t=n/fs;
f0=50;%设定正弦信号频率
%生成正弦信号
x=sin(2*pi*f0*t);
figure(1);
subplot(231);
plot(t,x);%作正弦信号的时域波形
xlabel('t');
ylabel('y');
title('正弦信号y=2*pi*10t时域波形');
grid;
%进行FFT变换并做频谱图
y=fft(x,N);%进行fft变换
mag=abs(y);%求幅值
f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换
figure(1);
subplot(232);
stem(f,mag);%做频谱图
axis([0,100,0,80]);
xlabel('频率(Hz)');
ylabel('幅值');
title('正弦信号y=2*pi*100t幅频谱图N=128');
热心网友
时间:2022-04-18 09:49
首先你的数据是通过函数获得还是源自其他测量,对于不同的数据来源,FFT会有一定的差异。
热心网友
时间:2022-04-18 11:41
直接fft(X) 就可以用的,X是个向量