基于FPGA的通信应用实战实验项目设计Verilog代码

基于FPGA的通信应用实战实验项目设计Verilog代码《通信应用实战》实验目录实验目录11第一节:内容:1. 理解通信的基本常识;2. 深入了解香农定理,理解目前主流通信;3. 熟悉M序列;1.1通

欢迎大家来到IT世界,在知识的湖畔探索吧!

《通信应用实战》

基于FPGA的通信应用实战实验项目设计Verilog代码

实验目录

基于FPGA的通信应用实战实验项目设计Verilog代码

实验目录11

第一节:

内容:

1. 理解通信的基本常识;

2. 深入了解香农定理,理解目前主流通信;

3. 熟悉M序列;

1.1通信基础

通讯:以无线电作为载体传播信息的过程;

通信:信息(有价值下东西,在计算机里就是有用的数据)传播过程;

基于FPGA的通信应用实战实验项目设计Verilog代码

解析式图

1.1.1信号编码

1. 信源编码

将原始码元编码成一串二进制数,主要有2种,其一压缩信息,模数转换,核心就是提高通信效率。

常用的编码方式有Huffman编码算术编码、L-Z编码,以及PCM。

2. 信道编码ECC

位了能够提高信息传播可靠性,一般通信会对原始信息码元进行编码,我们习惯性叫做差错控制。

基于FPGA的通信应用实战实验项目设计Verilog代码

信道编码ECC

1.1.2 通信同步

任何通信时设备之间通过载体进行信息交互,必须保持同步,直观点说就是信源和宿主之间保持通信一致,常见的有基于握手,FPGS,卫星同步;

1.1.3数据结构

我们有效信息常见的有语音,视频,文字等,一般在传递的时候通过包或者帧等形式传播;

1.1.4带宽

通信快慢我们一般时通过带宽表示,单位时bit/s,反应通信速率,吞吐量。

1.1.5通信障碍

1. 距离:

解决大距离的方式就是通过卫星传播,卫星通信被称为目前主流通信技术之一;

2. 速率:
对于短距离通信,我们希望速度更快,电信号没有光信号速率,因为我们将是电信号转化位光信号,提高速率,光纤通信被称为目前主流通信技术之一;

3. 抗干扰性

信号在传播的时候都会遇到其他噪声干扰,根据香农定理,我们可以通过信号展宽频谱的方式,对原始信号进行扩频,扩频通信被称为目前主流通信技术之一;

1.2 扩频概述

信息通过信号传播,信号信号在频域表现形式如下:

基于FPGA的通信应用实战实验项目设计Verilog代码

通过图1.2可以看出B2>B1,按照香农定理,B2对应的信号抗干扰性更强

1.2.1香浓定理

基于FPGA的通信应用实战实验项目设计Verilog代码

香农定理概述

通过香浓定理可以看出当C的值固定的时候,S/N值越小,增大B值,理论上B值越大信号的抗干扰性越强;

1.2.2扩频方式

1. 直扩(DSSS)

将原始信号调制到B值较大的信号上;

2. 跳频与线性调制(FHSS 和 CSS)

每个码元T时间段内随机改变一次频率。

基于FPGA的通信应用实战实验项目设计Verilog代码

跳频与线性调制

1. 跳时(THSS)

和跳频扩频类似,跳时是发射信号在时域(时间轴)上的跳变。因为在时域上压缩了传输时间,则相应的频谱宽度也扩展了;

1.3m序列

m序列能够用于扩频的伪随机序列,也叫PN序列,它是周期性的序列。

1.3.1m序列数学模型与电路结构

数学模型如下:

=0 (n表示阶)

基于FPGA的通信应用实战实验项目设计Verilog代码

电路结构示意图

基于FPGA的通信应用实战实验项目设计Verilog代码

代码概述

1.3.1m序列特性

1. 周期性

m序列周期序列,周期是2n-1;

2. 均衡性

均衡特性(平衡性)m序列每一周期中 1 的个数比 0 的个数多 1 个;

3. 游程

M序列中,状态“0”或“1”连续出现的段称为游程。游程中“0”或“1”的个数称为游程长度。m序列的一个周期(p=2^n-1)中,游程总数为 2*n-1,“0”、“1”各占一半。

4. 移位可加性

将2个等价相异的m序列模2运算所得到的m序列与原m序列等价相异;

5. 自相关性

所有等价相异的m序列自相关;

1.3.2实战练习

基于FPGA的通信应用实战实验项目设计Verilog代码

实验概述

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

integer fid;

initial fid =$fopen( “ m_gen.dat” );

always @()

if(…)

$fdisplay( fid,”%b” ,mreg[30:0]);

always @()

if(…)

$fclose( fid);

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/35571.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信