matlab求雷克子波相位谱,求雷克子波的振幅谱和相位谱的MATLAB程序,谢谢 !!!!!...

%% 自己写了如下程序,望采纳!

clc;clear;close all;

%Ricker子波

f=40;dt=0.004;

nw=6./f/dt;

nw=2*floor(nw/2)+1;

nc=floor(nw/2);

i=1:nw;

alpha=(nc-i+1).*f*dt*pi;

beta=alpha.^2;

ricker=(1.-beta.*2).*exp(-beta);

subplot(311);

plot(ricker);

title('Ricker子波');

t=1:size(ricker,2);

%绘制x(t)的振幅谱和相位谱

k=-25:25;

W=(pi/12.5)*k;

Fv=ricker*(exp(-j*pi/12.5)).^(t'*k);

magFv=abs(Fv);    %绘制振幅谱

subplot(312);

plot(magFv);

title('Ricker子波的振幅谱');

angFv=angle(Fv);

subplot(313);

plot(angFv);

title('Ricker子波的相位谱');

helpdlg('欢迎采纳!有问题请继续提问!谢谢','提醒');