通信系统的计算机模拟第九讲.ppt_第1页
通信系统的计算机模拟第九讲.ppt_第2页
通信系统的计算机模拟第九讲.ppt_第3页
通信系统的计算机模拟第九讲.ppt_第4页
通信系统的计算机模拟第九讲.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 通信系统的计算机模拟 第九讲 2 随机信号的产生与处理 信道噪声 干扰和衰落等随机波形级精确地仿真这些系统 随机影响建立准确的模型其基本构建模块是随机数发生器 如何产生采样后的随机波形 信号 干扰和噪声等 以用于仿真 在仿真环境下 所有的随机过程必须用随机变量序列来表示 随机数发生器产生的是 伪随机序列 因为尽管它们是确定的 但在具体应用中会呈现随机性 精度随应用不同 产生一个波形来表示锁相环鉴相器输入端的噪声 对一个输入SNR为50dB的系统建立噪声波形模型所要求的精度要比输入端SNR为8dB的系统高得多 3 问题 在 0 1 上产生均匀分布且不相关的随机数将不相关且均匀分布的随机数映射成不相关的 具有任意 需要的 概率密度函数 pdf 的随机产生不相关的 具有高斯型pdf的随机数产生相关的 具有高斯型pdf的随机数产生相关的 具有任意 需要的 pdf的随机数伪噪声 PN 序列的产生以及几种应用于随机数序列的计算方法 4 平稳与遍历性过程 信号 噪声和干扰而产生的样本函数通常假设为各态历经的 原因 依次处理系统中波形的时域样本 系统中的每个点上只有一个波形 样本函数 假设仿真所处理的波形是其内在统计模型定义的总体 Emsemble 中的一个典型成员 这时各种统量如各阶矩 信噪比和误比特率 就可以当作时间平均来计算 仿真计算得到的时间平均等于总体均值 隐含的假设条件是对应的随机过程为遍历性的 5 例7 1假设随机过程的样本函数表达式为 是对应随机试验的样本空间中的一个输出 每一个映射为一个相位 再假定对应的随机试验就是从均匀随机数发生器输出端抽取一个数 抽取得到的结果 这里ui在 0 1 区间上均匀分布 然后映射成相位 当幅度A和频率f固定 的值便决定了波形 K 6 f 1 frequencyofsinusoidfs 100 samplingfrequencyt 0 200 fs timevectorfori 1 20 x i cos 2 pi f t rand 1 2 pi y i cos 2 pi f t rand 1 pi 2 z i 1 rand 1 cos 2 pi f t endsubplot 3 1 1 plot t x k ylabel x t subplot 3 1 2 plot t y k ylabel y t subplot 3 1 3 plot t z k ylabel z t 7 8 由x t y t 和z t 组成的所有样本函数的时间平均都等于零 大量满足0 ti 2的 计算出来的的总体均值近似0 Y t 0 8751 8750 3751 3750 1250 6251 1251 625 周期平稳Z t 9 例7 2在后面的工作中 我们经常要用到数字调制器的模型 这些调制器的基本构建模块是函数random binary 它产生电平值为 1或 1的二进制波形 产生的比特数以及每比特的采样数是该函数的参数 10 function x bits random binary nbits nsamples Thisfunctiongenratesarandombinarywaveformoflengthnbits sampledatarateofnsamples bit x zeros 1 nbits nsamples bits round rand 1 nbits form 1 nbitsforn 1 nsamplesindex m 1 nsamples n x 1 index 1 bits m endend 11 函数random binary的应用 函数random binary可以仿真多个数字调制器 例如 可用如下MATLAB语句仿真一个QPSK调制器 x random binary nbits nsamples i random binary nbits nsaples 12 产生一个长10比特的QPSK信号 采样频率为每比特8个采样点 nbits 10 nsamples 8 x random binary nbits nsamples i random binary nbits nsamples xd real x xq imag x subplot 2 1 1 stem xd grid axis 080 1 51 5 xlabel SampleIndex ylabel xd subplot 2 1 2 stem xq grid axis 080 1 51 5 xlabel SampleIndex ylabel xq 13 14 均匀随机数发生器 具有均匀概率密度函数的随机变量很容易转换成具有其他所需pdf的随机变量 因此 要产生一个具有特定pdf的随机变量 首先产生一个在 0 1 区间均匀分布的随机变量 通常 先产生一个列介于0和M之间的数 整数 然后将序列中每个元素除以M 实现随机数发生器最常用的方法是线性同余 linearcongruence 15 线性同余 线性同余发生器定义为如下运算a和c分别称作乘子和增量 m叫做模数 这是一个确定性的序列算法 能依次产生连续的值 初始值记为x0 称作线性同余发生器的种子数 seednuber 如果a c m和都是整数 则LCG产生的所有数也都是整数 由于对进行运算 式 7 3 至多可产生m个不同的整数 发生器输出的一个理想特征是它应具备很长的周期 从而在序列重复前 输出序列能产生最多数目的整数 对于给定值 当周期最大时 我们称发生器是全周期 fullperiod 的 此外 具体仿真程序的应用对LCG会提出其他的要求 我们通常要求样本和互不相关 可能还要求LCG的输出能通过其他统计测试 LCG可以采用多种不同的形式 16 方法A 混合同余算法 最通用的同余算法就是c 0的 混合 同余算法 之所以称之为混合算法 是因为在求解的过程中要同时用到乘法与加法 混合线性算法具有式 7 4 的形式 c 0时 发生器的最大周期为m 当且仅当满足以下特性时才能达到这个周期 增量c与m互质 换句话说 与没有素公因子 primefactor a 1是p的倍数 则p是m的任一素因子 如果m是4的倍数 则a 1是4的倍数 7 4 17 例7 3 我们要设计一个周期m 5000的混合同余发生器 因为令c等于除2和5之外的素数的乘积 可保证c和m互质 这满足了第一条特性 其中可能的一个设定是 现在必须选定a的值 若满足 则满足第二特性 p1 2 p2 5 k1 k2任意 18 cont 因为4是m 5000的因数 设定 其中k是整数 当 则 于是 可以满足第三特性 19 例7 4 这个例子将说明前一例子中设计的LCG确实具有周期 在以下MATLAB程序中 输入种子数 并运行程序直到种子数再次出现 设产生n个整数 如果n m而种子数没有再次出现 则认为发生器进入了一个重复产生短序列的循环中 MATLAB程序如下 20 a input Entermultipliera c input Enteroffsetc m input Entermodulusm seed input Enterseed n 1 ix rem seed a c m while ix seed disp text end 21 22 方法B 具有素模数的乘性算法 乘性发生器的定义式为它是增量等于零的混合算法 注意 c 0时 xi不能为零 因此 全周期是而不是前面那种情况下的 若满足以下特性 乘性算法能产生全周期序列 m是素数 通常要求m取较大值 m为的mod m 本原元素如果除i m 1了外没有更小的i值 使ai 1是m的倍数 则a为的mod m 本原元素 换句话说 a为mod m 的本原元素 如果满足 23 方法C 具有非素模数的乘性算法 模数不是素数的同余算法中最重要的情况是m等于2的幂 即这里n为整数 对式 7 16 定义的算法 最大周期为2n 4 2n 2 如果满足以下条件 可取得这个周期 乘子结果为3或5 种子数x0是奇数 7 16 24 由于两个奇数的乘积是奇数 可以推出 若x0是奇数 则由式 7 16 产生的所有值都是奇数 也就是说 产生的值都不是偶数 这使周期减为原来的一半 式 7 16 产生的奇数分成两组 其中只有一组由给定的种子数产生 这样又使周期减小了一倍 产生的这组奇数一般跟所选的种子数有关采用m 2n的好处是整数溢出能用于运算 这样缩短了计算时间 这样的结果确实比较理想 但所得的程序不易移植 25 随机数发生器的测试 前面一节为我们提供了工具 来产生在0与1之间均匀分布的伪随机数 到目前为止 我们只考虑了由LCG产生的序列的周期 于特定的应用来说 还要满足其他理想的特性 至少 我们希望序列要满足 相关 白噪声 具体的应用可能还必须满足其他的要求 现已开发了多个程序来测试某一给定序列的随机性 randomness 其中最常用的Chi 方 Chi square 测试 Kolomogorov Smirnov测试和谱测试 26 谱测试似乎是功能最强大的 在后面很多的例子中 要满足的一个最重要的特性是给定序列的元素相互独立或至少互不相关 为此 我们来考虑两个非常简单的测试 散点图 scatterplots 和Durbin Watson测试 需要指出的是给定序列的性质适用于完整的 全周期 序列 如果只用到序列的一部分 则性质不再存在 27 散点图 所谓散点图就是x i 1 与x i 的函数关系图 它表示了随机数发生器经验式的质量指标 本例中所考虑的两个随机数发生器定义如下 28 可以验证是全周期的m 2048 c 1 seed 1 defaultvaluesofmandca1 65 a2 1229 multipliervaluesix1 seed ix2 seed initializealgorithmx1 zeros 1 m x2 zeros 1 m initializearraysfori 1 mix1 rem ix1 a1 c m x1 i ix1 m ix2 rem ix2 a2 c m x2 i ix2 m endsubplot 1 2 1 y1 x1 1 2 m x1 1 1 plot x1 y1 plotresultsfora1subplot 1 2 2 y2 x2 1 2 m x2 1 1 plot x2 y2 plotresultsfora2 29 30 Durbin Watson测试 Durbin Watson独立性测试可以通过计算如下Durbin参数来完成 其中X n 是一个零均值 zero mean 随机变量 4 下面会讲到当D值在2附近时 X n 和X n 1 相关性很小 31 Durbin Watson测试 为了说明Durbin Watson测试的性质 假设和相关并且是一个遍历性过程 为了简化记号 假设N足够大 使得N N 1 式 7 19 可写成 7 20 由假定X n 和X n 1 相关 可令 其中X和Z不相关 是X和Y的相关系数 注意 X Y和Z有相同的方差 用 表示 将式 7 21 代入式 7 20 得 32 X和Z不相关且均值为零 所以中间项等于零 由于和方差相同 所以有 因为 Durbin参数在0与4之间 且有 0时D 2 D0表示 值为负 以下的MATLAB函数计算Durbin参数值 33 functionD durbin x N length x lengthofinputvectory x mean x removedcydiff y 2 N y 1 N 1 numeratorsummandNum sum ydiff ydiff numeratorfactorofDDen sum y y denominatorfactorofDD Num Den Durbinfactor 34 例7 6本例将计算例7 5中讨论到的两个噪声发生器的值 m 2048 c 1 seed 1 a1 65 a2 1229 ix1 1 ix2 1 x1 zeros 1 m x2 zeros 1 m fori 1 mix1 rem ix1 a1 c m x1 i ix1 ix2 rem ix2 a2 c m x2 i ix2 endD1 c7 Durbin x1 D2 c7 Durbin x2 calculateDurbinparametersrho1 1 D1 2 rho2 1 D2 2 calculatecorrelationtext1 ThevalueofD1is num2str D1 andrho1is num2str rho1 text2 ThevalueofD2is num2str D2 andrho2is num2str rho2 disp text1 disp text2 35 c7 LCDemo2ThevalueofD1is1 9925andfho1is0 0037273 ThevalueofD2is1 6037andrho2is0 19814 36 最低标准 表明给定LCG能通过各种随机性的统计测试 以便彻底测试它的质量 这是一项首要任务 对于产生长的序列来说更是如此 为了部分地解决这个问题 多种算法被确定为最低标准 Minimumstandard 算法 最低标准算法具有以下性质 全周期 能通过所有适用的随机性统计测试 易于从一台计算机移植到另一台计算机如果使用一个最低标准算法 不用担心算法本身的正确性 但必须保证在给定计算环境下算法得到正确的实现 编程时要特别注意的是 由算法产生的所有的数都要能唯一地表示出来 37 Lewis Goodman和Miller最低标准 其中m是Mersenne素数231 1 这个值最初由Lehmer推荐使用 很容易在32位的计算机以上以整型运算实现 如果尾数超过31位 则以浮点运算实现 38 Wichmann Hill算法 希望获得一些具有长周期的随机数发生器 要构造具有长周期的波型 一个行之有效的办法是将几个周期相差很小的周期波型相加 Cos2 1 t的周期是1s Cos2 1 0001 t的周期是1000 10001s 略小于1s 两者的复合波形可写成如下形式 其周期为10000s或约合2 78个小时 复合波形的一个周期内 第一个分量经过10000个周期 第二个分量经过10001个周期 还可再添加更多的分量 39 可以将同样的方法用于LCG 即把几个周期相差不大的随机数发生器合成在一起 Wichmann Hill算法可能是最有名的一个合成随机数发生器的例子 该算法用到的三个分量发生器 定义如下 7 26 7 28 40 这三个分量发生器都是全周期发生器 它们合成得到输出为 41 Wichmann Hill算法等于价于乘性LCG 它的倍数为模数为 显然 m不是素数 周期小于m 1 周期近似为7 1012 尽管小于m 但仍然很长 Wichmann Hil

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论