- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通信系统的计算机模拟 第十三讲 通信系统的蒙特卡罗仿真 相移键控(Phase-shift Keying, PSK)数字通信系统,尽管非常简单,基本构建模块,差分QPSK系统的仿真,其中考虑了相位和符号同步误差的影响。 讨论半解析(SA)方法,即把蒙特卡罗仿真和解析的方法结合在一起。 蒙特卡罗方法几乎不需要任何的数学分析,只要系统方框图中每个功能模块的信号处理算法是已知的就能应用 蒙特卡罗仿真是一个很通用的工具,缺点是仿真运行时间长,半解析方法需要更高水平的分析,降低了仿真运行时间。 运行一次蒙特卡罗仿真得到的是单个误比特率估计值,而半解析仿真得到的是以为Eb/N0函数的完整的误比特率曲线,半解析仿真不是一个普遍适用的方法,仅适用于一类很有限的系统,半解析仿真消耗的机时是微不足道的,因此在能运用半解析仿真时,都应优先考虑这种方法。 两个蒙特卡罗实例 将蒙特卡罗方法用于估计数字通信系统的误比特率时,是让N个采样符号通过系统的仿真模型,并计算产生差错的个数来实现的 假设符号导致了Ne个差错,那么误比特率的估计值为 是一个随机变量,要获得误比特率的准确估计,估计器必须是无偏,并具有小的方差,小的方差要求有大的N,而这又会导致较长的计算时间。 例10-1(PSK) 假设为BPSK调制,信号星座中的两个信号点都位于直接(同相)信道上(回顾一下例9-3),根据这一假设,在仿真中我们可以不考虑正交信道。 假设调制器输出端的滤波器是三阶巴特沃思滤波器,其带宽等于比特率(BW=rb),该滤波器会产生码间干扰(ISI)。 仿真的目的是确定由滤波器带来的ISI所增加的误比特率。 这里采用了块级联(block-serial)的方法,迭代处理由1000个符号组成的块,直到处理完所有N个符号。 这样做主要是为了利用MATLAB内置的函数filter,它可以实现时域卷积。它作为内置函数具有非常高的运行效率,可大大地减少仿真时间。注意必须保证滤波器的输出在块与块之间是连续的,这是通过使用filter提供的初始条件参数来实现的。 Solution 第一个问题是要确定delay的值 最妙的方法是,把调制器的输入和接收机的输出进行互相关。 在进行半解析仿真时我们会采用这种方法。 为了说明正确选择时延值的重要性,具体来说,我们会选定一个值,用不同的delay值对系统进行仿真,并观察结果 Matlab Program EbNodB = 6; % Eb/No (dB) value z = 10.^(EbNodB/10); % convert to linear scale delay = 0:8; % delay vector BER = zeros(1,length(delay)); % initialize BER vector Errors = zeros(1,length(delay)); % initialize Errors vector BER_T = q(sqrt(2*z))*ones(1,length(delay)); % theoretical BER vector N = round(100./BER_T); % 100 errors for ideal (zero ISI) system FilterSwitch = 1; % set filter switch (in=1 or out=0) for k=1:length(delay) [BER(k),Errors(k)] = c10_MCBPSKrun(N(k),z,delay(k),FilterSwitch) end semilogy(delay,BER,o,delay,BER_T,-); grid; xlabel(Delay); ylabel(Bit Error Rate); Result function [BER,Errors]=MCBPSKrun(N,EbNo,delay,FilterSwitch) SamplesPerSymbol = 10; % samples per symbol BlockSize = 1000; % block size NoiseSigma = sqrt(SamplesPerSymbol/(2*EbNo)); % scale noise level DetectedSymbols = zeros(1,BlockSize); % initialize vector NumberOfBlocks = floor(N/BlockSize); % number of
您可能关注的文档
最近下载
- 2025年甘肃省武威市凉州区发放镇招聘专业化管理大学生村文书笔试备考试题及答案解析.docx VIP
- 中国宫腔镜诊断与手术临床实践指南(2023年).pptx VIP
- 2025年法律职业资格(客观题)真题含答案.docx VIP
- 展板版式设计.ppt VIP
- 2025年全国司法考试客观题试卷及答案.docx VIP
- 职能科室对医技科室医疗质量督查记录表(检验科、放射科、超声科、功能科、内镜室).pdf VIP
- 中国宫腔镜诊断与手术临床实践指南(2023版).pptx VIP
- 血透患者心理健康宣教ppt.pptx
- 【新教材】英语必修第二册(新人教版)教材习题参考答案.pdf VIP
- 手机数据恢复精灵误删信息轻松恢复.PDF VIP
文档评论(0)