如何用MATLAB实现快速傅立叶变换FFT?

 时间:2026-02-14 07:42:38

1、读入时域采集信号,定义采样频率,计算信号点数量,生成采样时间点

clear;clc;close all

load('example')

Fs=2500;

T=1/Fs;

N=length(y);

t=(0:1:N-1)*T;

t=t';

2、绘制时域信号图形

figure

plot(t,y)

3、使用MATLAB自带的fft函数,对信号做傅里叶变换,注意:频谱的前半部分为有效谱图

Y=fft(y);

Y=Y(1:N/2+1);

A=abs(Y);

f=(0:1:N/2)*Fs/N;

f=f';

1、对原始频谱的幅值就行修正,才能将频域的幅值与时域信号的幅值对应上

A_adj=zeros(N/2+1,1);

A_adj(1)=A(1)/N;

A_adj(end)=A(end)/N;

A_adj(2:end-1)=2*A(2:end-1)/N;

2、绘制幅频特性图

figure

subplot(2,1,1)

plot(f,A_adj)

3、绘制相频特性图

subplot(2,1,2)

phase_angle=angle(Y);

phase_angle=rad2deg(phase_angle);

plot(f,phase_angle)

  • Mathematica基础——Eliminate的用法
  • Matlab App Designer基本使用之标签组件
  • 上海交通大学机械硕博连读为何不读博
  • MATLAB R2015b中注释汉字复制到word上出现乱码
  • matlab如何在图像中绘制放大部分的图像
  • 热门搜索
    左边肚子疼是怎么回事 眼睛飞蚊症怎么治疗 哺乳期乳房有硬块而且疼怎么办 u盾密码忘了怎么办 怎么加盟汉堡店 血虚怎么办 发烧怎么退烧 鳝鱼怎么做好吃 海马床垫怎么样 air怎么读