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