MATLAB 的fft函数返回值是什么啊

fft能分辨的最高频率为采样频率的一半(即Nyquist频率),函数fft返回值是以Nyqusit频率为轴对称的,Y的前一半与后一半是复数共轭关系。

FFT(快速傅里叶变换)是利用复数形式的离散傅里叶变换来计算实数形式的离散傅里叶变换,matlab中的fft()函数是实现该算法的实现。这种算法可以减少计算DFT的时间,大大提高了运算效率,并曾经一度被认为是信号分析技术划时代的进步。

扩展资料:

例子程序:

clear all   %清除内存所有变量

close all    %关闭所有打开的图形窗口

%% 执行FFT点数与原信号长度相等(100点)

% 构建原信号

N=100;  % 信号长度(变量@@@@@@@)

Fs=1;  % 采样频率

dt=1/Fs;  % 采样间隔

t=[0:N-1]*dt;  % 时间序列

xn=cos(2*pi*0.24*[0:99])+cos(2*pi*0.26*[0:99]);  

xn=[xn,zeros(1,N-100)];  % 原始信号的值序列

subplot(3,2,1)  % 变量@@@@@@@

plot(t,xn)  % 绘出原始信号

xlabel('时间/s'),title('原始信号(向量长度为100)')  % 变量@@@@@@@

% FFT分析

NN=N;  % 执行100点FFT

XN=fft(xn,NN)/NN;  % 共轭复数,具有对称性

f0=1/(dt*NN);  % 基频

f=[0:ceil((NN-1)/2)]*f0;  % 频率序列

A=abs(XN);  % 幅值序列

subplot(3,2,2),stem(f,2*A(1:ceil((NN-1)/2)+1)),xlabel('频率/Hz')  % 绘制频谱(变量@@@@@@@)

axis([0 0.5 0 1.2])  % 调整坐标范围

title('执行点数等于信号长度(单边谱100执行点)');  % 变量@@@@@@@

%% 执行FFT点数大于原信号长度

% 构建原信号

N=100;  % 信号长度(变量@@@@@@@)

Fs=1;  % 采样频率

dt=1/Fs;  % 采样间隔

t=[0:N-1]*dt;  % 时间序列

xn=cos(2*pi*0.24*[0:99])+cos(2*pi*0.26*[0:99]);  

xn=[xn,zeros(1,N-100)];  % 原始信号的值序列

subplot(3,2,3)  % 变量@@@@@@@

plot(t,xn)  % 绘出原始信号

xlabel('时间/s'),title('原始信号(向量长度为100)')  % 变量@@@@@@@

% FFT分析

NN=120;  % 执行120点FFT(变量@@@@@@@)

XN=fft(xn,NN)/NN;  % 共轭复数,具有对称性

f0=1/(dt*NN);  % 基频

f=[0:ceil((NN-1)/2)]*f0;  % 频率序列

A=abs(XN);  % 幅值序列

subplot(3,2,4),stem(f,2*A(1:ceil((NN-1)/2)+1)),xlabel('频率/Hz')  % 绘制频谱(变量@@@@@@@)

axis([0 0.5 0 1.2])  % 调整坐标范围

title('执行点数大于信号长度(单边谱120执行点)');  % 变量@@@@@@@

%% 执行FFT点数与原信号长度相等(120点)

% 构建原信号

N=120;  % 信号长度(变量@@@@@@@)

Fs=1;  % 采样频率

dt=1/Fs;  % 采样间隔

t=[0:N-1]*dt;  % 时间序列

xn=cos(2*pi*0.24*[0:99])+cos(2*pi*0.26*[0:99]);  

xn=[xn,zeros(1,N-100)];  % 原始信号的值序列

subplot(3,2,5)  % 变量@@@@@@@

plot(t,xn)  % 绘出原始信号

xlabel('时间/s'),title('原始信号(向量长度为120)')  % 变量@@@@@@@

% FFT分析

NN=120;  % 执行120点FFT(变量@@@@@@@)

XN=fft(xn,NN)/NN;  % 共轭复数,具有对称性

f0=1/(dt*NN);  % 基频

f=[0:ceil((NN-1)/2)]*f0;  % 频率序列

A=abs(XN);  % 幅值序列

subplot(3,2,6),stem(f,2*A(1:ceil((NN-1)/2)+1)),xlabel('频率/Hz')  % 绘制频谱(变量@@@@@@@)

axis([0 0.5 0 1.2])  % 调整坐标范围

title('执行点数等于信号长度(单边谱120执行点)');  % 变量@@@@@@@                           

参考资料来源:百度百科-快速傅里叶变换



扩展阅读:fft2 matlab ... 上海fft公司 ... matlab fft 振幅问题 ... matlab csv文件读取fft ... matlab中fftshift函数 ... matlab中fft函数怎么运用 ... matlab fft函数源代码 ... matlab fft函数详解 ... matlab对数据进行fft变换 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网