axis([0 50 0 500]);
xlabel('频率/Hz');ylabel('振幅');title('抽样判决输出信号频谱(N=1024)');grid on;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% 功能实现模块九:各阶段信号功率谱密度分析 %%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Fs=1000; n=0:1/Fs:1; nfft=1024;
window=hamming(100); %海明窗 noverlap=20; %数据无重叠
range='half'; %频率间隔为[0 Fs/2],只计算一半的频率
[Pxx1,f]=pwelch(carrier_signal,window,noverlap,nfft,Fs,range); plot_Pxx1=10*log10(Pxx1); [Pxx2,f]=pwelch(psk,window,noverlap,nfft,Fs,range); plot_Pxx2=10*log10(Pxx2); [Pxx3,f]=pwelch(y1,window,noverlap,nfft,Fs,range); plot_Pxx3=10*log10(Pxx3); [Pxx4,f]=pwelch(y2,window,noverlap,nfft,Fs,range); plot_Pxx4=10*log10(Pxx4); [Pxx5,f]=pwelch(y3,window,noverlap,nfft,Fs,range); plot_Pxx5=10*log10(Pxx5); [Pxx6,f]=pwelch(y5,window,noverlap,nfft,Fs,range); plot_Pxx6=10*log10(Pxx6); figure(9); subplot(321); plot(f,plot_Pxx1);
title('载波信号功率谱密度'); subplot(322); plot(f,plot_Pxx2);
title('2PSK信号功率谱密度'); subplot(323); plot(f,plot_Pxx3);
title('接收机接收信号功率谱密度'); subplot(324); plot(f,plot_Pxx4);
title('解调输出信号功率谱密度'); subplot(325); plot(f,plot_Pxx5);
title('低通信号功率谱密度'); subplot(326); plot(f,plot_Pxx6);
21
title('判决信号功率谱密度');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% 功能实现模块十:误码率计算 %%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %------------------2psk误码率仿真------------------------- snrdB_min=-10; snrdB_max=10;
snrdB=snrdB_min:1:snrdB_max; Nsymbols=20; snr=10.^(snrdB/10); len_snr=length(snrdB); for j=1:len_snr
sigma=sqrt(1/(2*snr(j))); error_count=0; for k=1:Nsymbols if(rem(k)~=y4(k))
error_count=error_count+1; end end
errors(j)=error_count; end
ber_sim=errors/Nsymbols;
ber_theor=(erfc(sqrt(snr))).*(1-0.5*erfc(sqrt(snr))); figure(10);
semilogy(snrdB,ber_theor,'-',snrdB,ber_sim,'*'); axis([snrdB_min snrdB_max 0.0001 1]); xlabel('信噪比');ylabel('误码率'); title('2PSK信噪比误码率关系图'); legend('理论值','实际值') grid on;
22
教师评语
23
相关推荐: