如何用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如何在图像中绘制放大部分的图像
  • 热门搜索
    镜怎么玩 阴虱是怎么得的 长茄子的家常做法 卉怎么读 电子烟为什么被禁 龛怎么读 戏命师大招怎么放 钟汉良为什么叫小哇 馄饨馅怎么调才好吃 冰皮月饼做法