📄 qpsk.m
字号:
clear;Fd=1;Fs=3*Fd;M=4;for SNR_db=0:10:20 Eb_N0=10^(SNR_db/10); sgma=sqrt(1/(8*Eb_N0)); x=randint(10,1,M); y=dmodce(x,Fd,Fs,'psk',M); ynoise=y+sqrt(Fs/Fd)*sgma*(randn(length(y),1)+j*randn(length(y),1)); z=ddemodce(ynoise,Fd,Fs,'psk',M); [numbers,pm(SNR_db/10+1)]=symerr(x,z); figure(SNR_db+1); hold on; for i=0:M-1 plot(cos(2*pi*i/M),sin(2*pi*i/M),'.','MarkerSize',20); end plot(ynoise,'+'); hold off;end;SNR_db=0:20;SNR1_db=0:20;for n=1:length(SNR_db) Eb_N0=10^(SNR_db(n)/10); sgma=sqrt(1/(8*Eb_N0)); x=randint(10000,1,M); y=dmodce(x,Fd,Fs,'psk',M); ynoise=y+sqrt(Fs/Fd)*sgma*(randn(length(y),1)+j*randn(length(y),1)); z=ddemodce(ynoise,Fd,Fs,'psk',M); [numbers,pm(n)]=symerr(x,z);end;for m=1:length(SNR1_db) Eb_N0=10^(SNR1_db(m)/10); pm_theory(m)=2*Qfunct(sqrt(2*Eb_N0))*(1-1/2*Qfunct(sqrt(2*Eb_N0))); pe_theory(m)=pm_theory(m)/log2(M);endsemilogy(SNR_db,pm,'*',SNR1_db,pm_theory);xlabel('信噪比(dB)');ylabel('误符号率');legend('仿真得到的误符号率','理论符号误码曲线');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -