MATLAB系列(1)——fft 和 fftshift的区别

一、引言

       MATLAB能提供强大的数据处理功能,还能进行各类算法的仿真。学会甚至精于使用matlab,毫无疑问,在科学研究或者工作当中会“如虎添翼”。本系列记录我自己学习matlab的过程,希望对读者有所帮助。

二、fft 和 fftshift的区别

        fft 是一维的快速傅里叶变换,将时域信号转换为频域信号;fftshift 是这针对频域信号的,将fft的DC(直流)分量移到频谱图的中心。如下图所示:

MATLAB系列(1)——fft 和 fftshift的区别_第1张图片

close all;clc;clear all;
N=1024;  %采样点数为1024
Fs=1024; %采样频率为1024Hz  频率分辨率为Fs/N
Ts=1/Fs;%采样间隔


t=0:Ts:(N-1)*Ts;
s=5+3*cos(2*pi*200*t+60*pi/180)+4*cos(2*pi*300*t+120*pi/180);  %对信号采样

figure(1);
subplot(2,1,1);
plot(abs(fft(s)))                           
title("fft后的频谱图")
subplot(2,1,2);
plot(abs(fftshift(fft(s))))                 
title("fft后fftshift的频谱图");


 

你可能感兴趣的:(MATLAB,matlab)