📄 guassianderivativespeak.m
字号:
N_alphavalues=7;
smp=1024;
alpha=0.414e-9;
alphastep=0.1e-9;
Tmin=-4e-9;
Tmax=4e-9;
dt=(Tmax-Tmin)/smp;
fs=1/dt;
N=smp;
df=1/(N*dt);
t=linspace(Tmin,Tmax,smp);
F=figure(1);
for j=1:N_alphavalues
factor(j)=alpha;
for i=1:15
switch(i)
case 1
deriv=4*pi*t/alpha^2.*exp(-2*pi*t.^2/alpha^2);
case 2
deriv=-4*pi*exp(-2*pi*(t.^2)/alpha^2).*(-alpha^2+4*pi*(t.^2))/alpha^4;
case 3
deriv=16*pi^2*t.*exp(-2*pi*(t.^2)/alpha^2).*(-3*alpha^2+4*pi*(t.^2))/alpha^6;
case 4
deriv=-16*pi^2*exp(-2*pi*(t.^2)/alpha^2).*(3*alpha^4-24*pi*(t.^2)*alpha^2+16*pi^2*(t.^4))/alpha^8;
case 5
deriv=64*pi^3*t.*exp(-2*pi*(t.^2)/alpha^2).*(15*alpha^4-40*pi*(t.^2)*alpha^2+16*pi^2*(t.^4))/alpha^10;
case 6
deriv=-64*pi^3*exp(-2*pi*(t.^2)/alpha^2).*(-15*alpha^6+180*pi*(t.^2)*alpha^4-240*pi^2*(t.^4)*alpha^2+64*pi^3*(t.^6))/ alpha^12;
case 7
deriv=256*pi^4*t.*exp(-2*pi*(t.^2)/alpha^2).*(-105*alpha^6+420*pi*(t.^2)*alpha^4-336*pi^2*(t.^4)*alpha^2+64*pi^3*(t.^6))/ alpha^14;
case 8
deriv=-256*pi^4*exp(-2*pi*(t.^2)/alpha^2).*(105*alpha^8-1680*pi*(t.^2)*alpha^6+3360*pi^2*(t.^4)*alpha^4-1792*pi^3*(t.^6)*alpha^2+256*pi^4*(t.^8))/ alpha^16;
case 9
deriv=1024*pi^5*t.*exp(-2*pi*(t.^2)/alpha^2).*(945*alpha^8-5040*pi*(t.^2)*alpha^6+6048*pi^2*(t.^4)*alpha^4-2304*pi^3*(t.^6)*alpha^2+256*pi^4*(t.^8))/ alpha^18;
case 10
deriv=-1024*pi^5*exp(-2*pi*(t.^2)/alpha^2).*(-945*alpha^10+18900*pi*(t.^2)*alpha^8-50400*pi^2*(t.^4)*alpha^6+40320*pi^3*(t.^6)*alpha^4-11520*pi^4*(t.^8)*alpha^2+1024*pi^5*(t.^10))/ alpha^20;
case 11
deriv=4096*pi^6*t.*exp(-2*pi*(t.^2)/alpha^2).*(-10395*alpha^10+69300*pi*(t.^2)*alpha^8-110880*pi^2*(t.^4)*alpha^6+63360*pi^3*(t.^6)*alpha^4-14080*pi^4*(t.^8)*alpha^2+1024*pi^5*(t.^10))/ alpha^22;
case 12
deriv=-4096*pi^6*exp(-2*pi*(t.^2)/alpha^2).*(10395*alpha^12-249480*pi*(t.^2)*alpha^10+831600*pi^2*(t.^4)*alpha^8-887040*pi^3*(t.^6)*alpha^6+380160*pi^4*(t.^8)*alpha^4-67584*pi^5*(t.^10)*alpha^2+4096*pi^6*(t.^12))/ alpha^24;
case 13
deriv=16384*pi^7*t.*exp(-2*pi*(t.^2)/alpha^2).*(135135*alpha^12-1081080*pi*(t.^2)*alpha^10+2162160*pi^2*(t.^4)*alpha^8-1647360*pi^3*(t.^6)*alpha^6+549120*pi^4*(t.^8)*alpha^4-79872*pi^5*(t.^10)*alpha^2+4096*pi^6*(t.^12))/ alpha^26;
case 14
deriv=-16384*pi^7*exp(-2*pi*(t.^2)/alpha^2).*(-135135*alpha^14+3783780*pi*(t.^2)*alpha^12-15135120*pi^2*(t.^4)*alpha^10+20180160*pi^3*(t.^6)*alpha^8-11531520*pi^4*(t.^8)*alpha^6+3075072*pi^5*(t.^10)*alpha^4-372736*pi^6*(t.^12)*alpha^2+16384*pi^7*(t.^14))/ alpha^28;
case 15
deriv=65535*pi^8*t.*exp(-2*pi*(t.^2)/alpha^2).*(-2027025*alpha^14+18918900*pi*(t.^2)*alpha^12-45405360*pi^2*(t.^4)*alpha^10+43243200*pi^3*(t.^6)*alpha^8-19219200*pi^4*(t.^8)*alpha^6+4193280*pi^5*(t.^10)*alpha^4-430080*pi^6*(t.^12)*alpha^2+16384*pi^7*(t.^14))/ alpha^30;
end
deriv=deriv/max(abs(deriv));
X=fft(deriv,N);
X=X/N;
E=fftshift(abs(X).^2/(df^2));
Ess=2*E((N/2+1):N);
positivefrequency=linspace(0,(fs/2),N/2);
[peak,peakelementindex]=max(Ess);
peakfrequency(i,j)=positivefrequency(peakelementindex);
end
alpha=alpha+alphastep;
end
PT=plot(factor,peakfrequency);
set(PT,'LineWidth',[2]);
AX=gca;
set(AX,'FontSize',12);
X=xlabel('\alpha [s]');
set(X,'FontSize',14);
Y=ylabel('峰值频率 [Hz]');
set(Y,'FontSize',14);
axis([4e-10 14e-10 0 12e9]);
derivebehaviour={'微分次数增加'};
text(5e-10,6e9,derivebehaviour,'BackgroundColor',[1 1 1]);
text(1.15e-9,0.5e9,'1阶导函数','BackgroundColor',[1 1 1]);
text(1.15e-9,2.4e9,'15阶导函数','BackgroundColor',[1 1 1]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -