📄 pswf.m
字号:
clear all;
tmin=-1e-9;
tmax=1e-9;
Ts=8e-9;
smp=128;
dt=(tmax-tmin)/smp;
fs=1/dt;
frequencysmoothingfactor=8;
NN=frequencysmoothingfactor*smp;
df=1/(NN*dt);
positivefrequency=linspace(0,(fs/2),NN/2);
%-------------------
%PSWF信号产生
%-------------
fu1=6e9; %单位Hz
fl1=3e9; %单位Hz
N=64; %采样点数
t=tmin:1/N*tmax:tmax;
h=2*fu1*sinc(2*fu1*t)-2*fl1*sinc(2*fl1*t);
for i=1:N+1,
for j=1:N+1,
H(i,j)=h(i-j+N+1);
end
end
[v,d]=eig(H);
i=1:N+1;
pulse1=v(i,65);
pulse2=v(i,64);
pulse3=v(i,63);
pulse4=v(i,62);
%------------------------
%pswf信号频谱
%-------------------
pulse1=pulse1/max(abs(pulse1(:)));
X1=fft(pulse1,NN);
X1=X1/NN;
E1=fftshift(abs(X1).^2/(df^2));
Ess1=2.*E1((NN/2+1):NN);
singlederivativePSD1=10*log10((1/Ts)*Ess1/377)+90;
%----------------------------------
%另一个频段的pSWF脉冲波形
%-----------------
fu2=10e9; %单位Hz
fl2=7e9; %单位Hz
N=64; %采样点数
t=tmin:1/N*tmax:tmax;
h=2*fu2*sinc(2*fu2*t)-2*fl2*sinc(2*fl2*t);
for i=1:N+1,
for j=1:N+1,
H(i,j)=h(i-j+N+1);
end
end
[v,d]=eig(H);
i=1:N+1;
pulse21=v(i,65);%一阶PSWF
pulse22=v(i,64);%二阶PSWF
pulse23=v(i,63);%三阶PSWF
pulse24=v(i,62);%四阶PSWF
grid on;
% t1=tmin:2/N*tmax:tmax;
%plot(t1,pulse21);%画图,一阶PSWF
% plot(t1,pulse22);%画图,二阶PSWF
% plot(t1,pulse23);%画图,三阶PSWF
% plot(t1,pulse24);%画图,四阶PSWF
%--------------
%另一个PSWF函数的功率谱密度
%---------------
pulse21=pulse21/max(abs(pulse21(:)));
X2=fft(pulse21,NN);
X2=X2/NN;
E2=fftshift(abs(X2).^2/(df^2));
Ess2=2.*E2((NN/2+1):NN);
singlederivativePSD2=10*log10((1/Ts)*Ess2/377)+90;
%--------------
%功率谱模板
%-------------
%loading the emission mask on NN points
emissionmask=cp0703_generate_mask(NN,fs);
%----------------
%画图,组合PSWF函数的功率谱密度
%--------------
figure(1);
plot(positivefrequency/1e6,emissionmask,'r','LineWidth',[3]);
hold on;
PF=plot(positivefrequency/1e6,singlederivativePSD1,'*-');
hold on;
plot(positivefrequency/1e6,singlederivativePSD2,'+-g');
set(PF,'LineWidth',[2]);
AX=gca;
set(AX,'FontSize',14);
T=title('组合PSWF函数的功率谱密度');
set(T,'FontSize',14);
X=xlabel('Frequency [MHz]');
set(X,'FontSize',14);
Y=ylabel('PSD [dBm/MHz]');
set(Y,'FontSize',14);
axis([0 15e3 -80 -40]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -