ook.m
来自「模拟启闭载波信号的最佳接收机的情形,包含信号的产生,模拟调制,接收检测,并分析显」· M 代码 · 共 49 行
M
49 行
function Pe = OOK( snr_in_db )%UNTITLED1 Summary of this function goes here% Detailed explanation goes herefc=50;T=0.15;N=10000;ts=0.0001;A=((10*(2^0.5))^(1/2))/50; %awgn(x,snr_in_db)的x必须是1mw的功率的(0dbw),故须算出此时幅度大小为多少,A^2/2,故A= % E=1; % lamta=1; t=[0:ts:T]; %这就是怎么把 for 转化成矩阵的方法 S0=zeros(1,length(t));%不能写s0(t)= ... ,因为括号里的 值必须是整数; S1=A*sin(2*pi*fc.*t); VT=1/2*int1(S1.^2,ts); % SNR=exp(snr_in_db*log(10)/10); % sgma=E/sqrt(2*SNR);k=length(t);r=zeros(N,k);numoferr=0;for i=1:N temp=rand; if(temp<0.5) dsource(i)=0; else dsource(i)=1; end if(dsource(i)==0) r(i,1:k)= awgn(S0,snr_in_db); else r(i,1:k)= awgn(S1,snr_in_db); end RT1(i)=int1(r(i,1:k).*S1,ts);% RT1=int(r(i).*S1)是错的,这样会只跟第一个量相乘而已 RT2(i)=int1(r(i,1:k).*S0,ts); test1(i)=int1(S1.*S1,ts); test2(i)=int1(S0.*S0,ts); if( RT1(i)-RT2(i)>VT) R(i)=1; else R(i)=0; end if(R(i)~=dsource(i)) numoferr=numoferr+1; endendPe=numoferr/N;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?