利用傅里叶变换分割周期函数

介绍

主要使用了短时间傅里叶变换sepctrogram()函数,利用MATLAB仿真,效果见下。

在这里插入图片描述

完整代码

Fs=5120;
N=32768;%8192*4=2^13
dt=1.0/Fs;
df=(500.0/N);
T=dt*N;
t=linspace(0,T,N);
% x=zeros(1:N);
for i=1:8192
    x(i)=sin(2*pi*200*i*dt);
    x(i+8192)=sin(2*pi*400*i*dt);
    x(i+8192*2)=sin(2*pi*600*i*dt);
    x(i+8192*3)=sin(2*pi*800*i*dt);
end
z=spectrogram(x,1024,512);
P=20*log10(sqrt(z.*conj(z)));
X=linspace(0,Fs/2,513);
Y=linspace(0,dt*N,63);
mesh(X,Y,P');
view(15,70);
posted @ 2020-03-27 22:05  狂小虎  阅读(37)  评论(0编辑  收藏  举报