如何用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如何在图像中绘制放大部分的图像
  • 热门搜索
    长兴岛生活网 平凡生活 上海生活时尚频道 满堂脚手架怎么计算 机智的监狱生活 如何做微商步骤 杨梅怎么洗 变成幽灵了如何是好 怎么去除斑 如何做市场调查