⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smldpe59.m

📁 Contemporary communication system一書之matlab範例程式
💻 M
字号:
function [p]=smldPe59(snr_in_dB)% [p]=smldPe59(snr_in_dB)%		SMLDPE59  simulates the error probability for the given%   		snr_in_dB, signal to noise ratio in dB.M=16;				   	% 16-ary PAMd=1;SNR=exp(snr_in_dB*log(10)/10);	   	% signal to noise ratio per bitsgma=sqrt((85*d^2)/(8*SNR));	   	% sigma, standard deviation of noiseN=10000;	 		   	% number of symbols being simulated% generation of the quarternary data sourcefor i=1:N,   temp=rand;   	      		% a uniform random variable over (0,1)   index=floor(M*temp);       		% the index is an integer from 0 to M-1, where			      		% all the possible values are equally likely   dsource(i)=index;end;% detection, and probability of error calculationnumoferr=0;for i=1:N,  % matched filter outputs  % (2*dsource(i)-M+1)*d is the mapping to the 16-ary constellation  r=(2*dsource(i)-M+1)*d+gngauss(sgma);    % the detector   if (r>(M-2)*d),    decis=15;  elseif (r>(M-4)*d),    decis=14;  elseif (r>(M-6)*d),    decis=13;  elseif (r>(M-8)*d),    decis=12;  elseif (r>(M-10)*d),    decis=11;  elseif (r>(M-12)*d),    decis=10;  elseif (r>(M-14)*d),    decis=9;  elseif (r>(M-16)*d),    decis=8;  elseif (r>(M-18)*d),    decis=7;  elseif (r>(M-20)*d),    decis=6;  elseif (r>(M-22)*d),    decis=5;  elseif (r>(M-24)*d),    decis=4;  elseif (r>(M-26)*d),    decis=3;  elseif (r>(M-28)*d),    decis=2;  elseif (r>(M-30)*d),    decis=1;  else    decis=0;		      end;  if (decis~=dsource(i)),   % if it is an error, increase the error counter    numoferr=numoferr+1;  end;end;p=numoferr/N;	  	     % probability of error estimate

⌨️ 快捷键说明

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