基于MATLAB的OFDM的仿真

合集下载

基于Matlab平台的OFDM系统仿真分析

基于Matlab平台的OFDM系统仿真分析
基于Matlab平台的OFDM系统仿真 分析
目录
01 引言
03 系统仿真分析
02 预备知识 04 优化与改进
引言
正交频分复用(OFDM)技术是一种广泛应用于无线通信领域中的多载波调制 技术。它凭借高谱效率、抗多径干扰能力强和频谱利用率高等优点,在4G、5G等 通信系统中扮演着关键角色。本次演示将基于Matlab平台,对OFDM系统进行仿真 分析,探究其应用优势、存在问题以及未来发展方向。
(1)抗多径干扰能力强:由于OFDM技术将高速数据流分散到多个子载波上 传输,即使某些子载波受到干扰,也不会对整个系统造成太大影响。
(2)频谱利用率高:OFDM技术通过相邻子载波之间的正交性,允许不同用 户在同一频段上同时传输数据,从而提高了频谱利用率。
(3)适用于多用户通信:OFDM技术可以与多用户接入技术相结合,实现多 个用户在同一频段上同时传输数据,提高系统整体性能。
2、OFDM系统存在的问题和不足
尽管OFDM系统具有诸多优点,但在实际应用中仍存在一些问题和不足:
(1)对信道模型的准确性要求较高:如果信道模型不准确,将导致系统性 能下降,甚至出现通信中断。
(2)易受频率偏移影响:OFDM系统对频率偏移较为敏感,即使微小的频率 偏移也会导致子载波之间的正交性破坏,从而导致系统性能下降。
(3)实现复杂度较高:OFDM系统涉及到的计算量和复杂性较其他通信系统 要高,尤其是在处理高速数据流时,需要更高的计算能力和更高效的算法。
优化与改进
针对上述问题和不足,本次演示提出以下优化和改进方案:
1、信道模型估计与跟踪
在OFDM系统中,信道模型估计与跟踪是一个重要环节。通过采用准确的信道 模型,可以有效提高系统抗多径干扰能力和频谱利用率。在实际应用中,可以采 用基于导频的训练序列法、基于循环前缀的训练序列法等信道估计方法,并通过 对训练序列进行优化设计,提高信道估计准确性。

基于MATLAB的MIMO-OFDM通信系统的仿真

基于MATLAB的MIMO-OFDM通信系统的仿真

基于MATLAB的MIMO-OFDM通信系统的仿真0 引言5G技术的逐步普及,使得我们对海量数据的存储交换,以及数据传输速率、质量提出了更高的要求。

信号的准确传播显得越发重要,随之而来的是对信道模型稳定性、抗噪声性能以及低误码率的要求。

本次研究通过构建结合空间分集和空间复用技术的MIMO信道,引入OFDM 技术搭建MIMO-OFDM 系统,在添加保护间隔的基础上探究其在降低误码率以及稳定性等方面的优异性能。

1 概述正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)技术通过将信道分成数个互相正交的子信道,再将高速传输的数据信号转换成并行的低速子数据流进行传输。

该技术充分利用信道的宽度从而大幅度提升频谱效率达到节省频谱资源的目的。

作为多载波调制技术之一的OFDM 技术目前已经在4G 中得到了广泛的应用,5G 技术作为新一代的无线通信技术,对其提出了更高的信道分布和抗干扰要求。

多输入多输出(Multi Input Multi Output,MIMO)技术通过在发射端口的发射机和接收端口的接收机处设计不同数量的天线在不增加频谱资源的基础上通过并行传输提升信道容量和传输空间。

常见的单天线发射和接收信号传输系统容量小、效率低且若出现任意码间干扰,整条链路都会被舍弃。

为了改善和提高系统性能,有学者提出了天线分集以及大规模集成天线的想法。

IEEE 806 16 系列是以MIMO-OFDM 为核心,其目前在欧洲的数字音频广播,北美洲的高速无线局域网系统等快速通信中得到了广泛应用。

多媒体和数据是现代通信的主要业务,所以快速化、智能化、准确化是市场向我们提出的高要求。

随着第五代移动通信5G 技术的快速发展,MIM-OFDM 技术已经开始得到更广泛的应用。

本次研究的MIMO-OFDM 系统模型是5G的关键技术,所以对其深入分析和学习,对于当下无线接入技术的发展有着重要的意义。

基于MATLAB的OFDM系统仿真及分析

基于MATLAB的OFDM系统仿真及分析

基于MATLAB的OFDM系统仿真及分析OFDM(正交频分复用)是一种广泛应用于无线通信系统中的多载波调制技术。

在OFDM系统中,信号被分为多个独立的子载波,并且每个子载波之间正交。

这种正交的特性使得OFDM系统具有抗频率选择性衰落和多径干扰的能力。

本文将基于MATLAB对OFDM系统进行仿真及分析。

首先,我们需要确定OFDM系统的参数。

假设我们使用256个子载波,其中包括8个导频符号用于信道估计,每个OFDM符号的时域长度为128个采样点。

接下来,我们需要生成调制信号。

假设我们使用16QAM调制方式,每个子载波可以传输4个比特。

在MATLAB中,我们可以使用randi函数生成随机的比特序列,然后将比特序列映射为16QAM符号。

生成的符号序列可以通过IFFT(Inverse Fast Fourier Transform)将其转换为时域信号。

OFDM系统的发射端包括窗函数、导频符号插入、IFFT和并行到串行转换等模块。

窗函数用于增加OFDM符号之间的过渡带,导频符号用于信道估计和符号同步。

通过将符号序列与导频图案插入到OFDM符号序列中,然后进行IFFT变换,再进行并行到串行转换即可得到OFDM信号的时域波形。

接下来,我们需要模拟OFDM信号在信道中传输和接收。

假设信道是Additive White Gaussian Noise(AWGN)信道。

在接收端,OFDM信号的时域波形通过串行到并行转换,然后进行FFT(Fast Fourier Transform)变换得到频域信号。

通过在频域上对导频符号和OFDM信号进行正交插值,可以进行信道估计和等化。

最后将频域信号进行解调,得到接收后的比特序列。

通过比较发送前和接收后的比特序列,我们可以计算比特误码率(BER)来评估OFDM系统的性能。

比特误码率是接收到错误比特的比特数与总传输比特数之比。

通过改变信噪比(SNR)值,我们可以评估OFDM系统在不同信道条件下的性能。

基于MATLAB的OFMD仿真实验-OFDM系统设计1

基于MATLAB的OFMD仿真实验-OFDM系统设计1

GI, TG (frac of TU)
24.6%
SubC 1K/2K
spacing/Hz
(子载波间隔)
4K/8K
1⁄4, 1⁄32
​1⁄8,
​1⁄16,

1⁄4, 1⁄32
​1⁄8,
​1⁄16,

1⁄4,
​1⁄6,
​1⁄9
4, 464 1, 116
4,464, 2,232, 1,116
2,000
1/128, 1/32, 1/16, 19/256, 1/8, 19/128, 1/4.
(CFO):
f
f
tx c
f
rx c
Doppler Shift (多普勒偏移)
CFO Estimation & Compensation
(先估计出偏移然后补偿,然后就可以消除频偏CFO实现同步)
Time/Frequency Synchronization
Find the start point of OFDM symbols (ISI free) CFO Estimation & Compensation (ICI free)
Noise Figure
SNR -- Signal to Noise Ratio -- 信噪比
Tx/Rx process of OFDM system
Time Synchronization
(时间同步)
Inter-symbol Interference (ISI)
N
N
N
Find the start point of OFDM symbols
Physical Layer System Design

基于MATLAB的OFDM的仿真

基于MATLAB的OFDM的仿真

一、实习目的1、熟悉通信相关方面的知识、学习并掌握OFDM技术的原理2、熟悉MATLAB语言3、设计并实现OFDM通信系统的建模与仿真二、实习要求仿真实现OFDM调制解调,在发射端,经串/并变换和IFFT变换,加上保护间隔(又称“循环前缀”),形成数字信号,通过信道到达接收端,结束端实现反变换,进行误码分析三、实习内容1.实习题目《正交频分复用OFDM系统建模与仿真》2.原理介绍OFDM的基本原理就是把高速的数据流通过串并变换,分配到传输速率相对较低的若干个子信道中进行传输。

由于每个子信道中的符号周期会相对增加,因此可以减轻由无线信道的多径时延扩展所产生的时间弥散性对系统造成的影响。

并且还可以在OFDM符号之间插入保护间隔,令保护间隔大于无线信道的最大时延扩展,这样就可以最大限度地消除由于多径而带来的符号间干扰(ISI)。

而且,一般都采用循环前缀作为保护间隔,从而可以避免由多径带来的子载波间干扰((ICI) 。

3.原理框图图1-1 OFDM 原理框图4.功能说明4.1确定参数需要确定的参数为:子信道,子载波数,FFT长度,每次使用的OFDM符号数,调制度水平,符号速率,比特率,保护间隔长度,信噪比,插入导频数,基本的仿真可以不插入导频,可以为0。

4.2产生数据使用个随机数产生器产生二进制数据,每次产生的数据个数为carrier_count * symbols_per_carrier * bits_per_symbol。

4.3编码交织交织编码可以有效地抗突发干扰。

4.4子载波调制OFDM采用BPSK、QPSK、16QAM、64QAM4种调制方式。

按照星座图,将每个子信道上的数据,映射到星座图点的复数表示,转换为同相Ich和正交分量Qch。

其实这是一种查表的方法,以16QAM星座为例,bits_per_symbol=4,则每个OFDM符号的每个子信道上有4个二进制数{d1,d2,d3,d4},共有16种取值,对应星座图上16个点,每个点的实部记为Qch。

基于MATLAB实现 OFDM的仿真

基于MATLAB实现 OFDM的仿真
1.2.3
正交频分复用(OFDM)技术就是在频域内将给定信道分成许多正交子信道,在每个子信道上使用一个子载波进行调制,并且各子载波并行传输。尽管总的信道是非平坦的,具有频率选择性,但是每个子信道是相对平坦的,在每个子信道上进行的是窄带传输,信号带宽小于信道的相应带宽,因此大大消除了信号波形间的干扰。而且子信道的载波相互正交,一个OFDM符号包括多个经过PSK调制或QAM调制的子载波的合成信号,每个子载波的频谱相互重叠,从而又提高了频谱利用率。用N表示子载波个数,T表示OFDM符号的持续时间,di( i = 0,1 ,…, N - 1)为分配给每个子信道的数据符号,fi为第i个子载波的载波频率,从t = ts开始的OFDM符号的等效基带信号可表示为(模拟信号表示式) :
当一个OFDM符号在多径无线信道中传输时,频率选择性衰落会导致某几组子载波收到相当大的的衰减,从而引起比特错误。这些在信道频率响应的零点会造成在邻近的子载波上发射的信息受到破坏,导致在每个符号中出现一连串的比特错误。与一大串错误连续出现的情况相比较,大多数前向纠错编码(FEC,Forward Error Correction)在错误分布均与的情况下会工作得更有效。所以,为了提高系统的性能,大多数系统采用数据加扰作为串并变换工作的一部分。这可以通过把每个连续的数据比特随机地分配到各个子载波上来实现。在接收机端,进行一个对应的逆过程解出信号。这样,不仅可以还原出数据比特原来的顺序,同时还可以分散由于信号衰落引起的连串的比特错误使其在时间上近似均匀分布。这种将比特错误位置的随机化可以提高前向纠错编码(FEC)的性能,并且系统的总的性能也得到改善。
图1.3OFDM子载波频谱
这种现象可以参见图1.3,图中给出了相互覆盖的各个子信道内经过矩形波形成型得到的符号的sinc函数频谱。在每个子载波频率最大值处,所有其他子信道的频谱值恰好为零。因为在对OFDM符号进行解调过程中,需要计算这些点上所对应的每个子载波频率的最大值,所以可以从多个相互重叠的子信道中提取每一个子信道的符号,而不会受到其他子信道的干扰。从图1.3可以看出,OFDM符号频谱实际上可以满足奈奎斯特准则,即多个子信道频谱之间不存在相互干扰。因此这种一个子信道频谱出现最大值而其他信道频谱为零点的特点可以避免载波间的干扰(ICI)的出现。

基于Matlab的OFDM系统仿真

基于Matlab的OFDM系统仿真

基于Matlab的OFDM系统仿真实验名称:基于matlab的OFDM系统仿真实验原理:图1 基带OFDM系统实验目的:根据给定的参数完成OFDM信号的调制、传输和解调以及信道建模和信道估计。

主要研究噪声和循环前缀的长度对系统误码率的影响。

实验内容:包括发送端、信道和接收端三个模块。

1、发送模块进行的处理包括OFDM 信号的产生、加入循环前缀、插入训练序列和加扰等部分;2、信道模块对发射端产生的信号施加多径、频偏、相偏等影响;3、接收模块进行的处理包括去循环前缀、解调和信道估计等。

实验参数:1、 Ns=5:一个帧结构中OFDM符号的个数;2、para=40:并行传输的子载波个数;3、gl=10:设置保护时隙的长度;4、an:每条多径的幅度增益0-10dB,粒度为0.1;5、tn:时延扩展0-4us,单位为us;6、wn:频偏-100Hz-100Hz,粒度为0.1Hz;7、sita:设置相偏0-2*pi,粒度为pi/100;8、Np:插入的导频数目实验步骤:1、产生二进制信息,这个可以通过matlab中的round(rand(1,para*Ns*4))命令来实现。

产生的是一个长度为para*Ns*4的0-1序列。

由于采用的是16QAM调制,所以每四个码元调制为一个符号,因此总长度要乘以4。

2、映射:采用的是16QAM调制。

这种调制有圆形星座图和方形星座图两种,本次实验采用方形的星座图。

这一过程是通过子函数fangQAM.m来实现的,图二为方形的星座图。

16-QAM星座图-4-3-2-101234图23、串并转换、插入导频:OFDM的原理就是通过串并转换将高速传输的串行数据转换为并行传输的数据,在matlab中,串并转换是通过reshape(x,para,Ns)来实现的,将串行传输的信号x转换为para个并行传输的子数据流,每个数据流中符号的个数为Ns。

为了接收端能够进行信道估计,在发送端要在发送信号中插入导频,导频的分布模式一般分为块状导频和梳状导频两种,本次实验中插入的是块状导频,所谓的块状分布就是指导频在时域周期性的分配给OFDM符号,这种导频分布模式特别适用于慢衰落的无线信道,由于训练符号包含了所有的导频,所以在频域就不需要插值,因此这种导频分布模式对频率选择性衰落相对不敏感。

无线通信原理-基于matlab的ofdm系统设计与仿真

无线通信原理-基于matlab的ofdm系统设计与仿真

无线通信原理-基于matlab的ofdm系统设计与仿真基于matlab的ofdm系统设计与仿真摘要OFDM即正交频分复用技术,实际上是多载波调制中的一种。

其主要思想是将信道分成若干正交子信道,将高速数据信号转换成并行的低速子数据流,调制到相互正交且重叠的多个子载波上同时传输。

该技术的应用大幅度提高无线通信系统的信道容量和传输速率,并能有效地抵抗多径衰落、抑制干扰和窄带噪声,如此良好的性能从而引起了通信界的广泛关注。

本文设计了一个基于IFFT/FFT算法与802.11a标准的OFDM系统,并在计算机上进行了仿真和结果分析。

重点在OFDM系统设计与仿真,在这部分详细介绍了系统各个环节所使用的技术对系统性能的影响。

在仿真过程中对OFDM信号使用QPSK 调制,并在AWGN信道下传输,最后解调后得出误码率。

整个过程都是在MATLAB环境下仿真实现,对ODFM系统的仿真结果及性能进行分析,通过仿真得到信噪比与误码率之间的关系,为该系统的具体实现提供了大量有用数据。

- 1 -第一章 ODMF系统基本原理1.1多载波传输系统多载波传输通过把数据流分解为若干个子比特流,这样每个子数据流将具有较低的比特速率。

用这样的低比特率形成的低速率多状态符号去调制相应的子载波,构成了多个低速率符号并行发送的传输系统。

在单载波系统中,一次衰落或者干扰就会导致整个链路失效,但是在多载波系统中,某一时刻只会有少部分的子信道会受到衰落或者干扰的影响。

图1,1中给出了多载波系统的基本结构示意图。

图1-1多载波系统的基本结构多载波传输技术有许多种提法,比如正交频分复用(OFDM)、离散多音调制(DMT)和多载波调制(MCM),这3种方法在一般情况下可视为一样,但是在OFDM中,各子载波必须保持相互正交,而在MCM则不一定。

1.2正交频分复用OFDM就是在FDM的原理的基础上,子载波集采用两两正交的正弦或余弦函sinm,tcosn,t数集。

基于MATLAB的OFDM系统性能分析与仿真研究

基于MATLAB的OFDM系统性能分析与仿真研究

基于MATLAB的OFDM系统性能分析与仿真研究OFDM(正交频分复用)是一种常用于无线通信系统中的多载波调制技术。

它将一个高速数据流分成多个子载波进行同时传输,提高了频谱利用率,也减小了频域上的干扰。

本文将基于MATLAB对OFDM系统的性能进行分析与仿真研究。

首先,我们需要搭建OFDM系统的仿真模型。

OFDM系统包括信号生成、子载波调制、信道传输、接收、解调和误码分析几个主要环节。

信号生成阶段,我们可以使用伪随机码(PN码)生成器产生信号序列作为待传输的数据。

然后,将信号序列进行并行-串行转换,将其分组成多个子载波。

子载波调制阶段,我们可以选择常用的调制方式,如BPSK、QPSK等。

在MATLAB中,我们可以利用内置的调制函数进行实现。

信道传输阶段,我们可以引入AWGN(加性高斯白噪声)信道模型,模拟无线信道中的噪声干扰。

通过调整信道衰落因子、信噪比等参数,可以模拟不同的信道环境。

接收阶段,我们需要进行并行信号转换成串行信号,并进行解调操作。

对于解调部分,与调制阶段相反,我们可以使用MATLAB中的解调函数,如bpskdemod、qpskdemod等。

误码分析阶段,我们通过计算误码率(BER)来评估系统性能。

可以通过比较原始信号和接收信号之间的差异,统计错误的比特数量来计算误码率。

在进行OFDM系统的性能分析与仿真时,我们可以分析以下几个方面的内容:1.调制方式对系统性能的影响:通过比较不同调制方式(如BPSK、QPSK、16QAM、64QAM等)下的误码率,评估调制方式对系统的影响。

2.子载波数量的选择:通过改变子载波的数量,比较不同子载波数量下的误码率与频谱效率,找到最佳子载波数量。

3.信道传输对系统性能的影响:通过改变信道衰落因子、信噪比等参数,比较不同信道环境下的误码率,评估信道传输对系统性能的影响。

4.信道估计与均衡:在OFDM系统中,由于信道传输的不确定性,需要进行信道估计与均衡。

基于matlab ofdm通信系统仿真代码

基于matlab ofdm通信系统仿真代码

基于matlab ofdm通信系统仿真代码
基于MATLAB OFDM通信系统仿真代码是一种应用在无线通信领域的高
效的通信技术。

OFDM(正交分频多载波)技术是一种高效的技术,它
能够在有限的信道容量内传输大量的数据,同时也能抵御多径衰减和
多路径效应。

此外,OFDM还可以抵抗非线性干扰和伪噪声,从而提高
系统的可靠性和稳定性。

MATLAB OFDM通信系统仿真代码可以帮助我们快速验证一个OFDM系统的性能,从而帮助我们更好地理解OFDM技术
背后的原理和技术。

MATLAB OFDM通信系统仿真代码由信道模拟、OFDM调制和解调制的子
模块组成,其中每个子模块都可以通过MATLAB编程实现。

首先,我们
需要定义一个简单的信道函数,以模拟实际信道的衰减和多路径效应,然后将信号传输给OFDM调制模块,它将信号转换成OFDM调制的多载
波信号。

接着,多载波信号被发射到信道中,经过信道后,经过OFDM
解调制模块处理,得到恢复后的信号,再经过信道衰减模拟得到最终
信号,完成仿真。

通过使用MATLAB OFDM通信系统仿真代码,我们可以更有效地对OFDM
技术进行仿真评估,同时也可以获得更为准确、直观的仿真结果。

此外,MATLAB OFDM通信系统仿真代码还可以帮助我们了解OFDM技术的
具体实施方法,为实际开发工作提供有效的技术支持。

基于MATLAB的OFDM系统设计与仿真

基于MATLAB的OFDM系统设计与仿真

基于MATLAB的OFDM系统设计与仿真OFDM(正交频分复用)是一种高效的调制技术,广泛应用于无线通信系统中。

本文将基于MATLAB对OFDM系统进行设计与仿真,并介绍其主要步骤和关键技术。

首先,我们需要对OFDM系统进行建模。

OFDM系统由发送端和接收端两部分组成。

发送端主要包括数据源、调制器、IFFT以及保护间隔插入器。

接收端主要包括保护间隔删除器、FFT、解调器以及数据恢复。

在发送端,我们首先生成要传输的数据序列。

然后通过调制器将数据转换为带符号的复数序列。

接着,通过将复数序列进行IFFT,将频域数据转换为时间域信号。

在转换过程中,需要注意对数据进行零填充,以确保IFFT输出的结果长度是原始数据长度的整数倍。

最后,通过保护间隔插入器插入保护间隔,以减小信号之间的干扰。

在接收端,我们首先对接收到的信号进行保护间隔删除。

然后,通过FFT将时域信号转换为频域信号。

接着,通过解调器将复数序列转换为二进制数据。

最后,进行数据恢复,解码得到发送方发送的原始数据。

为了验证OFDM系统的性能,我们需要进行信道建模和误码率性能评估。

在信道建模中,我们可以选择多径信道模型,例如Rayleigh信道。

根据信道模型的不同,我们可以添加多径衰落和噪声等效果,从而模拟实际的信道环境。

在误码率性能评估中,我们可以通过比较接收到的数据与发送的原始数据,计算误码率。

在MATLAB中,我们可以使用信号处理工具箱和通信工具箱来实现这些功能。

信号处理工具箱提供了丰富的功能和算法,例如IFFT和FFT,用于信号处理和频谱分析。

通信工具箱则提供了OFDM系统建模和仿真所需的函数和工具,例如调制器、解调器等。

在进行OFDM系统设计与仿真时,我们可以根据不同的场景和需求进行调整和优化。

例如,可以尝试不同的调制方式、不同的子载波数量和间距,以及不同的保护间隔长度。

此外,还可以改变不同参数下的OFDM系统性能,如带宽利用率、误码率等。

总之,基于MATLAB的OFDM系统设计与仿真是一项重要的研究工作。

基于matlab的OFDM的仿真和研究

基于matlab的OFDM的仿真和研究

LOGO
第二部分:OFDM的原理
OFDM技术是一种多载波调制技术,其特点是各副载波相互正 交。设{fm}是一组载波频率,各载波频率的关系为:{fm}=f0+m/T m=0 1 2 „N-1 (1)式中,T是单元码的持续时间,f0是发送频 率。作为载波的单元信号组定义为:式中l的物理意义对应于“帧 ”(即在第l时刻有m路并行码同时发送)。其频谱相互交叠。 OFDM是由一系列在频率上等间隔的副载波构成,每个副载波数字 符号调制,各载波上的信号功率形式都是相同的。在接收端,是 个逆过程,可以解调出相应的载波,这就是OFDM的基本原理。当 传输信道中出现多径传播时,在接收副载波间的正交性将被破坏 ,使得每个副载波上的前后传输符号间以及各副载波之间发生相 互干扰。为解决这个问题,就在每个OFDM传输信号前插入一保护 间隔,它是由OFDM信号进行周期扩展而来。只要多径时延不超过 保护间隔,副载波间的正交性就不会被破坏。
LOGO
致谢
本人研究及学位论文是在我的导师余庚老师的亲切关 怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精 神,精益求精的工作作风,深深地感染和激励着我。在此谨 向余老师致以诚挚的谢意和崇高的敬意。 在此,我还要感谢在一起愉快的度过大学生活的通信 0802的同学,正是由于你们的帮助和支持,我才能克服一个 一个的困难和疑惑,直至本文的顺利完成。从开始进入课题 到论文的顺利完成,有多少可敬的师长、同学、朋友给了我 无言的帮助,在这里请接受我诚挚的谢意!最后我还要感谢 培养我长大含辛茹苦的父母,谢谢你们!
意义: OFDM利用载波间的正交性进一步提高频谱利用率,而 且可以抗窄带干扰和多径衰落。它通过多个正交的子载波将 串行的数据并行传输,可以增大码元的宽度,减少单个码元占用 的频带,抵抗多径引起的频率选择性衰落;可以有效克服码间串 扰( ISI) ,降低系统对均衡技术的要求,适用于多径环境和衰 落信道中的高速数据传输,而且信道利用率很高, 所以它对未 来的通信作用很大,对其研究和仿真能更好的体会OFDM的 各种优秀的性能。

基于MATLAB的OFMD仿真实验-OFDM基础1

基于MATLAB的OFMD仿真实验-OFDM基础1

Frequency Selective Fading
Delay spread Tm is much larger than symbol duration T
Inter-symbol interference (ISI)
同一个信息的信号由于到达目的地的路径不同,导致了到达 时间不同。也就是接收端在时间1收到第一条路径发来的该信 息,可能在时间4收到2条路径发来的该信息。假设这个信息有 这两条到达路径,那么接收端本来应该在时间1接收完所有关 于该信息的信号,结果却在时间4之后才全部收完。
Multipath channel
In wireless telecommunications, multipath is the propagation phenomenon that result in radio signals reaching the receiving antenna by two or more paths.
相干时间和相干带宽都是描述信道特性的参数,当两个发射 信号的频率间隔小于信道的相干带宽,那么这两个经过信道后 的,受到的信道传输函数是相似的,由于通常的发射信号不是 单一频率的,即一路信号也是占有一定带宽的,如果,这路信 号的带宽小于相干带宽,那么它整个信号受到信道的传输函数 是相似的,即信道对信号而言是平坦特性的,非频率选择性衰 落的。
(TM / max:最大(多径)时延扩展)
BC 1 TM
信道扩展主要可以分为三方面:多径(时延)扩展(delay spread); 多普勒扩展;角度扩展。
相干带宽(coherence bandwidth) 是描述时延扩展的:相干带宽是 表征多径信道特性的一个重要参数,它指某一特定的频率范围,在 该频率范围内任意两个频率分量都具有很强的幅度相关性。即: 在 相干带宽范围内,多径信道具有恒定的增益和线性相位。通常, 相干带宽Bc近似等于最大多径s), is roughly inversely

基于MATLAB的OFMD仿真实验-OFDM关键技术

基于MATLAB的OFMD仿真实验-OFDM关键技术

Remove short trainings
test_fine_time_sync.m
Coarse vs. Fine Time Sync
Coarse sync:
Large Range (Rc) Multiplication: 2Rc
Fine sync:
Small Range (Rf) Multiplication: Rf NL
Fine Timing Synchronization
Tx training sequence c0, c1,......, cLTB 1
Rx match filter with
c0*
,
c1*
,
......,
c* LTB
1
OFDM Signal
c0*
Tsample c1*
Tsample ……
Tsample c*
LTB 1
Start index
Max()
Fine Timing Synchronization
conj
sum
Max
Cross correlation with long training sequence
Find the maximum correlated point
CFO has been compensated
test_channel_est.m test_channel_equ.m
Zero Forcing Equalization
Phase Compensation
test_phase_track.m
做补偿:*exp(-j*Phase) 这部分可以不作为重点
freq_data [52,Nsym]
Data subcarriers freq_data_syms [48, Nsym]

毕业设计86基于Matlab的OFDM系统仿真

毕业设计86基于Matlab的OFDM系统仿真

第1章绪论正交频分复用(OFDM, Orthogonal Frequency Division Multiplexing) 是一种特殊的多载波方案,它可以被看作一种调制技术,也可以被当作是一种复用技术。

1.1研究OFDM的意义及背景现代通信的发展是爆炸式的。

从电报、电话到今天的移动电话、互联网,人们从中享受了前所未有的便利和高效率。

从有线到无线是一个飞跃,从完成单一的话音业务到完成视频、音频、图像和数据相结合的综合业务功能更是一个大的飞跃。

在今天,人们获得了各种各样的通信服务,例如,固定电话、室外的移动电话的语音通话服务,有线网络的上百兆bit的信息交互。

但是通信服务的内容和质量还远不能令人满意,现有几十Kbps传输能力的无线通信系统在承载多媒体应用和大量的数据通信方面力不从心:现有的通信标准未能全球统一,使得存在着跨区的通信障碍;另一方面,从资源角度看,现在使用的通信系统的频谱利用率较低,急需高效的新一代通信系统的进入应用。

目前,3G的通信系统己经进入商用,但是其传输速率最大只有2Mbps,仍然有多个标准,在与互联网融合方面也考虑不多。

这些决定了3G通信系统只是一个对现有移动通信系统速度和能力的提高,而不是一个全球统一的无线宽带多媒体通信系统。

因此,在全世界范围内,人们对宽带通信正在进行着更广泛深入的研究]4[。

正交频分复用(OFDM, Orthogonal Frequency Division Multiplexing) 是一种特殊的多载波方案,它可以被看作一种调制技术,也可以被当作是一种复用技术。

选择OFDM的一个主要原因在于该系统能够很好地对抗频率选择性衰落或窄带干扰。

正交频分复用(OFDM)最早起源于20世纪50年代中期,在60年代就已经形成恶劣使用并行数据传输和频分复用的概念。

1970年1月首次公开发表了有关OFDM的专利。

在传统的并行数据传输系统中,整个信号频段被划分为N个相互不重叠的频率子信道。

基于Matlab平台的OFDM系统仿真分析的开题报告

基于Matlab平台的OFDM系统仿真分析的开题报告

基于Matlab平台的OFDM系统仿真分析的开题报告一、选题背景OFDM(Orthogonal Frequency Division Multiplexing)是近年来广泛应用的一种调制技术,其使用频谱效率高、抗多路径衰落、抗干扰能力强等优点,被广泛应用于各种通信系统中。

针对OFDM调制技术在无线通信中的应用和性能评估,需要进行系统仿真分析。

二、研究内容本次论文的研究内容包括:1. Matlab平台下OFDM系统的建模和仿真,包括基带处理、载波调制、FFT等过程;2. 分析OFDM系统在不同信道下的性能表现,如在高斯噪声信道、多径衰落信道等情况下的误码率;3. 研究OFDM系统的调制解调技术,包括采用不同的调制方式,如QPSK、16QAM、64QAM等;4. 研究OFDM系统的同步技术,包括频率同步、时间同步等;5. 研究OFDM系统的信道均衡技术。

三、研究方法本论文采用Matlab平台进行OFDM系统的建模与仿真,并基于仿真结果进行性能分析。

具体方法包括:1. 将OFDM调制技术进行数学建模;2. 在Matlab中编写程序实现OFDM调制与解调、均衡、同步等过程;3. 进行OFDM系统仿真,并记录仿真结果,如误码率等性能参数;4. 对仿真结果进行分析与总结,验证OFDM系统在不同场景下的性能表现;5. 进一步研究OFDM系统中关键技术的性能特点和参数调整方法等。

四、进度计划1. 第一周:确定选题,完成文献调研和分析;2. 第二周:在Matlab平台建立OFDM系统建模,并编写相关代码;3. 第三周:对OFDM系统进行基础仿真,记录并分析性能结果;4. 第四周:加入多路径衰落信道因素,进行OFDM性能分析;5. 第五周:研究OFDM调制解调技术,分别采用QPSK、16QAM、64QAM调制方式,分析性能表现;6. 第六周:研究OFDM系统同步技术,包括频率同步、时间同步等;7. 第七周:研究OFDM系统的信道均衡技术;8. 第八周:进行总结和撰写论文。

基于MATLAB的OFMD仿真实验-OFDM基础

基于MATLAB的OFMD仿真实验-OFDM基础

Always integer number of periods for each subcarriers during the duration of an OFDM symbol.
OFDM插入保护间隔消除ISI和ICI的具体分析专题
一、基本概念
我们已经知道,OFDM是通过给每一个OFDM符号插入一个保护 间隔的方法去消除ISI和ICI的。这里先来澄清几个概念。
transmit during the guard interval(GI), so that there are always integer number of periods for each subcarriers during the duration of an OFDM symbol T. T TGI TFFT
这样以来,我们发现插入保护间隔后,只要保护间隔长度大于 信号最大时延,那么因为多径时延造成的ISI基本就可以消除。当 然,实现这一理论的前提是,解调端解调信号时把保护间隔忽略 掉,并不把他当成是有效信号的成分。
换句话说,保护间隔长度大于信道的最大多径时 延,这样一个OFDM的多径分量就不会对下一个 OFDM符号构成干扰。下一个符号因为是以保护间隔 开头,之后才是真实数据,它不会受到上一个符号 的影响,因为上一个符号的一部分都会落在保护间 隔内。所以,积分区间选择从真实数据开始到结束 (落在下一个符号的保护间隔内)
至于ISI,在码元周期BD内,具有延时的第二子载波完全就是对 原第二子载波的完美复制,不会对第二子载波产生ISI影响了。所 以,ISI也被完美解决。
CP主要用来满足不同载波在同一采样间隔内的周期差为整数以 克服载波间干扰,并抗拒多径时延(故CP的长度主要取决于两个因 素,一是信道的相干时间长度,二是OFDM符号的持续时间

基于MATLAB的OFDM系统仿真及分析

基于MATLAB的OFDM系统仿真及分析

太原科技大学毕业设计(论文)基于MALTAB的OFDM系统仿真及分析姓名_______________学院(系)_______ ___专业_______________年级_______________指导教师_______________年月日基于MALTAB的OFDM系统仿真及分析摘要正交频分复用(OFDM) 是第四代移动通信的核心技术。

该文首先简要介绍了OFDM的发展状况及基本原理, 文章对OFDM 系统调制与解调技术进行了解析,得到了OFDM 符号的一般表达式,给出了OFDM 系统参数设计公式和加窗技术的原理及基于IFFT/FFT 实现的OFDM 系统模型,阐述了运用IDFT 和DFT 实现OFDM 系统的根源所在,重点研究了理想同步情况下,保护时隙(CP)、加循环前缀前后和不同的信道内插方法在高斯信道和多径瑞利衰落信道下对OFDM系统性能的影响。

在给出OFDM系统模型的基础上,用MATLAB语言实现了传输系统中的计算机仿真并给出参考设计程序。

最后给出在不同的信道条件下,研究保护时隙、循环前缀、信道采用LS估计方法对OFDM系统误码率影响的比较曲线,得出了较理想的结论。

关键词:正交频分复用;仿真;循环前缀;信道估计MATLAB Simulation and Performance Analysis of OFDM SystemABSTRACTOFDM is the key technology of 4G in the field of mobile communication. In this article OFDM basic principle is briefly introduced.This paper analyzes the modulation and demodulation of OFDM system, obtaining a general expression of OFDM mark, and giving the design formulas of system parameters, principle of windowing technique, OFDM system model based on IFFT/FFT, the origin which achieves the OFDM system by using IDFT and DFT. Then, the influence of CP and different channel estimation on the system performance is emphatically analyzed respectively in Gauss and Rayleigh fading channels in the condition of ideal synchronization. Besides, based on the given system model OFDM system is computer simulated with MATLAB language and the referential design procedure is given. Finally, the BER curves of CP and channel estimation are given and compared. The conclusion is satisfactory.KEYWORDS:OFDM; Simulation; CP; Channel estimation目录第一章概述................................................... - 1 -1.1 OFDM的发展及其现状...................................... - 2 -1.2 OFDM的优缺点............................................ - 2 - 第二章 OFDM的基本原理.......................................... - 4 -2.1基于IFFT/FFT 的OFDM 系统模型............................ - 4 -2.2 OFDM信号的频谱特性...................................... - 7 -2.3 0FDM 系统调制与解调解析................................. - 8 -2.4 加窗................................................... - 10 - 第三章循环前缀及信道估计对系统误码率的改善分析................ - 13 -3.1循环前缀................................................ - 13 -3.2 OFDM系统的峰值平均功率比............................... - 17 -3.3信道估计................................................ - 18 -3.3.1信道估计概述...................................... - 18 -3.3.2基于导频的信道估计方法............................ - 19 -3.3.3信道的插值方法.................................... - 20 -3.3.4仿真结果及分析.................................... - 21 - 结论......................................................... - 22 - 致谢......................................................... - 23 - 参考文献.................................................... - 24 - 附录......................................................... - 26 -第一章概述随着移动通信和无线因特网需求的不断增长,越来越需要高速无线系统设计,而这其中的一个最直接的挑战就是克服无线信道带来的严重的频率选择性衰落。

基于matlab ofdm通信系统仿真代码

基于matlab ofdm通信系统仿真代码

基于matlab ofdm通信系统仿真代码
OFDM通信系统仿真模拟是以正交频分复用技术(OFDM)作为主要的信号传输技术,在实现对无线信号的检测、编码、调制、叠加噤等功
能时可以通过Matlab等软件来进行模拟仿真。

仿真工作首先建立OFDM系统的信号模型,OFDM的原理是通过将
一个OFDM信号分成多个相互正交的子载波,并在每个子载波上实现移相、移幅调制,从而在信道上传输多路符号。

由于子载波之间相互正交,故可以实现多路数据同时传输,从而提高数据传输率和传输容量。

仿真建模过程中,首先根据要求确定可用的OFDM子载波数目以
及子载波的调制方式。

然后设定数据信道的配置,选择需要用到的信
道编码,这些元素将影响OFDM系统的信噪比和数据传输率。

最后定义
噪声接收,模拟噪声叠加,并实现对接收端信号的处理,存储等步骤。

通过上述步骤,系统建模工作就完成了。

之后可以使用Matlab
对模型进行仿真,看看OFDM系统表现如何。

仿真结果可以以图像的形
式显示出来,从而更好地理解传输的性能,从而有利于调整系统参数,提高系统的效率和可靠性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、实习目的1、熟悉通信相关方面的知识、学习并掌握OFDM技术的原理2、熟悉MATLAB语言3、设计并实现OFDM通信系统的建模与仿真二、实习要求仿真实现OFDM调制解调,在发射端,经串/并变换和IFFT变换,加上保护间隔(又称“循环前缀”),形成数字信号,通过信道到达接收端,结束端实现反变换,进行误码分析三、实习内容1.实习题目《正交频分复用OFDM系统建模与仿真》2.原理介绍OFDM的基本原理就是把高速的数据流通过串并变换,分配到传输速率相对较低的若干个子信道中进行传输。

由于每个子信道中的符号周期会相对增加,因此可以减轻由无线信道的多径时延扩展所产生的时间弥散性对系统造成的影响。

并且还可以在OFDM符号之间插入保护间隔,令保护间隔大于无线信道的最大时延扩展,这样就可以最大限度地消除由于多径而带来的符号间干扰(ISI)。

而且,一般都采用循环前缀作为保护间隔,从而可以避免由多径带来的子载波间干扰((ICI) 。

3.原理框图图1-1 OFDM 原理框图4. 功能说明4.1确定参数需要确定的参数为:子信道,子载波数,FFT 长度,每次使用的OFDM 符号数,调制度水平,符号速率,比特率,保护间隔长度,信噪比,插入导频数,基本的仿真可以不插入导频,可以为0。

4.2产生数据使用个随机数产生器产生二进制数据,每次产生的数据个数为carrier_count * symbols_per_carrier * bits_per_symbol 。

4.3编码交织交织编码可以有效地抗突发干扰。

4.4子载波调制OFDM 采用BPSK 、QPSK 、16QAM 、64QAM4种调制方式。

按照星座图,将每个子信道上的数据,映射到星座图点的复数表示,转换为同相Ich 和正交分量Qch 。

其实这是一种查表的方法,以16QAM 星座为例,bits_per_symbol=4,则每个OFDM 符号的每个子信道上有4个二进制数{d1,d2,d3,d4},共有16种取值,对应星座图上16个点,每个点的实部记为Qch 。

为了所有的映射点有相同高的平均功率,输出要进行归一化,所以对应BPSK,PQSK,16QAM,64QAM ,分别乘以归一化系数系数1,21, 101, 421.输出的复数序列即为映射后的调制结果。

4.5串并转换。

将一路高速数据转换成多路低速数据4.6 IFFT 。

对上一步得到的相同分量和正交分量按照(Ich+Qch*i )进行IFFT 运算。

并将得到的复数的实部作为新的Ich ,虚部作为新的Qch 。

在实际运用中, 信号的产生和解调都是采用数字信号处理的方法来实现的, 此时要对信号进行抽样, 形成离散时间信号。

由于OFDM 信号的带宽为B=N ·Δf , 信号必须以Δt=1/B=1/(N ·Δf)的时间间隔进行采样。

采样后的信号用sn,i 表示, i = 0, 1, …, N-1,则有∑-==1/2j ,,e 1N k Nik kn in SNs π从该式可以看出,它是一个严格的离散反傅立叶变换(IDFT )的表达式。

IDFT 可以采用快速反傅立叶变换(IFFT)来实现4.7加入保护间隔。

由IFFT 运算后的每个符号的同相分量和正交分量分别转换为串行数据,并将符号尾部G 长度的数据加到头部,构成循环前缀。

如果加入空的间隔,在多径传播的影响下,会造成载波间干扰ICI 。

保护见个的长度G 应该大于多径时的扩张的最大值。

保护时间FFT 积分时间子载波1延迟的子载波2OFDM 符号周期子载波2对子载波1的干扰部分图 1-2 多径情况下,空闲保护间隔在子载波间造成的干扰保护间隔保护间隔IFFT 输出IFFT IFFT时间复制T gT FFTT s符号N符号N -1符号N +14.8加窗加窗是为了降低系统的PAPR ,滚降系数为1/32。

通过这种方法,可以显著地改善OFDM 通信系统高的PAPR 分布,大大降低了峰值信号出现的概率以及对功率放大器的要求,节约成本。

经常被采用的窗函数是升余弦窗()()()()()()⎪⎩⎪⎨⎧-+++=s s s T T t T t t w βπβππcos 5.05.00.1cos 5.05.0 ()s sss s T t T T t T T t βββ+≤≤≤≤≤≤10 (1-2)图1-9 经过加窗处理后的OFDM 符号示意图4.9通过信道。

图1-3 保护间隔的插入过程信道分为多径实验信道和高斯白噪声信道。

多径时延信道直射波河延迟波对于标准时间按照固定比率递减,因此多径时延信道参数为比率和对大延迟时间。

4.10同步。

同步是决定OFDM系统高性能十分重要的方面,实际OFDM系统都有同步过称。

主要同步方法有使用导频,循环前缀,忙算法三种。

研究目的为同步的可以详细实现本步,基本的方针可以略过此步,假设接收端已经于发射端同步。

4.11去掉保护间隔。

根据同步得到的数据,分别见给每个符号的同相分量和正交分量开头的保护间隔去掉。

4.12并串转换。

将每个符号分布在子信道上的数据,还原为一路串行数据。

4.13 FFT。

对每个符号的同相分量和正交分量按照(Ich+Qch*i)进行FFT运算。

并将得到的实部作为新的Ich,虚部作为新的Qch。

与发端相类似,上述相关运算可以通过离散傅立叶变换(DFT)或快速傅立叶变换(FFT)来实现,即:∑-=-=1/π2j,,e1NiNikinknr NR4.14子载波解调FFT后的同相粉脸感和正交分量两组数据在星座图上对饮高的点,由于噪声和信道的影响,不再是严格的发送端的星座图。

将得到的星座图上的点按照最近原则判决为原星座图上的点,并按映射规则还原为一组数据。

4.15解码解交织。

按照编码交织对应解码,解交织的方法,还原为原始数据,并进行纠错处理。

4.16计算误码率。

比较第2步产生的数据和接收到的数据,计算误码率BER5.实现步骤5.1 16QAM的调制函数function [complex_qam_data]=qam16(bitdata)%modulation of 16QAM,modulate bitdata to 16QAM complex signalX1=reshape(bitdata,4,length(bitdata)/4)';d=1;%min distance of symblefor i=1:length(bitdata)/4;for j=1:4X1(i,j)=X1(i,j)*(2^(4-j));endsource(i,1)=1+sum(X1(i,:));%convert to the number 1 to 16endmapping=[-3*d 3*d;-d 3*d;d 3*d;3*d 3*d;-3*d d;-d d;d d;3*d d;-3*d -d;-d -d;d -d;3*d -d;-3*d -3*d;-d -3*d;d -3*d;3*d -3*d];for i=1:length(bitdata)/4qam_data(i,:)=mapping(source(i),:);%data mappingendcomplex_qam_data=complex(qam_data(:,1),qam_data(:,2));5.2 16QAM的解调函数。

function [demodu_bit_symble]=demoduqam16(Rx_serial_complex_symbols)%将得到的串行16QAM数据解调成二进制比特流complex_symbols=reshape(Rx_serial_complex_symbols,length(Rx_serial_complex_symbols),1); d=1;mapping=[-3*d 3*d;-d 3*d;d 3*d;3*d 3*d;-3*d d;-d d;d d;3*d d;-3*d -d;-d -d;d -d;3*d -d;-3*d -3*d;-d -3*d;d -3*d;3*d -3*d];complex_mapping=complex(mapping(:,1),mapping(:,2));for i=1:length(Rx_serial_complex_symbols);for j=1:16;metrics(j)=abs(complex_symbols(i,1)-complex_mapping(j,1));end[min_metric decode_symble(i)]= min(metrics) ; %将离某星座点最近的值赋给decode_symble(i)enddecode_bit_symble=de2bi((decode_symble-1)','left-msb');demodu_bit_symble=reshape(decode_bit_symble',1,length(Rx_serial_complex_symbols)*4);5.3加窗函数function [rcosw]=rcoswindow(beta, Ts)%定义升余弦窗,其中beta为滚降系数,Ts为包含循环前缀的OFDM符号的长度,Ts为正偶数t=0:(1+beta)*Ts;rcosw=zeros(1,(1+beta)*Ts);for i=1:beta*Ts;rcosw(i)=0.5+0.5*cos(pi+ t(i)*pi/(beta*Ts));endrcosw(beta*Ts+1:Ts)=1;for j=Ts+1:(1+beta)*Ts+1;rcosw(j-1)=0.5+0.5*cos((t(j)-Ts)*pi/(beta*Ts));endrcosw=rcosw';%变换为列向量5.4 OFDM主程序clear all;close all;carrier_count=200;%子载波数symbols_per_carrier=12;%每子载波含符号数bits_per_symbol=4;%每符号含比特数,16QAM调制IFFT_bin_length=512;%FFT点数PrefixRatio=1/4;%保护间隔与OFDM数据的比例1/6~1/4GI=PrefixRatio*IFFT_bin_length ;%每一个OFDM符号添加的循环前缀长度为1/4*IFFT_bin_length 即保护间隔长度为128beta=1/32;%窗函数滚降系数GIP=beta*(IFFT_bin_length+GI);%循环后缀的长度20SNR=15; %信噪比dB%==================================================%================信号产生===================================baseband_out_length = carrier_count * symbols_per_carrier * bits_per_symbol;%所输入的比特数目carriers = (1:carrier_count) + (floor(IFFT_bin_length/4) - floor(carrier_count/2));%共轭对称子载波映射复数数据对应的IFFT点坐标conjugate_carriers = IFFT_bin_length - carriers + 2;%共轭对称子载波映射共轭复数对应的IFFT点坐标baseband_out=round(rand(1,baseband_out_length));%输出待调制的二进制比特流%==============16QAM调制====================================complex_carrier_matrix=qam16(baseband_out);%列向量complex_carrier_matrix=reshape(complex_carrier_matrix',carrier_count,symbols_per_carrier)';%s ymbols_per_carrier*carrier_count 矩阵figure(1);plot(complex_carrier_matrix,'*r');%16QAM调制后星座图title('16QAM调制后星座图')axis([-4, 4, -4, 4]);grid on%=================IFFT===========================IFFT_modulation=zeros(symbols_per_carrier,IFFT_bin_length);%添0组成IFFT_bin_length IFFT 运算IFFT_modulation(:,carriers ) = complex_carrier_matrix ;%未添加导频信号,子载波映射在此处IFFT_modulation(:,conjugate_carriers ) = conj(complex_carrier_matrix);%共轭复数映射%================================================================= signal_after_IFFT=ifft(IFFT_modulation,IFFT_bin_length,2);%OFDM调制即IFFT变换time_wave_matrix =signal_after_IFFT;%时域波形矩阵,行为每载波所含符号数,列ITTF点数,N个子载波映射在其内,每一行即为一个OFDM符号%===========================================================%=====================添加循环前缀与后缀====================================XX=zeros(symbols_per_carrier,IFFT_bin_length+GI+GIP);for k=1:symbols_per_carrier;for i=1:IFFT_bin_length;XX(k,i+GI)=signal_after_IFFT(k,i);endfor i=1:GI;XX(k,i)=signal_after_IFFT(k,i+IFFT_bin_length-GI);%添加循环前缀endfor j=1:GIP;XX(k,IFFT_bin_length+GI+j)=signal_after_IFFT(k,j);%添加循环后缀endendtime_wave_matrix_cp=XX;%添加了循环前缀与后缀的时域信号矩阵,此时一个OFDM符号长度为IFFT_bin_length+GI+GIP=660%==============OFDM符号加窗========================================== windowed_time_wave_matrix_cp=zeros(1,IFFT_bin_length+GI+GIP);for i = 1:symbols_per_carrierwindowed_time_wave_matrix_cp(i,:) = real(time_wave_matrix_cp(i,:)).*rcoswindow(beta,IFFT_bin_length+GI)';%加窗升余弦窗end%========================生成发送信号,并串变换==================================================windowed_Tx_data=zeros(1,symbols_per_carrier*(IFFT_bin_length+GI)+GIP);windowed_Tx_data(1:IFFT_bin_length+GI+GIP)=windowed_time_wave_matrix_cp(1,:);for i = 1:symbols_per_carrier-1 ;windowed_Tx_data((IFFT_bin_length+GI)*i+1:(IFFT_bin_length+GI)*(i+1)+GIP)=windowed_ti me_wave_matrix_cp(i+1,:);%并串转换,循环后缀与循环前缀相叠加end%=======================================================Tx_data=reshape(windowed_time_wave_matrix_cp',(symbols_per_carrier)*(IFFT_bin_length+GI +GIP),1)';%加窗后循环前缀与后缀不叠加的串行信号%================================================================= temp_time1 = (symbols_per_carrier)*(IFFT_bin_length+GI+GIP);%加窗后循环前缀与后缀不叠加发送总位数figure (2)subplot(2,1,1);plot(0:temp_time1-1,Tx_data );%循环前缀与后缀不叠加发送的信号波形grid onylabel('Amplitude (volts)')xlabel('Time (samples)')title('循环前后缀不叠加的OFDM Time Signal')temp_time2 =symbols_per_carrier*(IFFT_bin_length+GI)+GIP;subplot(2,1,2);plot(0:temp_time2-1,windowed_Tx_data);%循环后缀与循环前缀相叠加发送信号波形grid onylabel('Amplitude (volts)')xlabel('Time (samples)')title('循环前后缀叠加的OFDM Time Signal')%===============加窗的发送信号频谱================================= symbols_per_average = ceil(symbols_per_carrier/5);%符号数的1/5,10行avg_temp_time = (IFFT_bin_length+GI+GIP)*symbols_per_average;%点数,10行数据,10个符号averages = floor(temp_time1/avg_temp_time);average_fft(1:avg_temp_time) = 0;%分成5段for a = 0:(averages-1)subset_ofdm = Tx_data(((a*avg_temp_time)+1):((a+1)*avg_temp_time));%利用循环前缀后缀未叠加的串行加窗信号计算频谱subset_ofdm_f = abs(fft(subset_ofdm));%分段求频谱average_fft = average_fft + (subset_ofdm_f/averages);%总共的数据分为5段,分段进行FFT,平均相加endaverage_fft_log = 20*log10(average_fft);figure (3)subplot(2,1,2)plot((0:(avg_temp_time-1))/avg_temp_time, average_fft_log)%归一化0/avg_temp_time : (avg_temp_time-1)/avg_temp_timehold onplot(0:1/IFFT_bin_length:1, -35, 'rd')grid onaxis([0 0.5 -40 max(average_fft_log)])ylabel('Magnitude (dB)')xlabel('Normalized Frequency (0.5 = fs/2)')title('加窗的发送信号频谱')%====================添加噪声=================================Tx_signal_power = var(windowed_Tx_data);%发送信号功率linear_SNR=10^(SNR/10);%线性信噪比noise_sigma=Tx_signal_power/linear_SNR;noise_scale_factor = sqrt(noise_sigma);%标准差sigmanoise=randn(1,((symbols_per_carrier)*(IFFT_bin_length+GI))+GIP)*noise_scale_factor;%产生正态分布噪声序列Rx_data=windowed_Tx_data +noise;%接收到的信号加噪声%=====================接收信号串/并变换去除前缀与后缀==========================================Rx_data_matrix=zeros(symbols_per_carrier,IFFT_bin_length+GI+GIP);for i=1:symbols_per_carrier;Rx_data_matrix(i,:)=Rx_data(1,(i-1)*(IFFT_bin_length+GI)+1:i*(IFFT_bin_length+GI)+GIP);%串并变换endRx_data_complex_matrix=Rx_data_matrix(:,GI+1:IFFT_bin_length+GI);%去除循环前缀与循环后缀,得到有用信号矩阵%==============================================================% OFDM解码16QAM解码%=================FFT变换=================================Y1=fft(Rx_data_complex_matrix,IFFT_bin_length,2);%OFDM解码即FFT变换Rx_carriers=Y1(:,carriers);%除去IFFT/FFT变换添加的0,选出映射的子载波Rx_phase =angle(Rx_carriers);%接收信号的相位Rx_mag = abs(Rx_carriers);%接收信号的幅度figure(4);polar(Rx_phase, Rx_mag,'bd');%极坐标坐标下画出接收信号的星座图title('极坐标下的接收信号的星座图')%==================================================================== ==[M, N]=pol2cart(Rx_phase, Rx_mag);Rx_complex_carrier_matrix = complex(M, N);figure(5);plot(Rx_complex_carrier_matrix,'*r');%XY坐标接收信号的星座图title('XY坐标接收信号的星座图')axis([-4, 4, -4, 4]);grid on%====================16qam解调======================================= Rx_serial_complex_symbols=reshape(Rx_complex_carrier_matrix',size(Rx_complex_carrier_mat rix, 1)*size(Rx_complex_carrier_matrix,2),1)' ;Rx_decoded_binary_symbols=demoduqam16(Rx_serial_complex_symbols);%============================================================ baseband_in = Rx_decoded_binary_symbols;figure(6);subplot(2,1,1);stem(baseband_out(1:100));title('输出待调制的二进制比特流')subplot(2,1,2);stem(baseband_in(1:100));title('接收解调后的二进制比特流')%================误码率计算========================================== bit_errors=find(baseband_in ~=baseband_out);bit_error_count = size(bit_errors, 2)ber=bit_error_count/baseband_out_length5.5实验仿真结果-4-3-2-101234-4-3-2-10123416QAM 调制后星座图010002000300040005000600070008000-0.50.5A m p l i t u d e (v o l t s )Time (samples)循环前后缀不叠加的OFDM Time Signal010002000300040005000600070008000-0.50.5A m p l i t u d e (v o l t s )Time (samples)循环前后缀叠加的OFDM Time SignalM a g n i t u d e (d B )Normalized Frequency (0.5 = fs/2)加窗的发送信号频谱902701800极坐标下的接收信号的星座图-4-3-2-101234X Y 坐标接收信号的星座图00.20.40.60.8100.51误码率bit_error_count =11ber =0.0011四、参考文献[ 1 ] Erich Cosby. Orthogonal Frequency Division Multip lexing(OFDM) Tutorial and Analysis[M ]. Northern Virginia Center,2001.[ 2 ] Mingqi L i, ,Qicong Peng, Yubai L i, Performance Evaluation ofMC - DS - CDMA Systems inMultipath Fading Channels[ J ]. 0- 7803 - 7547 - 5 /02, IEEE , 2002.[ 3 ] A Peled, A Ruiz. Frequency domain data transmission usingreduced computational comp lexity algorithms[C ]. In Proc.IEEE Int. Conf. Acoust. , Speech, Signal Processing, 1980.964 - 967.[ 4 ] R van Nee. OFDM WirelessMultimedia Communications[M ].Rrasad R. Artech House, 1998.[ 5 ] 周正兰,等. OFDM及其链路级平台的Simulink实现[ J ]. 中国数据通信, 2003, (10) : 90 - 92[ 6 ] 尹泽明,等. 精通MATLAB6 [M ]. 清华大学出版社, 2002.[ 7 ] 蔡涛, 等译. 无线通信原理与应用[M ]. 电子工业出版社,1999.[ 8 ]丁玉美,等. 数字信号处理[M]. 西安电子科技大学出版社, 2003.五、实习体会本次实习的题目是《OFDM系统的建模与仿真》,对于我们通信工程各专业的学生来说这也是毕业设计的一次热身,也让我们提前走上了工作的实习岗位,为以后工作和奋斗垫上了丰厚的基石。

相关文档
最新文档