通信系统计算机模拟第十一讲.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通信系统的计算机模拟 第十一讲 第十讲 回顾 将均匀分布随机变量映射成任意pdf 逆变换法 直方图法 舍弃法 产生不相关的高斯随机变量 均匀变量求和法 瑞利随机变量到高斯随机变量的映射 极坐标法 MATLAB实现 确定任意的功率谱密度或自相关函数 7.7 PN序列发生器 在很多应用中尤其是在同频领域中会用到伪噪声(PN)序列发生器。 PN序列常用来近似具有均匀概率密度函数的随机变量。 PN序列发生器可以有很多表示形式,最常见也是我们要集中讨论的形式,如图7-21所示。 作用 在仿真中,使用PN序列最重要的一个原因是为了建立数据源模型。 通过使用PN序列发生器,能用尽可能短的仿真时间,产生具有给定长度的所有可能的比特组合。 组成 PN序列发生器由三个基本部分组成:N级移位寄存器、模二加法器和连接向量。 这个连接向量具体定义了移位寄存器各级与模二加法器之间的连接。它确定了发生器的性能特点,并由以下多项式定义 性质 可以证明,PN序列发生器输出序列的最大周期是 (7-100) 当且仅当多项式是本原多项式时,可以达到这个周期。 PN序列发生器输出的自相关函数如图7-22所示,这里我们假设数据值(符号)为±1。 若或是L的整数倍,则自相关函数等于1; 若,则自相关函数-1/L,并且在L足够大时,趋近于零。 ?可见,具有长周期的PN序列,其自相关函数近似为冲激函数。所以,跟期望的一样,功率谱密度近似为白色的。PN序列有很多有趣的特性,在仿真中我们关心的特性包括以下几个: 仿真中我们关心的特性 ·序列几乎是平衡的。也就是说,在序列的一个周期中,1的个数比0的个数只多出一个。在适当的位置上额外添加一个0,则序列平衡。 ·所有可能的比特组合都会出现一个周期中,这里全0序列除外,但包括全1序列。(注意:如果所有的移位寄存器包含二进制0,则序列发生器会陷于全0的死循环。若已有N-1个0,再添加一个0,则序列平衡,得到的是deBruijn序列)。 ·虽然自相关函数是周期的,但其波形与随机的二进制波形几乎完全相同。 基于N级移位寄存器的PN序列发生器的设计 要找到一个N阶的本原多项式。在N较大时,很难找到这样的本原多项式,幸运的是,文献[13]提供了大量本原多项式的表格。 开发步骤 例 pntaps = [0 0 1 0 0 0 0 0 0 1]; % shift register taps pninitial = [0 0 0 0 0 0 0 0 0 1]; % initial shift register state pndata = zeros(1,1023); % initialize output vector samp_per_sym = 5; % samples per symbol pnregister = pninitial; % initialize shift register n = 0; % initialize counter kk = 0; % set terminator indicator while kk == 0 n = n+1; % increment counter pndata(1,n) = pnregister(1,1); % save output feedback = rem((pnregister*pntaps),2); % calculate feedback pnregister = [feedback,pnregister(1,1:9)]; % increment register if pnregister == pninitial; kk = 1; end % reset termination End text = [The period is ,num2str(n,15),.]; disp(text) % display period pndata=replicate(pndata,samp_per_sym); % replicate data kn = n*samp_per_sym; % length of output vector pndata = 2*pndata - 1; % make output +/- one a = fft(pndata); b = a.*conj(a); % PSD of data Rm = real

文档评论(0)

xiaofei2001128 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档