通信系统Simulink仿真.docx
《通信系统Simulink仿真.docx》由会员分享,可在线阅读,更多相关《通信系统Simulink仿真.docx(21页珍藏版)》请在冰豆网上搜索。
![通信系统Simulink仿真.docx](https://file1.bdocx.com/fileroot1/2022-10/27/35382a14-858d-42a4-b98f-9c5aed400d20/35382a14-858d-42a4-b98f-9c5aed400d201.gif)
通信系统Simulink仿真
实验报告
课程名称:
MATLAB程序设计
实验项目:
通信系统仿真
班级:
学号:
姓名:
成绩:
教师签字:
1.实验项目名称
通信系统仿真
2.实验目的
(1)熟悉通信相关方面的知识、学习并掌握OFDM技术的原理。
(2)熟悉MATLAB语言 和simulinkSimulink工具箱的使用。
(3)设计并实现OFDM通信系统的建模与仿真。
3.实验内容与实验步骤
要完成的实验内容:
自行设计基于OFDM的通信息系统仿真模型,分别采用MATLAB脚本程序和基于Simulink工具箱实验相同的功能。
对系统的性能进行分析。
本次试验采用OFDM-16QAM系统来建模和仿真。
应用(或涉及)的原理:
OFDM的全称为OrthogonalFrequencyDivisionMultiplexing,意为正交频分复用。
OFDM通信技术是多载波传输技术的典型代表。
多载波传输把数据流分解为若干个独立的子比特流,每个子数据流将具有低得多的比特速率,用这样低比特率形成的低速率多状态符号去调制相应的子载波,就构成了多个低速率符号并行发送的传输系统。
OFDM是多载波传输方案的实现方式之一,利用快速傅里叶逆变换(IFFT,InverseFastFourierTransform)和快速傅里叶变换(FFT,FastFourierTransform)来分别实现调制和解调,是实现复杂度最低、应用最广的一种多载波传输方案。
OFDM是一种多载波调制技术,其原理是用N个子载波把整个信道分割成N个子信道,即将频率上等间隔的N个子载波信号调制并相加后同时发送,实现N个子信道并行传输信息。
这样每个符号的频谱只占用信道带宽的1/N,且使各子载波在OFDM符号周期T内保持频谱的正交性。
在发送端,串行码元序列经过数字基带调制、串并转换,将整个信道分成N个子信道。
N个子信道码元分别调制在N个子载波频率上,设为最低频率,相邻频率相差1/N,则,,角频率为,。
待发送的OFDM信号为:
接收端对接收到的信号进行如下解调:
由于OFDM符号周期内各子载波是正交的。
所以,当时,调制载波与解调载波为同频载波,满足相干解调的条件,,恢复了原始信号;当时,接收到的不同
载波之间互不干扰,无法解调出信号。
这样就在接收端完成了信号的提取,实现
了信号的传输。
设
若1个内以采样频率(其中)被采样,则可得个采样点。
设,,则
上式正是序列的点离散傅里叶反变换(IDFT)的结果,这表明IDFT运算可完成OFDM基带调制过程。
而其解调过程可通过离散傅里叶变换(DFT)实现。
因此,OFDM系统的调制和解调过程等效于IDFT和DFT。
在实际应用中,一般用IFFT/FFT来代替IDFT/DFT,这是因为IFFT/FFT变换与IDFT/DFT变换的作用相同,并且有更高的计算效率,适用于所有的应用系统。
具体实验步骤:
Simulink的设计过程:
OFDM系统组成框图如下图所示。
其中,上半部分对应于发射机链路,下半部分对应于接收机链路,整个系统包含信道编/解码、数字调制/解调、IFFT/FFT、加/去保护间隔和数字变频!
实验设计原理图如下所示
上图中粉红色的部分为示波器显示部分,主体结构为其余颜色的部分。
信源数据的产生:
在本设计中,信源系统采用的是伯努利二进制序列,所设置的占空比为0.5(即在同一个波中0和1所占的比例是一样的),所产生的序列是以帧(frame)的形式产生,每帧的数据是44位,码元宽度为16e-5/44/2s,此时输出到信道上面的数据是44x1的形式!
详细参数如下图所示:
RS调制:
本卷积码将11个信息比特编成15个比特,由于11和15都很小,特别适合以串行形式进行传输,时延小。
卷积码编码后的15个码元不仅与当前段的11个信息有关,还与前面的N-1段信息有关,编码过程中互相关联的码元个数为15N。
卷积码的纠错性能随N的增加而增大,而差错率随N的增加而指数下降。
在编码器复杂性相同的情况下,卷积码的性能优于分组码。
所以本设计中采用RS码来进行信源编码,方便产生错误时能进行纠错!
本RS码,信息位为11为编码为15位的数据,所以一帧的数据经编码后帧长就变为60,所以经卷积编码输出的数据为60x1的数据格式
RS调制模块的参数设计如下所示
QPSK调制:
QPSK是英文QuadraturePhaseShiftKeying的缩略语简称,意为正交相移键控是一种数字调制方式。
在数字信号的调制方式中QPSK四相移键控是目前最常用的一种卫星数字信号调制方式,它具有较高的频谱利用率、较强的抗干扰性、在电路上实现也较为简单
四相相移调制是利用载波的四种不同相位差来表征输入的数字信息,是四进制移相键控。
QPSK是在M=4时的调相技术,它规定了四种载波相位,分别为45°,135°,225°,315°,调制器输入的数据是二进制数字序列,为了能和四进制的载波相位配合起来,则需要把二进制数据变换为四进制数据,这就是说需要把二进制数字序列中每两个比特分成一组,共有四种组合,即00,01,10,11,其中每一组称为双比特码元。
每一个双比特码元是由两位二进制信息比特组成,它们分别代表四进制四个符号中的一个符号。
QPSK中每次调制可传输2个信息比特,这些信息比特是通过载波的四种相位来传递的。
解调器根据星座图及接收到的载波信号的相位来判断发送端发送的信息比特。
本次试验中QPSK设置的参数如下图所示
以bit进行编码,没两比特进行一次映射将00映射为-1-j;将01映射为-1+j;将10映射为1-j;将11映射为1+j。
OFDM调制系统:
调制模型最关键在于IFFT变换,在这种IFFT变化能很方便的实现载波调制,本系统所用的是数字载波调制方式,采用与另外一路数字载波控制信号合成后,本来输入的数据是30x1的复信号,然后再中间补一个0构成了了31x1的复信号,与另外一路31x1的信号合成之后就变成了31x2的一路矩阵信号,实现了调制,又由于进行IFFT时需要的数据是2的N次方所以在数据中加上足够多的0构成了64x2的数据,然后进行IFFT调制之后输出。
设计的子模块如下图所示
本OFDM调制只将该信号分为两部分即码元速率变为他的1/2,在两路分开的信号合在一起后补了一个0。
在数据进行IFFt前为了方式数据产生ICI,必须进行补零。
将数据全部集中到一个帧的中间,这样可以很有效的防止由于码间串扰对数据造成干扰。
完成IFFT调制之后的数据如下图所示,由于数据是复数,所以将数据根据实部和虚部分离出来了。
参数设置
经过OFDM调制输出的信号是64x2的调制信号,为了防止码间串扰需要进行cp循环调制,这样可以很有效的防止码间串扰!
减少系统的误码率!
CP循环:
应用OFDM的一个重要原因在于它可以有效地对抗多径时延扩展。
把输入数据流串并变换到个并行的子信道中,使得每一个调制子载波的数据周期可以扩大为原始数据符号周期的N倍,因此时延扩展与符号周期的数值比也同样降低N倍。
另外,通过在每个OFDM符号间插入保护间隔(GI,GuardInterval)可以进一步抵制符号间干扰(ISI),还可以减少在接收端的定时偏移错误。
这种保护间隔是一种循环复制,增加了符号的波形长度,在符号的数据部分,每一个子载波内有一个整数倍的循环,此种符号的复制产生了一个循环的信号,即将每个OFDM符号的后时间中的样点复制到OFDM符号的前面,形成循环前缀(CP,CyclicPrefix),在交接点没有任何的间断。
因此将一个符号的尾端复制并补充到起始点增加了符号时间的长度。
在本次CP循环中,将数据的39—64位共25位加到每一帧的最前面去,这样虽然增大了带宽,但是对抑制码间串扰有很大的好处!
具体的设置参数如下图所示
OFDM解调模块
OFDM解调模块是将是对上面的IFFT数据进行傅里叶变换恢复数据,然后按照上面数据的排列恢复所需要的数据!
设计模块如下图所示
由于数据帧与数据帧间存在很长一段的0数据,所以可以之间进行FFT变换而不需要去掉0之后再进行FFT变换,这样的方式充分的利用FFt变换的优势!
设计流程图如下所示
FFT的参数设置如下所示
信道估计
下面是信道电路图以及各参数设置
PN序列发生器参数如下所示
该去零中使用的行选择器的参数设置如下所示
这样就去掉了第16行就可以很好的恢复出经过QPSK映射后的数据,接下来要做的事将映射后的数据还原。
QPSK解调:
Qpsk解调是将复数映射到实数域里面,1+j映射为11将1-j映射为10;-1+j映射为01;-1-j映射为00;的映射原则将数据映射回去,这样就将原来30x1的数据变味了60x1的数据。
将带宽变味了原来的两倍。
RS卷积译码:
本设计中直接使用simulink自带的译码模块,但其设计思路是基于维特比译码设计的,所以在上面写出了维特比译码原理。
译码器设计参数如下所示
MATLAB脚本程序说明:
(1)确定参数:
需要确定的参数为:
子信道,子载波数,FFT长度,每次使用的OFDM符号数,调制度水平,符号速率,比特率,保护间隔长度,信噪比,插入导频数,基本的仿真可以不插入导频,可以为0。
(2)产生数据:
使用个随机数产生器产生二进制数据,每次产生的数据carrier_count * symbols_per_carrier * bits_per_symbol。
(3)编码交织:
交织编码可以有效地抗突发干扰。
(4)子载波调制:
OFDM采用BPSK、QPSK、16QAM、64QAM4种调制方式。
按照星座图,将每个子信道上的数据,映射到星座图点的复数表示,转换为同相Ich和正交分量Qch。
(5)串并转换:
将一路高速数据转换成多路低速数据。
(6)IFFT:
对上一步得到的相同分量和正交分量按照(Ich+Qch*i)进行IFFT运算。
并将得到的复数的实部作为新的Ich,虚部作为新的Qch。
(7)加入保护间隔:
由IFFT运算后的每个符号的同相分量和正交分量分别转换为串行数据,并将符号尾部G长度的数据加到头部,构成循环前缀。
如果加入空的间隔,在多径传播的影响下,会造成载波间干扰ICI。
保护见个的长度G应该大于多径时的扩张的最大值。
(8)加窗:
加窗是为了降低系统的PAPR,滚降系数为1/32。
通过这种方法,可以显著地改善OFDM通信系统高的PAPR分布,大大降低了峰值信号出现的概率以及对功率放大器的要求,节约成本。
经常被采用的窗函数是升余弦窗。
(9)通过信道:
信道分为多径实验信道和高斯白噪声信道。
多径时延信道直射波河延迟波对于标准时间按照固定比率递减,因此多径时延信道参数为比率和对大延迟时间。
(10)同步:
同步是决定OFDM系统高性能十分重要的方面,实际OFDM系统都有同步过称。
主要同步方法有使用导频,循环前缀,忙算法三种。
研究目的为同步的可以详细实现本步,基本的方针可以略过此步,假设接收端已经于发射端同步。
(11)去掉保护间隔:
根据同步得到的数据,分别见给每个符号的同相分量和正交分量开头的保护间隔去掉。
(12)并串转换:
将每个符号分布在子信道上的数据,还原为一路串行数据。
(13)FFT:
对每个符号的同相分量和正交分量按照(Ich+Qch*i)进行FFT运算。
并将得到的实部作为新的Ich,虚部作为新的Qch。
与发端相类似,上述相关运算可以通过离散傅立叶变换(DFT)或快速傅立叶变换(FFT)来实现。
(14)子载波解调:
FFT后的同相粉脸感和正交分量两组数据在星座图上对饮高的点,由于噪