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

📄 five_features.m

📁 通信系统中用于设别调制方式的5个特征参数的提取
💻 M
字号:
function feature_vector=five_features(Amplititude,Phase,Frequency)
feature_vector=zeros(1,5);
%提取零中心归一化瞬时幅度之谱密度的最大值garma_max

    
   amp_mean=mean(Amplititude);
   amp_cn=Amplititude/amp_mean-1;
   garma_max1=max(abs(fft(amp_cn.^2)))/size(Amplititude,1);
   garma_max=garma_max1;
   feature_vector(1)=garma_max;
%提取零中心归一化瞬时幅度绝对值的标准偏差delta_aa

    amp_mean=mean(Amplititude);
    amp_cn=Amplititude/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=sqrt(amp_cn_square_mean-amp_cn_mean_square);
    feature_vector(2)=delta_aa;

%提取零中心非弱信号段瞬时相位非线性分量绝对值的标准偏差delta_ap

   
    phase_mean=mean(Phase);
    phase_nl=Phase-phase_mean;
 
    amp_mean=mean(Amplititude);
    amp_n=Amplititude/amp_mean;
    nCount=0;
    for j=1:size(Amplititude)
        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=abs(sqrt(phase_nl_mean_square-phase_nl_square_mean));
    feature_vector(3)=delta_ap;



%提取零中心非弱信号段瞬时相位非线性分量的标准偏差delta_dp

    phase_mean=mean(Phase);
    phase_nl=Phase-phase_mean;
  
    amp_mean=mean(Amplititude);
    amp_n=Amplititude/amp_mean;
    nCount=0;
    for j=1:size(Amplititude)
        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=abs(sqrt(phase_nl_mean_square-phase_nl_square_mean));
    feature_vector(4)=delta_dp;


%提取零中心归一化非弱信号段瞬时频率绝对值的标准偏差delta_af

    fre_mean=mean(Frequency);
    fre_nl=Frequency-fre_mean;
 
    amp_mean=mean(Amplititude);
    amp_n=Amplititude/amp_mean;
    nCount=0;
    for j=1:size(Amplititude)
        if amp_n(j)>1
            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=abs(sqrt(fre_nl_mean_square-fre_nl_square_mean));
   feature_vector(5)=delta_af;
    
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -