⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stochastic_features_atraction.asv

📁 软件无线电中信号调制方式的识别——用人工神经网络的方法
💻 ASV
📖 第 1 页 / 共 2 页
字号:
    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 + -