一、引言
MATLAB能提供强大的数据处理功能,还能进行各类算法的仿真。学会甚至精于使用matlab,毫无疑问,在科学研究或者工作当中会“如虎添翼”。本系列记录我自己学习matlab的过程,希望对读者有所帮助。
二、fft 和 fftshift的区别
fft 是一维的快速傅里叶变换,将时域信号转换为频域信号;fftshift 是这针对频域信号的,将fft的DC(直流)分量移到频谱图的中心。如下图所示:
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的频谱图");