📄 stochastic_features_atraction.asv
字号:
%提取零中心归一化瞬时幅度之谱密度的最大值garma_max
for i=1:size(std_value)
Amplititude_2ask=Amplititude_2ask_matrix(:,i);
amp_mean=mean(Amplititude_2ask);
amp_cn=Amplititude_2ask/amp_mean-1;
garma_max1=max(abs(fft(amp_cn.^2)))/size(Amplititude_2ask,1);
garma_max_2ask(i)=garma_max1;
end
for i=1:size(std_value)
Amplititude_4ask=Amplititude_4ask_matrix(:,i);
amp_mean=mean(Amplititude_4ask);
amp_cn=Amplititude_4ask/amp_mean-1;
garma_max1=max(abs(fft(amp_cn.^2)))/size(Amplititude_4ask,1);
garma_max_4ask(i)=garma_max1;
end
for i=1:size(std_value)
Amplititude_2fsk=Amplititude_2fsk_matrix(:,i);
amp_mean=mean(Amplititude_2fsk);
amp_cn=Amplititude_2fsk/amp_mean-1;
garma_max1=max(abs(fft(amp_cn.^2)))/size(Amplititude_2fsk,1);
garma_max_2fsk(i)=garma_max1;
end
for i=1:size(std_value)
Amplititude_4fsk=Amplititude_4fsk_matrix(:,i);
amp_mean=mean(Amplititude_4fsk);
amp_cn=Amplititude_4fsk/amp_mean-1;
garma_max1=max(abs(fft(amp_cn.^2)))/size(Amplititude_4fsk,1);
garma_max_4fsk(i)=garma_max1;
end
for i=1:size(std_value)
Amplititude_2psk=Amplititude_2psk_matrix(:,i);
amp_mean=mean(Amplititude_2psk);
amp_cn=Amplititude_2psk/amp_mean-1;
garma_max1=max(abs(fft(amp_cn.^2)))/size(Amplititude_2psk,1);
garma_max_2psk(i)=garma_max1;
end
for i=1:size(std_value)
Amplititude_4psk=Amplititude_4psk_matrix(:,i);
amp_mean=mean(Amplititude_4psk);
amp_cn=Amplititude_4psk/amp_mean-1;
garma_max1=max(abs(fft(amp_cn.^2)))/size(Amplititude_4psk,1);
garma_max_4psk(i)=garma_max1;
end
for i=1:size(std_value)
Amplititude_qam=Amplititude_qam_matrix(:,i);
amp_mean=mean(Amplititude_qam);
amp_cn=Amplititude_qam/amp_mean-1;
garma_max1=max(abs(fft(amp_cn.^2)))/size(Amplititude_qam,1);
garma_max_qam(i)=garma_max1;
end
figure(15);
hold on;
plot(std_value_db,garma_max_2ask,'b.');
plot(std_value_db,garma_max_4ask,'r.');
plot(std_value_db,garma_max_2fsk,'bo');
plot(std_value_db,garma_max_4fsk,'ro');
plot(std_value_db,garma_max_2psk,'bx');
plot(std_value_db,garma_max_4psk,'rx');
plot(std_value_db,garma_max_qam,'b*');
%提取零中心归一化瞬时幅度绝对值的标准偏差delta_aa
for i=1:size(std_value)
Amplititude_2ask=Amplititude_2ask_matrix(:,i);
amp_mean=mean(Amplititude_2ask);
amp_cn=Amplititude_2ask/amp_mean-1;
amp_cn_mean_square=(sum(abs(amp_cn))/size(amp_cn,1)).^2;
amp_cn_square_mean=sum((amp_cn).^2)/size(amp_cn,1);
delta_aa_2ask(i)=sqrt(amp_cn_square_mean-amp_cn_mean_square);
end
for i=1:size(std_value)
Amplititude_4ask=Amplititude_4ask_matrix(:,i);
amp_mean=mean(Amplititude_4ask);
amp_cn=Amplititude_4ask/amp_mean-1;
amp_cn_mean_square=(sum(abs(amp_cn))/size(amp_cn,1)).^2;
amp_cn_square_mean=sum((amp_cn).^2)/size(amp_cn,1);
delta_aa_4ask(i)=sqrt(amp_cn_square_mean-amp_cn_mean_square);
end
for i=1:size(std_value)
Amplititude_2fsk=Amplititude_2fsk_matrix(:,i);
amp_mean=mean(Amplititude_2fsk);
amp_cn=Amplititude_2fsk/amp_mean-1;
amp_cn_mean_square=(sum(abs(amp_cn))/size(amp_cn,1)).^2;
amp_cn_square_mean=sum((amp_cn).^2)/size(amp_cn,1);
delta_aa_2fsk(i)=sqrt(amp_cn_square_mean-amp_cn_mean_square);
end
for i=1:size(std_value)
Amplititude_4fsk=Amplititude_4fsk_matrix(:,i);
amp_mean=mean(Amplititude_4fsk);
amp_cn=Amplititude_4fsk/amp_mean-1;
amp_cn_mean_square=(sum(abs(amp_cn))/size(amp_cn,1)).^2;
amp_cn_square_mean=sum((amp_cn).^2)/size(amp_cn,1);
delta_aa_4fsk(i)=sqrt(amp_cn_square_mean-amp_cn_mean_square);
end
for i=1:size(std_value)
Amplititude_2psk=Amplititude_2psk_matrix(:,i);
amp_mean=mean(Amplititude_2psk);
amp_cn=Amplititude_2psk/amp_mean-1;
amp_cn_mean_square=(sum(abs(amp_cn))/size(amp_cn,1)).^2;
amp_cn_square_mean=sum((amp_cn).^2)/size(amp_cn,1);
delta_aa_2psk(i)=sqrt(amp_cn_square_mean-amp_cn_mean_square);
end
for i=1:size(std_value)
Amplititude_4psk=Amplititude_4psk_matrix(:,i);
amp_mean=mean(Amplititude_4psk);
amp_cn=Amplititude_4psk/amp_mean-1;
amp_cn_mean_square=(sum(abs(amp_cn))/size(amp_cn,1)).^2;
amp_cn_square_mean=sum((amp_cn).^2)/size(amp_cn,1);
delta_aa_4psk(i)=sqrt(amp_cn_square_mean-amp_cn_mean_square);
end
for i=1:size(std_value)
Amplititude_qam=Amplititude_qam_matrix(:,i);
amp_mean=mean(Amplititude_qam);
amp_cn=Amplititude_qam/amp_mean-1;
amp_cn_mean_square=(sum(abs(amp_cn))/size(amp_cn,1)).^2;
amp_cn_square_mean=sum((amp_cn).^2)/size(amp_cn,1);
delta_aa_qam(i)=sqrt(amp_cn_square_mean-amp_cn_mean_square);
end
figure(16);
hold on;
plot(std_value_db,delta_aa_2ask,'b.');
plot(std_value_db,delta_aa_4ask,'r.');
plot(std_value_db,delta_aa_2fsk,'bo');
plot(std_value_db,delta_aa_4fsk,'ro');
plot(std_value_db,delta_aa_2psk,'bx');
plot(std_value_db,delta_aa_4psk,'rx');
plot(std_value_db,delta_aa_qam,'b*');
%提取零中心非弱信号段瞬时相位非线性分量绝对值的标准偏差delta_ap
for i=1:size(std_value)
Phase_2ask=Phase_2ask_matrix(:,i);
phase_mean=mean(Phase_2ask);
phase_nl=Phase_2ask-phase_mean;
Amplititude_2ask=Amplititude_2ask_matrix(:,i);
amp_mean=mean(Amplititude_2ask);
amp_n=Amplititude_2ask/amp_mean;
nCount=0;
for j=1:size(Amplititude_2ask)
if amp_n(j)>0.9
nCount=nCount+1;
else phase_nl(j)=0;
end
end
phase_nl_mean_square=(sum(abs(phase_nl))/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_ap_2ask(i)=abs(sqrt(phase_nl_mean_square-phase_nl_square_mean));
end
for i=1:size(std_value)
Phase_4ask=Phase_4ask_matrix(:,i);
phase_mean=mean(Phase_4ask);
phase_nl=Phase_4ask-phase_mean;
Amplititude_4ask=Amplititude_4ask_matrix(:,i);
amp_mean=mean(Amplititude_4ask);
amp_n=Amplititude_4ask/amp_mean;
nCount=0;
for j=1:size(Amplititude_4ask)
if amp_n(j)>0.9
nCount=nCount+1;
else phase_nl(j)=0;
end
end
phase_nl_mean_square=(sum(abs(phase_nl))/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_ap_4ask(i)=abs(sqrt(phase_nl_mean_square-phase_nl_square_mean));
end
for i=1:size(std_value)
Phase_2fsk=Phase_2fsk_matrix(:,i);
phase_mean=mean(Phase_2fsk);
phase_nl=Phase_2fsk-phase_mean;
Amplititude_2fsk=Amplititude_2fsk_matrix(:,i);
amp_mean=mean(Amplititude_2fsk);
amp_n=Amplititude_2fsk/amp_mean;
nCount=0;
for j=1:size(Amplititude_2fsk)
if amp_n(j)>0.9
nCount=nCount+1;
else phase_nl(j)=0;
end
end
phase_nl_mean_square=(sum(abs(phase_nl))/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_ap_2fsk(i)=abs(sqrt(phase_nl_mean_square-phase_nl_square_mean));
end
for i=1:size(std_value)
Phase_4fsk=Phase_4fsk_matrix(:,i);
phase_mean=mean(Phase_4fsk);
phase_nl=Phase_4fsk-phase_mean;
Amplititude_4fsk=Amplititude_4fsk_matrix(:,i);
amp_mean=mean(Amplititude_4fsk);
amp_n=Amplititude_4fsk/amp_mean;
nCount=0;
for j=1:size(Amplititude_2fsk)
if amp_n(j)>0.9
nCount=nCount+1;
else phase_nl(j)=0;
end
end
phase_nl_mean_square=(sum(abs(phase_nl))/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_ap_4fsk(i)=abs(sqrt(phase_nl_mean_square-phase_nl_square_mean));
end
for i=1:size(std_value)
Phase_2psk=Phase_2psk_matrix(:,i);
phase_mean=mean(Phase_2psk);
phase_nl=Phase_2psk-phase_mean;
Amplititude_2psk=Amplititude_2psk_matrix(:,i);
amp_mean=mean(Amplititude_2psk);
amp_n=Amplititude_2psk/amp_mean;
nCount=0;
for j=1:size(Amplititude_2psk)
if amp_n(j)>0.9
nCount=nCount+1;
else phase_nl(j)=0;
end
end
phase_nl_mean_square=(sum(abs(phase_nl))/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_ap_2psk(i)=abs(sqrt(phase_nl_mean_square-phase_nl_square_mean));
end
for i=1:size(std_value)
Phase_4psk=Phase_4psk_matrix(:,i);
phase_mean=mean(Phase_4psk);
phase_nl=Phase_4psk-phase_mean;
Amplititude_4psk=Amplititude_4psk_matrix(:,i);
amp_mean=mean(Amplititude_4psk);
amp_n=Amplititude_4psk/amp_mean;
nCount=0;
for j=1:size(Amplititude_4psk)
if amp_n(j)>0.9
nCount=nCount+1;
else phase_nl(j)=0;
end
end
phase_nl_mean_square=(sum(abs(phase_nl))/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_ap_4psk(i)=abs(sqrt(phase_nl_mean_square-phase_nl_square_mean));
end
for i=1:size(std_value)
Phase_qam=Phase_qam_matrix(:,i);
phase_mean=mean(Phase_qam);
phase_nl=Phase_qam-phase_mean;
Amplititude_qam=Amplititude_qam_matrix(:,i);
amp_mean=mean(Amplititude_qam);
amp_n=Amplititude_qam/amp_mean;
nCount=0;
for j=1:size(Amplititude_qam)
if amp_n(j)>0.9
nCount=nCount+1;
else phase_nl(j)=0;
end
end
phase_nl_mean_square=(sum(abs(phase_nl))/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_ap_qam(i)=abs(sqrt(phase_nl_mean_square-phase_nl_square_mean));
end
figure(17);
hold on;
plot(std_value_db,delta_ap_2ask,'b.');
plot(std_value_db,delta_ap_4ask,'r.');
plot(std_value_db,delta_ap_2fsk,'bo');
plot(std_value_db,delta_ap_4fsk,'ro');
plot(std_value_db,delta_ap_2psk,'bx');
plot(std_value_db,delta_ap_4psk,'rx');
plot(std_value_db,delta_ap_qam,'b*');
%提取零中心非弱信号段瞬时相位非线性分量的标准偏差delta_dp
for i=1:size(std_value)
Phase_2ask=Phase_2ask_matrix(:,i);
phase_mean=mean(Phase_2ask);
phase_nl=Phase_2ask-phase_mean;
Amplititude_2ask=Amplititude_2ask_matrix(:,i);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -