- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
移动通信系统仿真——标准C实现的利与弊
http://28 /28hua
摘 要
本文介绍采用标准C语言搭建BPSK、QPSK、16QAM、OFDM基带移动通信仿真系统的原理和实现,深刻揭示了使用标准C语言进行移动通信系统仿真的优势和弊端,认为虽然标准C具有运行速度快和占用内存小的优点,但是缺乏科学计算库,抽象层次低,内存管理复杂,并发严重依赖操作系统,在语言层面和标准库没有对多线程的直接支持,不适合进行模型的快速构建和理论验证。本系统除C语言标准库外仅仅依赖第三方库FFTW3,程序采用高内聚、低耦合的模块化程序设计思想进行设计,代码重用率高,具有较强的可扩展性和可重用性。
本文所有仿真系统模仿香农经典通信系统模型,即点对点通信,不涉及网络通信。信道模型包含高斯噪声信道和瑞利信道。系统仿真的结果是误比特率曲线,通过比较不同调制方法的误比特率曲线,分析其抗噪声、抗衰落性能。
关键字:BPSK QPSK 16QAM OFDM 标准C
简介
各种调制方法简介
BPSK
BPSK即二进制相移键控,采用相位相反的正弦载波表示0和1。
S
QPSK
BPSK的一个符号代表一个比特,即Rs=Rb,在QPSK中,一个符号代表两个比特,即
16QAM
对于BPSK和QPSK,每种信号的能量或者振幅是相同的,对于16QAM可以有三种能量或振幅的信号。OFDM星座图中的点也采用格雷码表示,某点与距离其最近的点的汉明距离最小。
OFDM
BPSK、QPSK、16QAM都只有一路载波,而OFDM采用多路相互正交的子载波,子载波的频率间隔Δf=1/Ts,Ts
BER、SNR和E
BER:误比特率,即 错误比特数
SNR:信噪比
SNR=
SNRdb
SNR
EbN0
RbB
P
EbN0db :
E
在编程实现中,假设各种调制系统的发送信号平均每比特能量相同且为Eb,假设码元发送速率已知且Rb=2B,通过改变Eb
σ
假设Eb=1,
标准C回顾
为使用C语言进行系统仿真,必须深入理解C语言语法,其中最重要的是数组与指针。
在C的世界里,数组和指针都是基本数据类型。指针变量中存放的是某段内存空间的起始地址,指针的类型暗示指针做自加运算时偏移的字节数。当数组作为函数参数或者函数返回值或者赋值给指针时,数组被隐式转换为指针,丢失数组大小信息。
局部变量存储在栈上,局部变量离开其作用域时,内存不能再被访问。举例,函数体内不加static关键字定义的数组作为返回值返回,此返回值赋值给指针,试图使用指针访问之前在函数体内定义的数组将会发生错误,因为此数组在栈上分配,栈上内存在函数结束时被计算机回收。为使函数体内分配的内存具有跨函数的生命周期,采用动态内存分配或者static关键字修饰,前者灵活但不易编程,后者编程方便但所分配内存直到程序结束才释放。
系统模型
对于BPSK、QPSK、16QAM、OFDM仿真系统,编程实现由易到难,但简单仿真系统的子模块经常可以复用到复杂仿真系统,并且简单仿真系统可以为复杂仿真系统提供设计思路。
本文从最简单的BPSK仿真系统开始,规定各种仿真系统平均每比特能量Eb=1。首先生成0/1伪随机序列,对于基带仿真系统,不考虑高频正弦载波,因此使用1表示比特1,使用-1表示比特0。然后模拟信道传输,添加噪声(和衰落),如果发送x,噪声β,则接收y=x+β,如果衰落α,则接收
对于QPSK仿真系统,由于QPSK系统的星座图有四个点,每个点离原点距离相同,故能量相同,又因为Es=2E
00→-1-1, 01→-11, 10→1-1, 11→11
并且采用格雷编码使汉明距离最小的码相邻。
对于16QAM仿真系统,Rs=4Rb,星座图包括十六个点,离远点距离有三类,分别用a,b,c表示 abc,令
a
由方形QAM系统星座图的特点易得 a=25, b=2, c=65,因此x轴和y轴的投影长度只有
0, 0, 0, 0-x1, y1 0, 0, 0, 1-x2, y1 0, 0, 1, 0-x1, y2 0, 0, 1, 1-x2, y2
0, 1, 0, 0-x1, -y1 0, 1, 1, 0-x1, -y2 0, 1, 0, 1-x2, -y1 0, 1, 1, 1-x2, -y2
1, 0, 0, 0--x1, y1 1, 0, 1, 0--x1, y2 1, 0, 0, 1--x2, y1 1, 0, 1, 1--x2, y2
1, 1, 0, 0--x1,-y1 1, 1, 0, 1--x2,-y1 1, 1, 1, 0--x1,-y2 1, 1, 1, 1--x2,-y2
其中x1=y1=25,x2=y2=3
对于OFDM系统,本次仿真产生伪随机
文档评论(0)