通信系统的计算机模拟第十三讲精.ppt
《通信系统的计算机模拟第十三讲精.ppt》由会员分享,可在线阅读,更多相关《通信系统的计算机模拟第十三讲精.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、通信系通信系统的的计算机模算机模拟第十三第十三讲1第1页,本讲稿共59页通信系统的蒙特卡罗仿真通信系统的蒙特卡罗仿真 l 相移键控(相移键控(Phase-shift Keying,PSK)数字通信系统,尽管非常简单,基)数字通信系统,尽管非常简单,基本构建模块,差分本构建模块,差分QPSK系统的仿真,其中考虑了相位和符号同步误差系统的仿真,其中考虑了相位和符号同步误差的影响。的影响。l讨论半解析(讨论半解析(SA)方法,即把蒙特卡罗仿真和解析的方法结合在一起。)方法,即把蒙特卡罗仿真和解析的方法结合在一起。l蒙特卡罗方法几乎不需要任何的数学分析,只要系统方框图中每个功能模蒙特卡罗方法几乎不需要
2、任何的数学分析,只要系统方框图中每个功能模块的信号处理算法是已知的就能应用块的信号处理算法是已知的就能应用l蒙特卡罗仿真是一个很通用的工具,缺点是仿真运行时间长,半解析方法蒙特卡罗仿真是一个很通用的工具,缺点是仿真运行时间长,半解析方法需要更高水平的分析,降低了仿真运行时间。需要更高水平的分析,降低了仿真运行时间。l运行一次蒙特卡罗仿真得到的是单个误比特率估计值,而半解析仿真运行一次蒙特卡罗仿真得到的是单个误比特率估计值,而半解析仿真得到的是以为得到的是以为Eb/N0函数的完整的误比特率曲线,半解析仿真不是一个普遍函数的完整的误比特率曲线,半解析仿真不是一个普遍适用的方法,仅适用于一类很有限的
3、系统,半解析仿真消耗的机时是微不足适用的方法,仅适用于一类很有限的系统,半解析仿真消耗的机时是微不足道的,因此在能运用半解析仿真时,都应优先考虑这种方法。道的,因此在能运用半解析仿真时,都应优先考虑这种方法。2第2页,本讲稿共59页两个蒙特卡罗实例两个蒙特卡罗实例 l将蒙特卡罗方法用于估计数字通信系统的误比特率时,是将蒙特卡罗方法用于估计数字通信系统的误比特率时,是让让N个采样符号通过系统的仿真模型,并计算产生差错的个个采样符号通过系统的仿真模型,并计算产生差错的个数来实现的数来实现的l假设符号导致了假设符号导致了Ne个差错,那么误比特率的估计值为个差错,那么误比特率的估计值为l 是一个随机变
4、量,要获得误比特率的准确估计,估计是一个随机变量,要获得误比特率的准确估计,估计器必须是无偏,并具有小的方差,小的方差要求有大的器必须是无偏,并具有小的方差,小的方差要求有大的N,而这,而这又会导致较长的计算时间。又会导致较长的计算时间。3第3页,本讲稿共59页例例10-1(PSK)l 假设为假设为BPSK调制,信号星座中的两个信号点都位调制,信号星座中的两个信号点都位于直接(同相)信道上(回顾一下例于直接(同相)信道上(回顾一下例9-3),根据),根据这一假设,在仿真中我们可以不考虑正交信道。这一假设,在仿真中我们可以不考虑正交信道。l假设调制器输出端的滤波器是三阶巴特沃思滤波器,其假设调制
5、器输出端的滤波器是三阶巴特沃思滤波器,其带宽等于比特率(带宽等于比特率(BW=rb),该滤波器会产生码间干),该滤波器会产生码间干扰(扰(ISI)。)。l仿真的目的是确定由滤波器带来的仿真的目的是确定由滤波器带来的ISI所增加所增加的误比特率。的误比特率。l这里采用了块级联(这里采用了块级联(block-serial)的方法,迭代处理)的方法,迭代处理由由1000个符号组成的块,直到处理完所有个符号组成的块,直到处理完所有N个符个符号。号。l这样做主要是为了利用这样做主要是为了利用MATLAB内置的函数内置的函数filter,它可以实现时域卷积。它作为内置函数具,它可以实现时域卷积。它作为内置
6、函数具有非常高的运行效率,可大大地减少仿真时间。有非常高的运行效率,可大大地减少仿真时间。注意必须保证滤波器的输出在块与块之间是连续注意必须保证滤波器的输出在块与块之间是连续的,这是通过使用的,这是通过使用filter提供的初始条件参数来提供的初始条件参数来实现的。实现的。4第4页,本讲稿共59页Solutionl第一个问题是要确定第一个问题是要确定delay的值的值l最最妙妙的的方方法法是是,把把调调制制器器的的输输入入和和接接收机的输出进行互相关。收机的输出进行互相关。l在在进进行行半半解解析析仿仿真真时时我我们们会会采采用用这这种方法。种方法。l为为了了说说明明正正确确选选择择时时延延值
7、值的的重重要要性性,具具体体来来说说,我我们们会会选选定定一一个个值值,用用不不同同的的delay值值对对系系统统进进行行仿仿真真,并并观观察结果察结果5第5页,本讲稿共59页Matlab ProgramlEbNodB=6;%Eb/No(dB)valuelz=10.(EbNodB/10);%convert to linear scaleldelay=0:8;%delay vectorlBER=zeros(1,length(delay);%initialize BER vectorlErrors=zeros(1,length(delay);%initialize Errors vectorlBE
8、R_T=q(sqrt(2*z)*ones(1,length(delay);%theoretical BER vectorlN=round(100./BER_T);%100 errors for ideal(zero ISI)systemlFilterSwitch=1;%set filter switch(in=1 or out=0)lfor k=1:length(delay)l BER(k),Errors(k)=c10_MCBPSKrun(N(k),z,delay(k),FilterSwitch)lendlsemilogy(delay,BER,o,delay,BER_T,-);grid;lxl
9、abel(Delay);ylabel(Bit Error Rate);6第6页,本讲稿共59页ResultAWGN环境下的理想系环境下的理想系统(没有统(没有ISI)在)在Eb/N0=6dB时的性能时的性能 7第7页,本讲稿共59页lfunction BER,Errors=MCBPSKrun(N,EbNo,delay,FilterSwitch)lSamplesPerSymbol=10;%samples per symbollBlockSize=1000;%block size lNoiseSigma=sqrt(SamplesPerSymbol/(2*EbNo);%scale noise lev
10、ellDetectedSymbols=zeros(1,BlockSize);%initialize vector lNumberOfBlocks=floor(N/BlockSize);%number of blocks processed lBTx,ATx=butter(5,2/SamplesPerSymbol);%compute filter parameterslTxOutput,TxFilterState=filter(BTx,ATx,0);%initialize state vectorlBRx=ones(1,SamplesPerSymbol);ARx=1;%matched filte
11、r parameterslErrors=0;%initialize error counter l%l%Simulation loop begine here.l%lfor Block=1:NumberOfBlocks l 8第8页,本讲稿共59页l%l%Generate transmitted symbols.l%l SymbolSamples,TxSymbols=random_binary(BlockSize,SamplesPerSymbol);l%l%Transmitter filter if desired.l%l if FilterSwitch=0l TxOutput=SymbolS
12、amples;l else l TxOutput,TxFilterState=filter(BTx,ATx,SymbolSamples,TxFilterState);l endl%l%Generate channel noise.l%l NoiseSamples=NoiseSigma*randn(size(TxOutput);l%l%Add signal and noise.l%l 9第9页,本讲稿共59页lRxInput=TxOutput+NoiseSamples;l%l%Pass Received signal through matched filter.l%l IntegratorOu
13、tput=filter(BRx,ARx,RxInput);l%l%Sample matched filter output every SamplesPerSymbol samples,l%compare to transmitted bit,and count errors.l%l for k=1:BlockSize,l m=k*SamplesPerSymbol+delay;l if(m length(IntegratorOutput)l DetectedSymbols(k)=(1-sign(IntegratorOutput(m)/2;l if(DetectedSymbols(k)=TxSy
14、mbols(k)l Errors=Errors+1;l endl endl end lend lBER=Errors/(BlockSize*NumberOfBlocks);%calculate BER10第10页,本讲稿共59页lfunction x,bits=random_binary(nbits,nsamples)l%This function genrates a random binary waveform of length nbitsl%sampled at a rate of nsamples/bit.lx=zeros(1,nbits*nsamples);lbits=round(
15、rand(1,nbits);lfor m=1:nbitsl for n=1:nsamplesl index=(m-1)*nsamples+n;l x(1,index)=(-1)bits(m);l endlendl%End of function file.11第11页,本讲稿共59页讨论讨论l正确的时延值极有可能在正确的时延值极有可能在5和和6个采样周期之个采样周期之间。要更精确地确定间。要更精确地确定delay的估计值,可以的估计值,可以用更高的采样频率(更小的采样周期)再次用更高的采样频率(更小的采样周期)再次运行仿真程序。运行仿真程序。l既然已经知道了合适的既然已经知道了合适的delay
16、值,现在就可以值,现在就可以运行仿真程序,并确定以运行仿真程序,并确定以Eb/N0为函数的为函数的Pe值。值。12第12页,本讲稿共59页lEbNodB=0:8;%vector of Eb/No(dB)valueslz=10.(EbNodB/10);%convert to linear scaleldelay=5;%enter delay value(samples)lBER=zeros(1,length(z);%initialize BER vectorlErrors=zeros(1,length(z);%initialize Errors vectorlBER_T=q(sqrt(2*z);
17、%theoretical(AWGN)BER vectorlN=round(20./BER_T);%20 errors for ideal(zero ISI)systemlFilterSwitch=1;%Tx filter out(0)or in(1)lfor k=1:length(z)l N(k)=max(1000,N(k);%ensure at least one block processed l BER(k),Errors(k)=c10_MCBPSKrun(N(k),z(k),delay,FilterSwitch)lendlsemilogy(EbNodB,BER,o,EbNodB,BER
18、_T)lxlabel(E_b/N_0-dB);ylabel(Bit Error Rate);gridllegend(System Under Study,AWGN Reference,0)13第13页,本讲稿共59页结果结果14第14页,本讲稿共59页讨论讨论15第15页,本讲稿共59页例例10-2l(QPSK)在前面关于)在前面关于BPSK调制的例子中,为了使仿真代码调制的例子中,为了使仿真代码简洁也为了易于分析,做了一些简化的假设。简洁也为了易于分析,做了一些简化的假设。l而对此例的而对此例的OPSK系统,我们对一些新的误差源进行了建系统,我们对一些新的误差源进行了建模,并且包含了一些新的
19、参数。以便比较容易地将仿真结模,并且包含了一些新的参数。以便比较容易地将仿真结果和由实际通信系统获得的结果关联起来。果和由实际通信系统获得的结果关联起来。l例如,描述发射机和接收机之间传输损耗的信道衰减包括在仿真参例如,描述发射机和接收机之间传输损耗的信道衰减包括在仿真参数中数中l符号速率的实际(未经缩放的)数值和采样频率也包括在仿真中,该系统符号速率的实际(未经缩放的)数值和采样频率也包括在仿真中,该系统的方框图如图的方框图如图10-4所示所示 16第16页,本讲稿共59页例例10.217第17页,本讲稿共59页载波和符号同步的仿真载波和符号同步的仿真18第18页,本讲稿共59页相位模糊问题
20、相位模糊问题lQPSK系统存在相位模糊的问题系统存在相位模糊的问题l由于信道造成了未知的信号时延,所以接收机不可能确定发送信号由于信道造成了未知的信号时延,所以接收机不可能确定发送信号的绝对相位的绝对相位l假设信道所造成的时间时延为假设信道所造成的时间时延为100.75个个RF载波周期,接收机将会把载波周期,接收机将会把45到到-45l其他还会犯类似的错误。其他还会犯类似的错误。l不把信息位的编码包含在绝对相位中,而是包含在符号间的相位差中。不把信息位的编码包含在绝对相位中,而是包含在符号间的相位差中。l相位从相位从45到到135增加了增加了90,接收机所检测到信号为,接收机所检测到信号为-1
21、35到到45,仍然保持相位增加,仍然保持相位增加90。l差分差分-附录附录B19第19页,本讲稿共59页Delay 估计估计lEb=23;No=-50;%Eb(dBm)and No(dBm/Hz)lChannelAttenuation=70;%channel attenuation in dBlN=1000;ldelay=-0.1:0.1:0.5;lEbNo=10.(Eb-ChannelAttenuation)-No)/10);lBER_MC=zeros(size(delay);lfor k=1:length(delay)l BER_MC(k)=c10_MCQPSKrun(N,Eb,.l No
22、,ChannelAttenuation,delay(k),0,0,0);l disp(Simulation,.l num2str(k*100/length(delay),%Complete);lendlBER_T=0.5*erfc(sqrt(EbNo)*ones(size(delay);%Theoretical BERlsemilogy(delay,BER_MC,o,delay,2*BER_T,-)%Plot BER vs Delaylxlabel(Delay(symbols);ylabel(Bit Error Rate);llegend(MC BER Estimate,Theoretical
23、 BER);grid;20第20页,本讲稿共59页结果结果因为没有使用信道滤波器,最优时延是零符号周期,周期来测量时延,因为没有使用信道滤波器,最优时延是零符号周期,周期来测量时延,而不是像前面的例子那样用采样周期。而不是像前面的例子那样用采样周期。21第21页,本讲稿共59页误比特率对静态同步相位误差的灵敏度误比特率对静态同步相位误差的灵敏度当相位误差以当相位误差以10度为增量从度为增量从0度变化到度变化到90度度 lPhaseError=0:10:90;%Phase Error at ReceiverlEb=24;No=-50;%Eb(dBm)and No(dBm/Hz)lChannelA
24、ttenuation=70;%dBlEbNo=10.(Eb-ChannelAttenuation-No)/10);lBER_T=0.5*erfc(sqrt(EbNo)*ones(size(PhaseError);lN=round(100./BER_T);lBER_MC=zeros(size(PhaseError);lfor k=1:length(PhaseError)l BER_MC(k)=c10_MCQPSKrun(N(k),Eb,No,ChannelAttenuation,0,0,.l PhaseError(k),0);l disp(Simulation,num2str(k*100/len
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 系统 计算机 模拟 第十 三讲
限制150内