综合课程设计报告CDMA部分含FPGA-verilog代码_第1页
综合课程设计报告CDMA部分含FPGA-verilog代码_第2页
综合课程设计报告CDMA部分含FPGA-verilog代码_第3页
综合课程设计报告CDMA部分含FPGA-verilog代码_第4页
综合课程设计报告CDMA部分含FPGA-verilog代码_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 项目背景1.1 CDMA原理及背景简介CDMA是码分多址的英文缩写(Code Division Multiple Access),它是在数字技术的分支一一扩频通信技术上发展起来的一种崭新的无线通信技术。CDM技术的原理是扩频技术,即将需传送的具有一定信号带宽信息数据,用一个带宽远大于信 号带宽的高速伪随机码(GOLD?)进行调制,使原数据信号的带宽被扩展,再经载 波调制并发送出去。接收端使用完全相同的伪随机码,与接收的带宽信号作相关处 理,把宽带信号换成原信息数据的窄带信号即解扩,以实现信息通信。码分多址(CDMA技术是扩频通信技术在多用户通信系统中的应用,其利用了扩频 序列的编码正交

2、可分性, 使得多个用户信号可以在同一媒介、 同一频率、 同一时间内 传输。每一路码分信号, 都是经过扩频调制的信号, 每一路码分信道都分配了独特的 扩频序列。扩频通信的主要特征是它们的频带宽度B比信息速率R大得多,通过扩频得到扩频增益,用于抵抗各种干扰。因此就CDM本身的优势而言,CDM拥有无与伦比 的巨大潜力。扩频通信技术、码分多址技术和同步技术是 CDM的关键技术,通过CDM数字 基带发射系统的研究更进一步了解 CDM数字基带系统的过程,加深对CDM的扩频 通信技术和码分多址技术的理解,加深对 CDMA系统的理解。同时,我们可以知道 CDM敍术为什么得以快速发展。本项目的重点集中于应用FP

3、GA来实现CDM数字基带系统发射系统,并在此基 础上实现接收系统,具体讲就是将信号进行扩频、GOLD?调制、基带求和、再进行并/ 串转换,在接收端进行解扩和解调,还原出初始发送的数据,其中利用的载波 调制技术室2PSK技术,解调利用相干解调。1.2 FPGA在通信领域的巨大作用21 世纪是一个数字化的世纪, 数字信号处理在新的世纪中有着广泛的应用, 信 息高速公路、移动通信、自动化系统都采用了数字信号处理技术。单片机系统,虽然在一定程度上满足了部分需要,但是由于它的速度和数据处理能力非常有限,不能满足现代数字系统数据的高速率的要求。近几年发展起来的 FPGA技术,满足了这种需求,FPGA功能上

4、比早期的PLD更加强大,主要有编程方 式方便先进,并且拥有较高的工作频率,像 Altera的Cyclone的EP1C3系列,其 工作频率就有40MHZ此外,硬件描述语言 Verilog HDL在编写风格上与C语言十 分的接近,所以FPGA技术不仅可以完成单片机所不能完成的指标,而且更具有灵 活性。这种基于EDA技术的芯片正在成为电子系统设计的主流。此外,FPGA还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编 程来修改。因此,FPGA技术的应用前景非常广阔。FPGA勺发展不断满足当今电子工业的快速发展, 随着集成电路的设计规模日益 增大,复杂程度日益增高,FPGA

5、勺出现和发展大大改变了传统的系统设计方法,这 种方法使得电子系统设计变得更加简单方便、灵活快速。第二章CDMA系统简介CDM技术的基础是扩频通信。扩频:用来传输信息的信号带宽远远大于信息本 身带宽的一种传输方式,频带的扩展由独立于信息的扩频码来实现,与所传信息数 据无关,在接收端用同步接收实现解扩和数据恢复。如下图,我们可以知道CDMA系统的基本原理和TDMA FDMA勺区别。CDMA、TDMA FDMA:匕较扩频通信的理论基础就是著名的香农定理:'7 C訂曲(七)这个公式表明,在高斯信道中当传输系统的信号噪声功率比S/N下降时,可用增加系统传输带宽W的办法来保持信道容量C不变。对于任

6、意给定的信号噪声功率 比,可以用增大传输带宽来获得较低的信息差错率。正因为这个原因,扩频通信具 有比较强的抗噪声干扰的能力。CDM技术是以扩频通信为基础的载波调制和多址接 入技术,所以如何实现扩频部分对于整个 CDM系统的实现有着重要的影响。2.1 CDMA系统的关键技术扩频技术是CDM系统的基础,在扩频系统中,常使用伪随机码来扩展频谱,伪随 机码的特性,如编码类型、长度、速度等在很大程度上决定了扩频系统的性能,如抗 干扰能力、多址能力、码捕获时间。因此要实现扩频部分,关键就是如何选择一个比 较好的方法来实现Ph码产生器。而实现Ph码产生器的难点就是实现其同步,即在接收端进行解扩所用的Ph码和

7、接 收到的信号在发送时所用的PN码是同步的,这是扩频技术中的难点。CDM系统要求接 收机的本地伪随机码与接收到的Ph码在结构、频率和相位上完全一致,否则就不能正 常接收所发送的信息,接收到的只是一片噪声。若实现了收发同步但不能保持同步, 也无法准确可靠地获取所发送的信息数据。因此,pr码序列的同步是CDM通信扩频模块的关键技术。但是要真正成为一种商业应用的通信系统,还有很多技术问题需要解 决,本文暂不做考虑。2.2 CDMA系统的基本结构CDMA技术是以扩频通信为基础的载波调制和多址接入技术,所以如何实现扩频 部分对于整个CDMA系统的实现有着重要的影响。 下图是标准的CDMA系统的基本原 理

8、图:信源编码4扩频调制*上变频亠放大发生器-6 -信号经信源编码后成为数字信号,经过纠错编码、卷积编码和交织等相关处理后送入调制器中,利用Ph码发生器产生的高速PN码将数字信号变成码片,使得信号的传 输带宽远大于信号本身的带宽以实现扩频通信,同时,为了使信号的传输与信道特性相匹配,必须用载波发生器产生的载波去调制扩频信号。使其频率变为适合信道传愉 的射频频段,将数字信号调制成模拟信号后通过放大器发射出去。 在接收端,利用下 变频器将射频信号还原成中频信号,采用与发射端相同的信号处理技术再将信号还原 成原始信号,从而达到数据通信传输的目的。下面是我们根据标准的CDM通信系统设计的我们系统中的发射

9、机框图:用户NF面是我们系统的接收机框图:整体的FPG设计的CDM通信系统如下:第三章 基于FPGA的CDMA系统设计及仿真分析FPGA是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于 70年代单片机的发明和使用。可以毫不夸张的讲,FPGA能完成任何数字器件的功能。在PCB完成以后,还可以利用FPGA勺在线修改能力,随时修改设计而不必改 动硬件电路。使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。FPGA勺这些优点使得FPGA技术在90年代以后得到飞速的发展, 同时也大大推动了 EDA软件和硬件描述语言的进步。本设计主要利用了FPGA及Ver

10、ilog HDL语言来设计CDMA数字基带发送接收系统。4.1 FPGA通信系统设计的注意点对于通信系统的建模,除了外围的模拟电路的设计是整个大系统需要考虑外, 更重要的是针对纯数字部分的输入、输出接口信号的要求,进行细致的研究。对于 数字通信系统,对于不同的 Verilog HDL来建模有着不同的效果。一般对于选择什么方法来进行数字通信的建模,从以下几个方面讨论研究27:可行性的影响对于以FPGA通用芯片为目标器件的建模和设计,受到输入信号性质的限制, 对于一些速度要求较高的通信系统,由于现行的FPGAB标器件的限制,无法使用。因此对于通信系统的Verilog HDL建模的可行性应在设计系统

11、方案做充分考虑。 可靠性分析对于通信系统来说,实现系统的可靠性指标是 Verilog HDL建模的难点,这一 点与实现硬件电路是相似的,用硬件描述语言,实现系统功能,有许多方法,实现 建模的方法也可以不同,有时不同的建模风格和方式,可以得到相同的设计结果和 相近的可靠性能,同时,对于组合逻辑电路来说,设计的可靠性,还要考虑组合逻 辑电路的竞争和冒险现象和硬件延时问题。效率的影响系统效率的因素包括芯片资源的优化,软件程序运行的速度等。从软件设计方 面考虑,采用并行方式比串行运行方式运行速率高。在FPGA设计,合理的引脚定义也是很重要的。一个好的引脚定义可以充分利用芯片资源,而一个不好的引脚定 义

12、可能造成芯片资源的巨大浪费,甚至布线失败。总的来讲,通信系统的性能可以根据公式来计算,采用波形级的仿真或通过硬 件构成样机及进行测量来评估。对于数字通信系统的Verilog HDL建模,其建模效果最终要经过一定方式的检验和评估,而检验的结果反过来促进其建模或程序设计 的改进与完善。4.2 CDMA系统分模块简介、代码及仿真亠发射机分频器模块:module clk_div(clk_in,rst_n,clk_out );parameter cnt_top=10; clk_in/clk_out=cnt_top parameter width=4;parameter duty=50;cnt<=0

13、;else if(cnt=(cnt_top-1) cnt<=0;elsecnt<=cnt+1'b1;end-14 -input clk_in; input rst_n;output clk_out;reg clk_out;reg width-1:0cnt;always(posedge clk_in or negedge rst_n) beginif(!rst_n)always(posedge clk_in or negedge rst_n) beginif(!rst_n)clk_out<=0;else if(cnt<(cnt_top*duty)/100) clk

14、_out<=1;elseclk_out<=0;endendmoduleinclk0inst12pll100Minclk0 f requency : 10.000 MHzOperati on Mode: NormalClkRatioPh (dg)DC (%)c02/10.0050.00Cy clone II(PLL模块产生2倍频信号ROM的读取时钟)仿真以输入的20M时钟分频得到10K数据信道串行传输时钟为例,可见设计完全正确:9mblA'四路用户GOLD序列产生模块(通过 ROM寻址):MATLAB 代码:clc;clear all;hgld = comm.GoldSequ

15、ence('FirstPolynomial',7 3 0,.'SecondPolynomial', 7 3 2 1 0,.'FirstlnitialConditions', 0 0 0 0 0 0 1,. 'SecondlnitialConditions', 0 0 0 0 0 0 1,. 'Index', 1, 'SamplesPerFrame', 127);gold1= step(hgld);hgld = comm.GoldSequence('FirstPolynomial',7

16、 3 0,.'SecondPolynomial', 7 3 2 1 0,. 'FirstlnitialConditions', 0 0 0 0 0 0 1,.'SecondInitialConditions', 0 0 0 0 0 0 1,. 'Index', 2, 'SamplesPerFrame', 127);gold2= step(hgld);hgld = comm.GoldSequence('FirstPolynomial',7 3 0,.'SecondPolynomial'

17、, 7 3 2 1 0,.'FirstInitialConditions', 0 0 0 0 0 0 1,. 'SecondInitialConditions', 0 0 0 0 0 0 1,. 'Index', 3, 'SamplesPerFrame', 127);gold3= step(hgld);hgld = comm.GoldSequence('FirstPolynomial',7 3 0,.'SecondPolynomial', 7 3 2 1 0,.'FirstInitialCo

18、nditions', 0 0 0 0 0 0 1,.'SecondInitialConditions', 0 0 0 0 0 0 1,. 'Index', 4, 'SamplesPerFrame', 127);gold4= step(hgld);其设计参数如下:0 0 D 0 0 0 1JFirstPolyncnial; 1 3 01Firsl InlllaLCon.di'tIons:SecondFolyiioinial:Secondln it ialCond it ions:Index: 1Shift: 0S amp lesPe

19、rTr sine: 127Eeset Input Port; f als-?OuctputB a4: alype:' doublef利用quartus的ROM表存储MATLAB生成的周期为127的gold序列,如下:AMr*a<3币+Fn1000c011001站110161100011192410111fl113a101*03101QIQ-Ml3Q11ftC11閱00a001M1D1i100a720Q10110Q64DiGa0c0i闘3f101c0卿口11i11口IMJQ101o081123cct103(10 1曲111最终四路gold序列如下所示:以一路仿真得到的gold码为例

20、,如下图所示:hnn_rnjinn_noruinnjiniLTLnru并串转换模块:modulebeginpar2ser2(clk,rst,in,out,stat,num,flags,bug);/parallel tocase(cnt)serial2'b00:out=in0;2'b01:out=in1;input clk,rst;input 3:0in;2'b10:out=in2;2'b11:out=in3; default:out=in0;output out,stat,num,flags,bug;reg out,stat,num,flags,bug;endc

21、ase endreg1:0cnt;endalways (posedge clk or negedge rst)always (posedge clk)beginif(!rst) out=0;begincnt=cnt+1;elseendalways (posedge elk ) beginbeginstat=inO; num=in1;flags=in2; bug=in3;endend endmodule固定一路用户数据为8'b00100110,仿真波形图如下,最下面一列为并串转换数据,倒数第二列为串行时钟,可见串行传输数据为00100110,因此串并转换设计通过。载波设置模块:reg 9

22、:0fset; reg9:0temp;频率设置小模块:module freq_set(clk,rst,fset);input clk,rst;output 9:0fset;always (posedge clk or negedge rst)beginif(!rst)fset=64;elsebeginif(!rst)beginadr=0;endelsebegin adr=adr+fset;endendendmoduletemp=fset; fset=temp+temp; end正弦波选址(DDS )小模块:module cos_adr(clk,rst,adr,fset); /cos frequ

23、ency and its setinput clk,rst;input 9:0fset;output 9:0adr;reg 9:0adr;always (posedge clk or negedge rst)beginun sig ned_cos_1024_8q7.0address9.0clockinst18 Block ty pe: AUTO正弦波幅度步进小模块:module amp_set(clk,sysclk,rst,in,out);input sysclk,clk,rst;input 7:0in;output 7:0out;reg 7:0out;reg 3:0 cnt;always (

24、posedge sysclk or negedge rst) beginif(!rst) out=in;beginif (in>127)out=127+(in-127)/cnt;/positiveelse out=127-(127-in)/cnt; /negetiveendendalways (posedge clk or negedge rst)beginif(!rst) cnt=1;else cnt=cnt+1;endelseendmodulePSK调制模块:module pskmod(clk,rst,seq,in,out);out=0;elseinput clk,rst,seq;i

25、nput 7:0 in;beginif(seq) out=in;output 7:0 out;reg 7:0 out;else out=in; endalways (posedge clk or negedge rst)endbeginif(!rst)endmodule仿真得到的2PSK调制波形如下:可以看出在数据零一跳变点处波形相位发生180度突变,2PSK设计正确。AWGN信道模拟10dB噪声数据:MATLAB 代码:clc;clear all;y=round(wgn(1,1024,20);for i=1:1024if y(i)<0y1(i)=-y(i);elsey1(i)=y(i)

26、;endendout=dec2bin(y1,8);噪声波形如下:40其统计数据如下:Value Count Percent0343.32%1797.71%2838.11%3969.38%4868.40%5646.25%6676.54%7585.66%8595.76%9626.05%10535.18%11474.59%12383.71%13262.54%14313.03%15242.34%16201.95%17161.56%18151.46%19121.17%20111.07%2170.68%2280.78%2350.49%2440.39%2540.39%2640.39%2830.29%2920.20%3020.20%3110.10%3210.10%3510.10%3610.10%亠接收机相干解调模块:乘法器输出过滤波,然后对输出符号位进行相关判决,得到解调出来的串行零一数据,最终仿 真得到的串行接收数据如下:tLhjsr-ni_rr-L_ri厂一.I'J uTlimnLrin"Utt 出一一.rirjunjinca_iLA:drJinnrn rnnnrswn_一o_rnrr_rji_nlLUDj iLi firT其中seq_t

温馨提示

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

评论

0/150

提交评论