




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于FPGA的通信系统高斯噪声生成与仿真摘要31系统概述42随机信号生成52.1随机信号原理概述52.2随机信号的生成方法62.3M序列产升起的Verilog HDL描述与实现83高斯噪声生成器103.1高斯噪声的原理概述103.2生成高斯白噪声103.3高斯噪声生成器114高斯噪声的输出145总结与展望146参考文献157附录15摘要系统以Altera公司的FPGAEP1C3T144C8为核心模块,辅以D/A转换器和线性放大器等外围电路组成,生成了一个2Vp-p的随机信号来仿真实际链路上的噪声。本高斯噪声生成器提出了一种基于 FPGA 的高斯白噪声序列的快速产生方案,包含M序列生成模块、高斯噪声生成模块、D/A转化模块以及放大与滤波模块等几个模块。该方案采用了M序列生成技术、查找表技术,适合在 FPGA 中实现。该方法实现简单,快速且占用的硬件资源少,而且采用 Verilog HDL 语言编写,可移植性强。 此外,通过外围的放大和滤波电路,可以灵活控制噪声的幅度。关键字FPGA(现场可编程逻辑门阵列)高斯噪声随机信号M序列生成AbstractThe system take Altera Corporations FPGA-EP1C3T144C8 as the core module, with D / A converter and a linear amplifier as the composition of the external circuit to generate a 2Vp-p random signal to simulate the noise on the actual link. This Gauss noise generator proposed one fast method based on the FPGA to generate white Gauss noise sequence. This method uses the M sequence production technology and the search table technology, suitably realizes in FPGA. This method realizes simply, fast, and takes the fewer hardware sources, moreover uses Verilog HDL compilation, has stronger portability. In addition, through the external filter and amplifier circuit, you can control the noise nimbly.KeywordFPGA(Field Programmable Gate Array), Gauss noise, Random signal, M Sequence Generation引言在通信和控制系统中,高斯白噪声是很常见的噪声信号,因此需要利用高斯白噪声信号源测试和检验系统的抗干扰性能。同时,在研究无线通信信道特性时,也常常需要高斯白噪声信号源。所以设计实现一个结构简单、性能可靠的高斯白噪声信号源,对系统检测和理论研究都有非常必要的意义。目前,很多高斯白噪声源是在微处理器和DSP等软件系统上实现的,因为它们通过使用函数库可以方便的计算出正弦和指数函数。但是与软件仿真相比,利用硬件仿真器可以大幅提高仿真速度。现有的硬件高斯噪声发生器通常分为物理噪声发生器和数字合成噪声发生器两类。虽然物理噪声发生器精度较高,但是实现电路较为复杂,所以在工程中更多的选用数字式噪声发生器。本设计提出一种基于FPGA的高斯白噪声发生器。与传统方法不同,设计采用一种直接的查找表技术,利用正态分布的可加性获得高斯白噪声随机数,与其他发生器相比,具有速度快、利用率高和结构简单的特点。同时,用户可通过该发生器的串行接口对其进行参数配置,大大提高了噪声发生器的灵活性。本系统采用Verilog HDL编程设计,因此易于移植,可作为功能模块嵌入其他系统中进行测试仿真。1 系统概述本系统以FPGA为核心,辅以D/A转换器和模拟放大器等外围电路,生成了一个2Vp-p的随机信号来仿真实际链路上的噪声。系统结构如图2-1所示。本噪声生成器可大体分为M序列生成器模块、高斯噪声生成器模块、D/A转换器模块以及模拟线性放大器模块。其中,M序列生成器模块与高斯噪声生成器模块是基于FPGA利用Verilog HDL描述实现。M序列生成器利用的作用是生成周期为1023的10位伪随机码,利用10级线性移位寄存器加反馈生成。在线性反馈移位寄存器中每隔 1个同步时钟输出一个状态值作高斯噪声生成器的地址。高斯噪声生成器的作用是根据M序列生成器生成的M序列生成高斯噪声向量,利用M序列的周期特性可降低高斯白噪声任意两个不同时刻的采样信号的相关性。设计利用了查找表技术,其LPM_ROM存储了1024个高斯噪声数值,高斯噪声生成器根据M序列生成器的10位伪随机码,在LPM_ROM内查表生成高斯噪声数值输出到D/A转换器。D/A转换器的作用是将FPGA生成的高斯噪声由数字信号转换成模拟信号。在经过线性放大器将模拟信号线性放大到2Vp-p并经过模拟滤波单元滤波输出。下面详细描述系统各结构的原理与实现。图表 1-1噪声生成器系统构成图2 随机信号生成2.1 随机信号原理概述通信过程中遇到的信号,通常总带有某种随机性,即他们的某个或某几个参数不能预知或不能完全预知。我们把这种具有随机性的信号称为随机信号。随机信号的统计特性是通过它的概率分布或数字特征加以表述的,在通信系统中常用的随机信号,其概率密度函数介绍如下:1) 在(a,b)间服从均匀分布的随机变量的概率密度函数为:公式 2-1 均匀随机变量概率密度函数2) 正态分布的随机变量的概率密度函数为:公式 2-2 正态分布概率密度函数服从参数()的正态分布记为N()。当=1且=0时的分布成为标准的正态分布,记为N(0,1)。3) 瑞利分布的随机变量的概率密度函数为公式 2-3瑞利分布概率密度函数4) 指数分布的随机变量的概率密度函数为:公式 2-4指数分布概率密度函数上述为随机变量的概率密度函数,为生成能够一个随机变量来仿真实际链路的噪声,系统设计选择高斯白噪声。2.2 随机信号的生成方法白噪声是一种随机过程,它的瞬时值服从正态分布,功率谱在很宽频带内都是均匀的,且具有极其优良的自相关特性。但对白噪声进行放大、检测、同步等具有技术上的困难,只能用具有类似于带限白噪声统计特性的伪随机码信号来逼近它。本系统采用m序列实现伪随机码。由于数字精度有限,数字高斯白噪声发生器实际上产生的是伪随机数,具有一定的周期性。但只要周期足够长,就能满足实际工程的需要。M序列是最长线性移位寄存器序列,是由移位寄存器加反馈后形成的,其结构可以用n次多项式来表示:公式 2-5 M序列n次多项式N级线性移位寄存器的码周期N = 2n - 1,上式叫做特征多项式。N级线性移位寄存器产生的序列是否是m序列,与其多项式有密切关系,可以证明产生M序列的多项式必须是不可约多项式的本原多项式。M序列的自相关函数满足公式2-6。公式 2-6 M序列自相关函数将M序列的自相关函数经过傅立叶变换可得到它的功率谱,其功率谱可由公式2-7表示。公式 2-7 M序列功率谱表达式由M序列功率谱表达式可得:1) M序列的功率谱为离散谱;2) 功率谱包络为,每个分量的功率为周期N成反比;3) 直流分量与N2成反比,N越大,直流分量越小,载漏越小;4) 带宽有码元宽度Tc决定,Tc越小,码元速率越高,带宽越宽;5) 增加M序列长度N,减小码元宽度Tc,将使谱线加密,谱密度降低,更接近于理想噪声。一般的M序列可以用带有反馈的移位寄存器来实现,用移位寄存器实现M序列如图2-2所示。由于图中的线性移位寄存器带有反馈,因此在以为线性脉冲作用下,移位寄存器各级的状态不断变化,通常移位寄存器的最后一级输出。图表 2-2 n级线性移位寄存器输出序列是一个周期序列,其特性有移位寄存器的级数、初始状态、反馈逻辑以及时钟速率(决定码元输出宽度)所决定。当移位寄存器的级数及时钟一定时,移位寄存器输出全0序列,为了避免这种情况,需设置全0排除电路。可以用多项式来描述线性反馈移位寄存器的反馈连接状态:公式 2-8 线性反馈移位寄存器n次多项式若该n次多项式满足下列条件:1) 为既约多项式(即不能分解因式的多项式);2) 可整除xp + 1,p=2n-1;3) 除不尽xq + 1,qp。则称其为本原多项式。有了M序列的生成多项式,就可以很容易的给出M序列的生成框图。2.3 M序列产生器的Verilog HDL描述与实现通过上面的M序列原理分析可以看出,实际上M序列发生器的核心部分就是带有反馈的移位寄存器,而且应该注意的是,要避免移位寄存器进入全零的死循环状态。该模块的核心是线性反馈移位寄存器。由于生成序列的周期至少要1000,所以需要10为反馈移位寄存器,210 1=1023。其功能要求如清单2-1所示。清单2-1 M序列产生器的功能要求 有10个移位寄存器组成,共用一个时钟(上升沿触发); 同步清零; 同步清零后延时一个时钟寄存器开始输出; 特征方程是x10+x3+1;反馈系数为10010000001; 清零时寄存器组初始状态赋值为1000000000; 生成的M序列周期为1023;根据上述功能介绍,M序列发生器的对外接口信号如清单2-2所示。清单2-2 M序列发生器的对外接口信号 输入系统时钟信号Clk,每个时钟移位寄存器都会进行一次移位,码产生单元产生一位伪随机码; 输入的系统全局置零信号Clr,当Clr信号有效时,所有的寄存器清零; 全局使能信号En 产生的伪随机码m_out。清单2-2是一个M序列发生器的Verilog HDL描述,其综合时间戳如图2-3所示,其综合结果如图2-4所示,仿真时序图如图2-5所示。清单2-3 M序列发生器的Verilog HDL描述module m_generator(Clk,m_out,En,Clr);inputClk; /输入系统时钟inputEn; /全局使能信号inputClr; /输入的系统全局置零信号output9:0m_out;/产生的m序列reg 9:0 register;/用来产生伪码的移位寄存器assignm_out9:0 = register9:0;输出M序列always (posedge Clk)beginif(Clr)beginregister9:0 = 10b1000000000;/全局置位信号有效的时候,将移位寄存器的初始值赋值到移位寄存器endelse if (En = 1)beginregister9:0 = register0+register4,register9:1;/这里根据生成多项式来安排endendendmodule图表 2-3 综合时间戳图表 2-4综合结果图表 2-5 时序仿真波形结果3 高斯噪声生成器3.1 高斯噪声的原理概述高斯噪声是一种具有正态分布(也称作高斯分布)概率密度函数的噪声,在任选瞬时值中任取n个,其值按n个变数的高斯概率定律分布。换句话说,高斯噪声的值遵循高斯分布或者它在各个频率分量上的能量具有高斯分布。它被及其普遍地应用为用以产生加成性高斯白噪声(AWGN)的迭代白噪声。其概率密度函数可以表示为公式2-2。高斯噪声完全由其时变平均值和两瞬时的协方差函数来确定,若噪声为平稳的,则平均值与时间无关,而协方差函数则变成仅和所考虑的两瞬时之差有关的相关函数,它在意义上等效于功率谱密度。高斯噪声可以是大量独立的脉冲所产生的,从而在任何有限时间间隔内,这些脉冲中的每一个脉冲值与所有脉冲值的总和相比都可忽略不计。3.2 生成高斯白噪声系统采用查找表技术实现高斯白噪声的输出,高斯噪声生成器以LPM_ROM为核心,以M序列为地址,输出高斯白噪声向量。高斯白噪声的定义为,如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。我们可以利用Matlab来计算出高斯白噪声的值,Matlab中两个函数可以实现高斯白噪声向量的输出。一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。清单3-1为产生高斯白噪声向量的Matlab程序。清单3-1 产生高斯噪声向量的Matlab脚本程序x=wgn(1023,1,20);%生成1023行1列的20dBm高斯白噪声向量y=x*512/max(x);%向量的归一化s=round(y);%向量由浮点数变为整数for i=1:1023 if s(i,1)0 s(i,1)=abs(s(i,1)+512;%向量负数转换为补码值 endends=0;s;%将向量增至1024列S=reshape(s,8,128);%将向量转化成8行128列的矩阵S=S;%将向量转秩,变为128行8列,便于复制到高斯生成器的.mif文件中。采用查找表技术实现高斯白噪声的输出,首先要添加LPM_ROM模块。添加时需要.mif文件配置LPM_ROM的内容。清单3-2为.mif文件内容。清单3-2 LPM_ROM模块配置内容WIDTH=10;/数据输出宽度为10比特DEPTH=1024;/LPM_ROM中包含1024个数据单元ADDRESS_RADIX=UNS;DATA_RADIX=UNS;CONTENT BEGIN/对应数据0 : 0;1 : 23;2 : 761;3 : 196;1021 : 686;1022 : 107;1023 : 129;END;这样就添加了一个数据输出宽度为10bit,1024个数据单元的LPM_ROM。其内容即为高斯白噪声的数值向量。3.3 高斯噪声生成器高斯噪声生成器的作用是根据M序列生成器生成的M序列生成高斯噪声向量。需要周期至少1000。其功能要求如清单3-3.清单3-3 高斯噪声生成器设计要求 产生10bit的高斯噪声向量,周期为1023; 与M序列同步复位,避免M序列进入全零死循环; 与M序列生成器同步全局输出使能;根据上述功能介绍,高斯噪声生成器对外接口信号应该如清单3-4所示。清单3-4 高斯噪声生成器对外接口信号 10位输入信号,有M序列生成器给出,作为LPM_OUT的查询地址; 输入系统时钟信号Clk,每个时钟高斯噪声生成器都会根据地址输入查询到一个高斯噪声数值并输出; 输入的系统全局置零信号Clr; 全局使能信号En 产生的高斯噪声Guass_out。创建Block Diagram/Scheme File,添加LPM_ROM模块,模块包含上述接口信号,模块配置内容如清单3-2所示。高斯噪声生成器需要M序列生成器产生的M序列作为LPM_ROM的查询地址。综合结果如图表3-1所示,时间戳如图表3-2所示,时序仿真图如图表3-3所示。图表 3-1 高斯噪声生成器综合结果图表 3-2 高斯噪声生成器的综合时间戳图表 3-3 高斯噪声生成器时序仿真4 高斯噪声的输出高斯噪声生成的高斯白噪声序列需要经过D/A转换器和线性放大器、模拟滤波器获得2Vp-p的高斯白噪声。为了提高量化精度,必须提高DA转换的位数;另一方面,为了提高带宽,必须提高DA转换的采样速率。在本设计中D/A转换器可以采用10位单通道D/A转换器DAC900,最高采样速率为200MHz,输出为Iout与-Iout同时输出外围的放大单元。对于任意变量进行线性的组合是不会改变变量本身的概率分布特性的,而仅仅改变随机变量的值,对于噪声来讲也就是仅仅改变了噪声的强度。因此为了测量系统在不同信噪比条件下的性能,设计了线性放大单元来实现这个功能。本系统将DAC900单通道D/A转换器输出的Iout与-Iout,通过运算放大器OPA680输出2Vp-p的高斯白噪声。电路拓扑图如图4-1所示。图表 4-1 高斯噪声输出与放大电路拓扑图此外,为了噪声的输出与被测设备适配,同时也为了防止测试过程出现不可控制的带宽外的噪声干扰,信号还要经过模拟滤波单元以使信号更好地输出。5 总结与展望6 参考文献【1】 郑亚民 董小舟 VHDL与Verilog HDL比较学习及建模指导北京:国防工业出版社,2008.6【2】 樊昌信 张甫翎 徐炳祥 吴成轲 通信原理(第5版) 北京:国防工业出版社,2003.9【3】 姜宇柏 黄志强 通信收发信机的Verilog实现与仿真 北京:机械工业出版社,2006.10【4】 谭会生 瞿遂春 EDA技术综合应用实例与分析 西安:西安电子科技大学出版社,2004.11【5】 黄本雄 侯洁 胡海高斯白噪声发生器在FPGA中的实现 J 微计算机信息,2007,7-2:165-167【6】 尹中秋 石春和 陈明生 刘树中 FPGA的可调参数白噪声与高斯白噪声生成器 J 火力与指挥控制 2008,33-8:109-111【7】 肖振宇 金德鹏 曾烈光 通信系统仿真中关于噪声的分析与研究 J 通信技术,2009,42-04:38-40【8】 李昌利 沈玉利 通信系统仿真中的随机信号生成方法 广东海洋大学学报 2007,27-6:74-767 附录清单7-1 M序列发生器的Verilog HDL描述module m_generator(Clk,m_out,En,Clr);inputClk; /输入系统时钟inputEn; /全局使能信号inputClr; /输入的系统全局置零信号output9:0m_out;/产生的m序列reg 9:0 register;/用来产生伪码的移位寄存器assignm_out9:0 = register9:0;输出M序列always (posedge Clk)beginif(Clr)beginregister9:0 = 10b1000000000;/全局置位信号有效的时候,将移位寄存器的初始值赋值到移位寄存器endelse if (En = 1)beginregister9:0 = register0+register4,register9:1;/这里根据生成多项式来安排endendendmodule清单7-2 产生高斯噪声向量的Matlab脚本程序x=wgn(1023,1,20);%生成1023行1列的20dBm高斯白噪声向量y=x*512/max(x);%向量的归一化s=round(y);%向量由浮点数变为整数for i=1:1023 if s(i,1)0 s(i,1)=abs(s(i,1)+512;%向量负数转换为补码值 endends=0;s;%将向量增至1024列S=reshape(s,8,128);%将向量转化成8行128列的矩阵S=S;%将向量转秩,变为128行8列,便于复制到高斯生成器的.mif文件中。清单7-3 LPM_ROM模块配置内容WIDTH=10;/数据输出宽度为10比特DEPTH=1024;/LPM_ROM中包含1024个数据单元ADDRESS_RADIX=UNS;DATA_RADIX=UNS;CONTENT BEGIN/对应数据0 : 0;1 : 23;2 : 761;3 : 196;1021 : 686;1022 : 107;1023 : 129;END;清单7-4 FPGA中M序列生成模块与高斯噪声生成模块timescale 1 ps / 1 ps/ synopsys translate_onmodule Guass_rom (aclr,address,clken,clock,q);input aclr;input9:0 address;input clken;input clock;output9:0 q;wire 9:0 sub_wire0;wire 9:0 q = sub_wire09:0;altsyncramaltsyncram_comp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 使用农药安全管理制度
- 供暖公司冬季管理制度
- 供水客服大厅管理制度
- 供热公司市场管理制度
- 供热运营安全管理制度
- 供电项目储备管理制度
- 便民中心智能设备管理制度
- 保健设备维修管理制度
- 保安公司内务管理制度
- 保安培训财务管理制度
- 2025年高考河北卷物理真题(解析版)
- 2025春季学期国开电大本科《经济学(本)》一平台在线形考(形考任务1至6)试题及答案
- 三基考试试题及答案护士
- 2025年乡村振兴战略相关知识考试题及答案
- 哈尔滨市第九中学校2024-2025学年高二下学期期中地理试卷
- CJ/T 315-2009城市市政综合监管信息系统监管案件立案、处置与结案
- 辽宁邮政招聘笔试题库2025
- 中国多式联运发展报告2024-交通运输部规划研究院
- 二手房砸墙合同协议书
- 2025春国开《创业基础》形考任务1-4答案
- 《电力设施保护》课件
评论
0/150
提交评论