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

📄 stochastic_features_atraction.asv

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

%提取零中心归一化瞬时幅度之谱密度的最大值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 + -