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

介绍

主要使用了短时间傅里叶变换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);
发布了82 篇原创文章 · 获赞 70 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/Davidietop/article/details/105151525