psk_30.asv

来自「给出 了进行相位调制的仿真程序」· ASV 代码 · 共 60 行

ASV
60
字号
%+,-15度调相基本平台clcclear allN=5000;%仿真数据量data=randint(1,N);%随机数生成data_I=[];data_Q=[];rec_data_I=[];rec_data_Q=[];rec_data=[];data_err_rate=[];%相位映射for i=1:N    if data(i)==0        data_I(i)=cos(pi/12);        data_Q(i)=sin(pi/12);    else        data_I(i)=cos(pi/12);        data_Q(i)=-sin(pi/12);    endenddata_module=data_I+sqrt(-1)*data_Q;scatterplot(data_module);grid;snr_start=1;snr_end=30;snr_in_dB=1:2:30;%Monte karlo 仿真for i=1:length(snr_in_dB)    snr=sqrt(1/2*10^(-1*(snr_in_dB(i)/10)));    n_I=snr*randn(1,N);    n_Q=snr*randn(1,N);    %通过高斯信道的情况    sig_I=data_I+n_I;    sig_Q=data_Q+n_Q;        for j=1:N        rec=[sig_I(j) sig_Q(j)];        %correlation demodulation        rec1=dot(rec,[cos(pi/12) sin(pi/12)]);        rec2=dot(rec,[cos(pi/12) -sin(pi/12)]);        %deciding        if rec1>rec2           rec_data_I(j)=cos(pi/12);           rec_data_Q(j)=sin(pi/12);           rec_data(j)=0;        else           rec_data_I(j)=cos(pi/12);           rec_data_Q(j)=-sin(pi/12);           rec_data(j)=1;        end    end    data_err_rate(i)=sum(data~=rec_data)/N;end%drawingsemilogy(snr_in_dB,data_err_rate);grid on;% grid on            

⌨️ 快捷键说明

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