?? psk_30.m
字號:
%+,-15度調相基本平臺clcclear allN=10000;%仿真數據量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;t1=(1:length(data_module))/1e6;data_module1=data_module.*exp(j*2*pi*(1.37*t1+0));% scatterplot(data_module);grid;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% a=fft(data_module);% b=fft(data_module1);% c=ifft(a.*conj(b));% [cmax,nmax]=max(abs(c));% theta=angle(c(nmax));% data_module2=data_module1.*exp(j*theta);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%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; sig_I=real(data_module1)+n_I; sig_Q=imag(data_module1)+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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -