📄 stochastic_features_atraction.asv
字号:
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(phase_nl)/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_dp_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(phase_nl)/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_dp_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(phase_nl)/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_dp_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(phase_nl)/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_dp_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(phase_nl)/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_dp_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(phase_nl)/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_dp_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(phase_nl)/nCount).^2;
phase_nl_square_mean=sum((phase_nl).^2)/nCount;
delta_dp_qam(i)=abs(sqrt(phase_nl_mean_square-phase_nl_square_mean));
end
figure(18);
hold on;
plot(std_value_db,delta_dp_2ask,'b.');
plot(std_value_db,delta_dp_4ask,'r.');
plot(std_value_db,delta_dp_2fsk,'bo');
plot(std_value_db,delta_dp_4fsk,'ro');
plot(std_value_db,delta_dp_2psk,'bx');
plot(std_value_db,delta_dp_4psk,'rx');
plot(std_value_db,delta_dp_qam,'b*');
%提取零中心归一化非弱信号段瞬时频率绝对值的标准偏差delta_af
for i=1:size(std_value)
Frequency_2ask=Frequency_2ask_matrix(:,i);
fre_mean=mean(Frequency_2ask);
fre_nl=Frequency_2ask-fre_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 fre_nl(j)=0;
end
end
fre_nl_mean_square=(sum(abs(fre_nl))/nCount).^2;
fre_nl_square_mean=sum((fre_nl).^2)/nCount;
delta_af_2ask(i)=abs(sqrt(fre_nl_mean_square-fre_nl_square_mean));
end
for i=1:size(std_value)
Frequency_4ask=Frequency_4ask_matrix(:,i);
fre_mean=mean(Frequency_4ask);
fre_nl=Frequency_4ask-fre_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 fre_nl(j)=0;
end
end
fre_nl_mean_square=(sum(abs(fre_nl))/nCount).^2;
fre_nl_square_mean=sum((fre_nl).^2)/nCount;
delta_af_4ask(i)=abs(sqrt(fre_nl_mean_square-fre_nl_square_mean));
end
for i=1:size(std_value)
Frequency_2fsk=Frequency_2fsk_matrix(:,i);
fre_mean=mean(Frequency_2fsk);
fre_nl=Frequency_2fsk-fre_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 fre_nl(j)=0;
end
end
fre_nl_mean_square=(sum(abs(fre_nl))/nCount).^2;
fre_nl_square_mean=sum((fre_nl).^2)/nCount;
delta_af_2fsk(i)=abs(sqrt(fre_nl_mean_square-fre_nl_square_mean));
end
for i=1:size(std_value)
Frequency_4fsk=Frequency_4fsk_matrix(:,i);
fre_mean=mean(Frequency_4fsk);
fre_nl=Frequency_4fsk-fre_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_4fsk)
if amp_n(j)>0.9
nCount=nCount+1;
else fre_nl(j)=0;
end
end
fre_nl_mean_square=(sum(abs(fre_nl))/nCount).^2;
fre_nl_square_mean=sum((fre_nl).^2)/nCount;
delta_af_4fsk(i)=abs(sqrt(fre_nl_mean_square-fre_nl_square_mean));
end
for i=1:size(std_value)
Frequency_2psk=Frequency_2psk_matrix(:,i);
fre_mean=mean(Frequency_2psk);
fre_nl=Frequency_2psk-fre_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 fre_nl(j)=0;
end
end
fre_nl_mean_square=(sum(abs(fre_nl))/nCount).^2;
fre_nl_square_mean=sum((fre_nl).^2)/nCount;
delta_af_2psk(i)=abs(sqrt(fre_nl_mean_square-fre_nl_square_mean));
end
for i=1:size(std_value)
Frequency_4psk=Frequency_4psk_matrix(:,i);
fre_mean=mean(Frequency_4psk);
fre_nl=Frequency_4psk-fre_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 fre_nl(j)=0;
end
end
fre_nl_mean_square=(sum(abs(fre_nl))/nCount).^2;
fre_nl_square_mean=sum((fre_nl).^2)/nCount;
delta_af_4psk(i)=abs(sqrt(fre_nl_mean_square-fre_nl_square_mean));
end
for i=1:size(std_value)
Frequency_qam=Frequency_qam_matrix(:,i);
fre_mean=mean(Frequency_qam);
fre_nl=Frequency_qam-fre_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 fre_nl(j)=0;
end
end
fre_nl_mean_square=(sum(abs(fre_nl))/nCount).^2;
fre_nl_square_mean=sum((fre_nl).^2)/nCount;
delta_af_qam(i)=abs(sqrt(fre_nl_mean_square-fre_nl_square_mean));
end
figure(19);
hold on;
plot(std_value_db,delta_af_2ask,'b.');
plot(std_value_db,delta_af_4ask,'r.');
plot(std_value_db,delta_af_2fsk,'bo');
plot(std_value_db,delta_af_4fsk,'ro');
plot(std_value_db,delta_af_2psk,'bx');
plot(std_value_db,delta_af_4psk,'rx');
plot(std_value_db,delta_af_qam,'b*');
%delta_af的提取有错误,待修正,其他正确
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -