OFDM系统仿真,要比较不同调制方式下的误码率性能

OFDM系统仿真,要比较不同调制方式下的误码率性能,第1张

OFDM是一种无线环境下的高速传输技术。无线信道的频率响应曲线大多是非平坦的,而OFDM技术的主要思想就是在频域内将给定信道分成许多正交子信道,在每个子信道上使用一个子载波进行调制,并且各子载波并行传输。这样,尽管总的信道是非平坦的,具有频率选择性,但是每个子信道是相对平坦的,在每个子信道上进行的是窄带传输,信号带宽小于信道的相应带宽,因此就可以大大消除信号波形间的干扰。由于在OFDM系统中各个子信道的载波相互正交,它们的频谱是相互重叠的,这样不但减小了子载波间的相互干扰,同时又提高了频谱利用率。

OFDM技术属于多载波调制(Multi-Car?rierModulation,MCM)技术。有些文献上将OFDM和MCM混用,实际上不够严密。MCM与OFDM常用于无线信道,它们的区别在于:OFDM技术特指将信道划分成正交的子信道,频道利用率高;而MCM,可以是更多种信道划分方法。

OFDM技术的推出其实是为了提高载波的频谱利用率,或者是为了改进对多载波的调制,它的特点是各子载波相互正交,使扩频调制后的频谱可以相互重叠,从而减小了子载波间的相互干扰。在对每个载波完成调制以后,为了增加数据的吞吐量、提高数据传输的速度,它又采用了一种叫作HomePlug的处理技术,来对所有将要被发送数据信号位的载波进行合并处理,把众多的单个信号合并成一个独立的传输信号进行发送。另外OFDM之所以备受关注,其中一条重要的原因是它可以利用离散傅立叶反变换/离散傅立叶变换(IDFT/DFT)代替多载波调制和解调。

OFDM增强了抗频率选择性衰落和抗窄带干扰的能力。在单载波系统中,单或槐个衰落或者干扰可能导致整个链路不可用,但在多载波的OFDM系统中,只会有一小部分载波受影响。此外,纠错码的使用还可以帮助其恢复一些载波上的信息。通过合理地挑选子载波位置,可以使OFDM的频谱波形保持平坦,同时保证了各载波之间的正交。

OFDM尽管还是一种频分复用(FDM),但已完全不同于过去的FDM。OFDM的接收机实际上是通过FFT实现的一组解调器。它将不同载波搬移至零频,然后在一个码元周期内积分,其他载波信号由于与所积分的信号正交,因此不会对信息的提取产生影响。OFDM的数据传输速率也与子载波的数量有关。

OFDM每个载波所使用的调制方法可以不同。各个载波能够根据信道状况的不同选择不同的调制方式,比如BPSK、QPSK、8PSK、16QAM、64QAM等等,以频谱利用率和误码率之间的最佳平衡为原则。我们通过选择满足一定误码率的最佳调制方式就可以获得最大频谱效率。无线多径信道的频率选择性衰落会使接收信号功率大幅下降,经常会达到30dB之多,信噪比也随之大幅下降。为了提高频谱利用率,应该使用与信噪比相匹配的调制方式。可靠性是通信系统正常运行的基本考核指标,所以很多通信系统都倾向于选择BPSK或QPSK调制,以确保在信道最坏条件下的信噪比要求,但是这两种调制方式的频谱效率很低。OFDM技术使用了自适应调制,根据信道条件的好坏来选择不同的调制方式。比如在终端靠近基站时,信道条件一般会比较好,调制方式就可以由BPSK(频谱效率1bit/s/Hz)转化成16QAM-64QAM(频谱效率4~6bit/s/Hz),整个系统的频谱利用率就会得到大幅度的提高。自适应调制能够扩大系统容量,但它要求信号必须包含一定的开销比特,以告知接收端发射信号所应采用的调制方式。终端还要定期更新调制信息,这也会增加更多的开销比特。

OFDM还采用了功率控制和自适应调制相协调工作方式。信道好的时候,发射功率不变,可以增强调制方式(如64QAM),或者在低调制方式(如QPSK)时降低发射功率。功率控制与自适应调制要取得平衡。也就是说对于一个发射台,如果它有良好的信道,在发送功率保持不变的情况下,可使用较高的调制方案如64QAM;如果功率减小,调制方案也就可以相应降低,使用QPSK方式等。

自适应调制要求系统必须对信道的性能有及时和精确的了解,如果在差的信道上使用较强的调制方式,那么就会产生差或很高的误码率,影响系统的可用性。OFDM系统可以用导频信号或参考码字来测试信道的好坏。发送一个已知数据的码字,测出每条信道的信噪比,根据这个信噪比来确定最适合的调制方式。

在传统的多载波通信系统中,整个系统频带被划分为衫庆友若干个互相分离的子信道(载波)。载波之间有一定的保护间隔,接收端通过滤波器把各个子信道分离之后接收所需信息。这样虽然可以避免不同信道互相干扰,但却以牺牲频率利用率为代价。而且当子信道数量很大的时候,大量分离各子信道信号的滤波器的设置就成了几乎不可能的事情。

上个世纪中期,人们提出了频带混叠的多载波通信方案,选择相互之间正交的载波频率作子载波,也就是我们所说的OFDM。这种“正交”表示的是载波频率间精确的数学关系。按照这种设想,OFDM既能充分利用信道带宽,也可以避免使用高速均衡和抗突发噪声差错。OFDM是一种特殊的多载波通信方案,单个用户的信息流被串/并变换为多个低速率码流,每个码流都用一个子载波发送。OFDM不用带通滤波器来分隔子载波,而是通过快速傅立叶变换(FFT)来选用那些即便混叠也能够保持正交的波形。

OFDM是一种无线环境下的高速传输技术。无线信道的频率响应曲线大多是非平坦的,而OFDM技术的主要思想就是在频域内将给定信道分成许多正交子信道,在每个子信道上使用一个子载波进行调制,并且各子载波并行传输。这样,尽管总的信道是非平坦的,具有频率选择性,但是每个子信道是相对平坦的,在每个子信道上进行的是窄带传输,信号带宽小于信道的相应带宽,因此就可以大大消除信号波形间的干扰。由于在OFDM系统中各个子信道的载波相互正交,它们的频谱是相互重叠的,这样不但减小了子载波间的相互干扰,同时又提高了频谱利用率。

OFDM技术属于多载波调制(Multi-Car?rierModulation,MCM)技术。有些文献上将OFDM和MCM混用,实际上不够严密。MCM与OFDM常用于无线信道,它们的区别在于:OFDM技术特指将信道划分成正交的子信道,频道利用率高;而MCM,可以是更多种信道划分方法。

OFDM技术的推出其实是为了提高载波的频谱利用率,或者是为了改进对多载波的调制,它的特点是各子载波相互正交,使扩频调制后的频谱可以相互重叠,从而减小了子载波间的相互干扰。在对每个载波完成调制以后,为了增加数据的吞吐量、提高数据传输的速度,它又采用了一种叫作HomePlug的处理技术,来对所有将要被发送数据信号位的载波进行合并处理,把众多的单个信号合并成一个独立的传输信号进行发送。另外OFDM之所以备受关注,其中一条重要的原因是它可以利用离散傅立叶反变换/离散傅立叶变换(IDFT/DFT)代替多载波调制和解调。

OFDM增强了抗频率选择性衰落和抗窄带干扰的能力。在单载波系统中,单个衰落或者干扰可能导致整个链路不可用,但在多载波的OFDM系统中,只会有一小部分载波受影响。此外,纠错码的使用还可以帮助其恢复一些载波上的信息。通过合理地挑选子载波位置,可以使OFDM的频谱波形保持平坦,同时保证了各载波之间的正交。

OFDM尽管还是一种频分复用(FDM),但已完全不同于过去的FDM。OFDM的接收机实际上是通过FFT实现的一组解调器。它将不同载波搬移至零频,然后在一个码元周期内积分,其他载波信号由于与所积分的信号正交,因此不会对信息的提取产生影响。OFDM的数据传输速率也与子载波的数量有关

OFDM每个载波所使用的调制方法可以不同。各个载波能够根据信道状况的不同选择不同的调制方式,比如BPSK、QPSK、8PSK、16QAM、64QAM等等,以频谱利用率和误码率之间的最佳平衡为原则。我们通过选择满足一定误码率的最佳调制方式就可以获得最大频谱效率。无线多径信道的频率选择性衰落会使接收信号功率大幅下降,经常会达到30dB之多,信噪比也随之大幅下降。为了提高频谱利用率,应该使用与信噪比相匹配的调制方式。可靠性是通信系统正常运行的基本考核指标,所以很多通信系统都倾向于选择BPSK或QPSK调制,以确保在信道最坏条件下的信噪比要求,但是这两种调制方式的频谱效率很低。OFDM技术使用了自适应调制,根据信道条件的好坏来选择不同的调制方式。比如在终端靠近基站时,信道条件一般会比较好,调制方式就可以由BPSK(频谱效率1bit/s/Hz)转化成16QAM-64QAM(频谱效率4~6bit/s/Hz),整个系统的频谱利用率就会得到大幅度的提高。自适应调制能够扩大系统容量,但它要求信号必须包含一定的开销比特,以告知接收端发射信号所应采用的调制方式。终端还要定期更新调制信息,这也会增加更多的开销比特。

OFDM还采用了功率控制和自适应调制相协调工作方式。信道好的时候,发射功率不变,可以增强调制方式(如64QAM),或者在低调制方式(如QPSK)时降低发射功率。功率控制与自适应调制要取得平衡。也就是说对于一个发射台,如果它有良好的信道,在发送功率保持不变的情况下,可使用较高的调制方案如64QAM;如果功率减小,调制方案也就可以相应降低,使用QPSK方式等。

自适应调制要求系统必须对信道的性能有及时和精确的了解,如果在差的信道上使用较强的调制方式,那么就会产生很高的误码率,影响系统的可用性。OFDM系统可以用导频信号或参考码字来测试信道的好坏。发送一个已知数据的码字,测出每条信道的信噪比,根据这个信噪比来确定最适合的调制方式。

什么是OFDM

OFDM的英文全称为Orthogonal Fre-quency Division Multiplexing,中文含义为正交频分复用技术。这种技术是HPA联盟(HomePlug Powerline Alliance)工业规范的基础,它采用一种不连续的多音调技术,将被称为载波的不同频率中的大量信号合并成单一的信号,从而完成信号传送。由于这种技术具有在杂波干扰下传送信号的能力,因此常常会被利用在容易受外界干扰或者抵抗外界干扰能力较差的传输介质中。

其实,OFDM并不是如今发展起来的新技术,OFDM技术的应用已有近40年的历史,主要用于军用的无线高频通信系统。但是,一个OFDM系统的结构非常复杂,从而限制了其进一步推广。直到上世纪70年代,人们采用离散傅立叶变换来实现多个载波的调制,简化了系统结构,使得OFDM技术更趋于实用化。80年代,人们研究如何将OFDM技术应用于高速MODEM。进入90年代以来,OFDM技术的研究深入到无线调频信道上的宽带数据传输。目前OFDM技术已经被广泛应用于广播式的音频、视频领域和民用通信系统,主要的应用包括:非对称的数字用户环路(ADSL)、ETSI标准的数字音频广播(DAB)、数字视频广播(DVB)、高清晰度电视(HDTV)、无线局域网(WLAN)等

  起因是这样的。最近刚写完专利,脑壳巨大无比,所以想写点文章陶冶下情 *** 。但是我这个大老粗爷们也写不来言情小说,搞得我很是痛苦。我唯一会的也就只有 matlab了,, 所以写一篇文章自我陶醉一下,哈哈哈。。

  最近也是天气晴朗,雾霾飘香。最痛苦的是下周OFDM的通信系统测试。想必同学们也是脑壳比我还大,也有很多同学问我这个 OFDM咋个做哦。我也简单的说下在高斯信道下的 OFDM系统,其实也讲了讲瑞利,莱斯信道下的 OFDM。 但是不要求嘛 ,确实那个有点难。

他们我们通信就是装点宽带啊,电线啊,但是不然。我们要自奋强大,还是要懂点小常识

信源编码:着重对信号容量压缩,提高传输效率

信道编码:针对多变的信道插入冗余信息,增加传输稳定性(设计的OFDM插入的CP(循环前缀),引频信号就是冗余信息)。

信号调制:将比特流转换成稳定的波形进行传输

比如: sint  和  sin2t  为一对正交信号,因为 sint*sin2t 在区间[0,2 pi]上的积分为0.

 sint和 sin2t是用来承载信号的,我们称腊橡为子载波

加入 sint 信号传送信号a ,采用AM调制,它变为 asint

加入 sin2t信号传送信号b,采用AM调制,它变为 bsin2t

那么我们的和信号就变成 xn = asint+ bsin2t

接收a信号时候:将xn * sint 再通过[0,2pi]积分,sin2t的分量信号就变为了0,只剩下带有a的信号

接收b信号时候:将xn * sin2t 再通过[0,2pi]积分,sint的分量信号就变为了0,只剩下带有b的信号

%还不晓得的话,动一动笔写一下就明白了。 

我们将sint离散化  就变成了 sin(2*pi*Δf*K*T)  其中K = 1,2,3..... 

Δf为子载波间间隔. 

我们的f(t) 则可以变成

f(t) = a1·sin(2π·Δf·t) +

a2·sin(2π·Δf·2t) +

a3·sin(2π·Δf·3t) .....

因为sint 和 cost 是正交的。 对吧

f(t) = b1·cos(2π·Δf·t) +

b2·cos(2π·Δf·2t) +

b3·cos(2π·Δf·3t) .....

那么f(t)就可以找到合适的系数ak,和bk,将

f(t) = a1·sin(2π·Δf·t) +

a2·sin(2π·Δf·2t) +

a3·sin(2π·Δf·3t) +

...

ak·sin(2π·Δf·kt) +

b1·cos(2π·Δf·t) +

b2·cos(2π·Δf·2t) +

b3·cos(2π·Δf·3t) +

...

bk·cos(2π·Δf·kt) 

综上f(t)=∑ak·sin(2π·Δf·kt) + ∑bk·cos(2π·Δf·kt)

对f(t)进行复数化 :f(t) =∑Fk·e(j·2π·Δf·kt)  

这个啥子!!!!这是这就是 傅里叶级数,是不是很 magical .

设计一段晓得bit流,使其分别进行ifft后 与 f(t) =∑Fk·e(j·2π·Δf·kt)公式 两种方法进行对比

现在假定待发送序列00011011,OFDM符号时长为1s,调制方式为QPSK

输入信号 IQ信号 输出信号相位

%00          1/2,1/2        pi/4

%01          -1/2,1/2        3pi/4

%10          -1/2,-1/2      5pi/4

%11          1/2,-1/2        7pi/4

根据 QPSK 的映射关系,求出输入函数:

d1 = 1/2+1i*1/2

d2 = -1/2+1i*1/2

d3 = 1/2+1i*(-1/2)

d4 = -1/2 + 1i*(-1/2)

对输入序列进行IFFT

xk = [0,d1,d2,d3,d4,0,0,0] %输入序列xk

sn = ifft(xk)  %IFFT后输出的sn序列

 即可得到输入序列后的IFFT曲线

%//////////轮掘旁//////////////////////////////////////////////////////////////////////////////////////////

采用公式法:散或 f(t) =∑Fk·e(j·2π·Δf·kt)

我们 QPSK调制 ,则一个 OFDM符号里有2个bit

(一个OFDM符号与调制方式对应的bit数目:(QPSK:2),(16QAM:4),(64QAM:6)   )

根据公式求出子载波

%子载波

e1 = exp(1i*2*pi*f*t)

e2 = exp(1i*2*pi*f*t*2)

e3 = exp(1i*2*pi*f*t*3)

e4 = exp(1i*2*pi*f*t*4)

OFDM基带复信号表达式

st = d1*e1 + d2*e2 + d3*e3 + d4*e4  %将上述公式展开

画出st的图像

我们将上述的st与sn图像进行对比

(上图形为实部,下图形为虚部)

可以惊讶的发现: IFFT后的图形就是公式图形的离散值!所以OFDM系统和傅里叶级数有种亲密而不可分离的感情,如同牛郎和织女,杨贵妃和唐玄宗,葫芦娃和爷爷。。。。。 好像有点奇怪

  所以 IFFT模块的功能相当于说:别麻烦发送N个子载波信号了,我直接算出你们在空中会叠加成啥样子吧 ; FFT模块的功能相当于说:别用老式的积分方法来去除其余的正交子载波了,我帮你一次把N个携带信号全算出来吧

终于要进行设计了,前面一大堆,我打字都打累了。原来写文章那么辛苦,我觉得司马迁好牛比。。

我们先从最简单的高斯信道说起走嘛。

前面说了傅里叶变化在OFDM系统中的举足轻重的作用,所以我们OFDM系统的仿真才使用IFFT和FFT算法

高斯信号就是在信号通过此信道中加入高斯白噪声。

在maltab通信系统仿真中我们用awgn(TrData1,SNR,'measured')函数来给信号TrData1添加高斯白噪声

信号通过无线信道之后,其信号幅度是随机的,即“衰落”,并且其包络服从瑞利分布.

接受信号具有四种效应:1.阴影 2.远近 3.多径 4.多普勒频移

简单的说莱斯信道比瑞利信道多了一条直流分量。

就是我们所谓的循环前缀,为什么要加入CP循环前缀这个冗余信息呢。 为了抵抗由于多径效应带来的ICI(载波间干扰),设计的时候也要注意下:一个CP占用了每个OFDM符号约的1/15的资源

插入引频信号通过训练序列的信息,实时估计信道,从而再做信号的矫正,从而再解调的时候减少误码率之类。

发送端:

第一步:产生随机数列   Signal=rand(1,para*Ns*2)>0.5

其中我们所设置的 para为并行传输的子载波个数

Ns为一个祯结构中OFDM信号的个数

第二步:进行串并转化

串并转化为十分重要的函数reshape函数

其用法为:SigPara = reshape(Signal,para,Ns*2)将原始信号Signal 信号转化为para 行 Ns*2列的信号

reshape(a,m,n)先把矩阵a按列拆分,然后拼接成一个大小为m*n的向量。

第三步:进行QPSK调制

(1)将数据分为两个通道 即i通道和q通道

函数如下:

for j=1:Ns

ich(:,j)=SigPara(:,2*j-1)

qch(:,j)=SigPara(:,2*j)

end

(2)根据QPSK映射关系,求出输入后的数据

kmod=1./sqrt(2)

ich1=ich.*kmod

qch1=qch.*kmod  %QPSK映射关系

第四步:插入保护间隔

ich3=[ich2(fl-gl+1:fl,:)ich2]

qch3=[qch2(fl-gl+1:fl,:)qch2]

我们选取gl = 32:将信号的最后32组数据进行复制,加入到原始信号中 -- 加强容错性

第五步:并串变换

ich4=reshape(ich3,1,(fl+gl)*Ns)

qch4=reshape(qch3,1,(fl+gl)*Ns)

形成复发射数据:TrData1=ich4+qch4.*sqrt(-1)

第六步:发射数据加入高斯白噪声

ReData=awgn(TrData1,SNR,'measured')

%///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

接受端:

第一步:移去保护间隔

(1)进行数据的复式化

idata=real(ReData) %加入噪声后的实部

qdata=imag(ReData)    %加入噪声后的虚部

(2)对数据进行串并转化

idata1 = reshape(idata,fl+gl,Ns)

qdata1 = reshape(qdata,fl+gl,Ns)

(3)移去保护间隔

idata2=idata1(gl+1:gl+fl,:)

qdata2=qdata1(gl+1:gl+fl,:)

取idata1的每一列的gl+1 到gl+fl的数据形成iadta2

第二步:FFT

第三步:QPSK解调:

(1)将fft转化后的数据/komd 

  (2)并串转化

   (3)重组信号

第四步:抽样判决

ReSig = Res >0.5将上述重组后的信号进行分析,大于0.5的信号赋值为1,小于0.5的赋值为0

第五步:计算错误的概率

err = 0

for i = 1:para*Ns*2

if (Signal(i)~=ReSig(i))

err = err + 1            %得到误码的个数

end

end

Pe = err / (para*Ns*2)

取多组SNR值,加入高斯信道我们可以得到snr-Pe曲线

%///////////////////////////////////////////////////////////////////////////////////////

图为加入瑞利信道后的OFDM(没有做信道估计)

可见当加入了多径和多普勒频移后的信道 误码率从3%上升到了30%左右,瑞利信道完全破坏了信号的传输

引频信号的引入

我们在加入列引频和行引频

A=[Ar]插行           A=[A c]插列

列间加入引频:

ich2= [zeros(fl,1) ich21(:,[1:Ns/2]) zeros(fl,1) ich21(:,[Ns/2+1:Ns]) zeros(fl,1)]

行间加入引频:

ich2 = [zeros(1,(Ns+3)) ich2(1:fl/2,:) zeros(1,(Ns+3)) ich2((fl/2)+1:fl,:) zeros(1,(Ns+3))] 

加入的结果:

加入引频信号后可以通过LS算法来 做信道估计

LS算法基本原理:Y = HX + N  其中N为噪声信号,H为信道的频率响应,Y,X为输出,输入信号的响应

在理想信道下: H' = Y/X 输入除以输出(其中Y为通过瑞利信道后的信号) ,可以得到频率响应H的估计H'

我们用所得到的H'再反过来推算出X的估计:X' = Y/H'  得到新的输入。对X’再进行去引频的后续处理

for j = 1:(Ns+3)

for i = 1:(para+3)

Hls(i,j) = idata21(i,j)./ich2(i,j)

ixg(i,j) = idata21(i,j) ./ Hls(i,j)

hls(i,j) = qdata21(i,j)./qch2(i,j)

qxg(i,j) = qdata21(i,j)./ hls(i,j)

end

end

加入信道估计后误码率的图示:

OFDM系统中 :OFDM系统在只有高斯白噪声的情况下影响较小,OFDM设计在高斯信道下的优势很小

但是在瑞利信道中,OFDM引频信号,CP,信道估计对传输的信号起到了保护的作用。使其在收到多径,多普勒频移的条件下,能够有效的恢复出原信号。

在没有信道估计得OFDM--瑞利系统,多径,远近,阴影,多普勒频偏对信号造成了严重的干扰。使其不能够正常传输,有着严重的误码率。

。。。。。。。打字都打累了,可能里面会有些错误,请各位指正。

PTCM编码技术是一种将编码 与调制有机结合起来团带的纠错方法,它既不增加频带宽度又不降低信息有效传输速率,可使系统的频带利用率和虚陵功率资源得到更有效的利用。讨论了 64QAMPTCM编码调制的基本原理,给出了编码的64QAM相对不编码的16QAM的编码增益的计算方法及计算结果。在高斯白噪声环境下分别对不编码 的16QAM与编码的64QAM进行了仿真,给出了仿真结果,对其进行分析比较塌誉芦并得出了结论。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8279840.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存