ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:78.46KB ,
资源ID:2230269      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2230269.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(移动通信系统课设OFDM系统仿真.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

移动通信系统课设OFDM系统仿真.docx

1、移动通信系统课设OFDM系统仿真移动通信系统课程设计报告OFDM系统仿真(一) 题目要求:1) OFDM128路传输;2) QPSK调制3) AWGN信道4) 3径或4径瑞利衰落信道(二) 相关原理:1) OFDM:将信道分成若干正交子信道,将高速数据信号转换成并行的低速子数据流,调制到在每个子信道上进行传输。正交信号可以通过在接收端采用相关技术来分开,这样可以减少子信道之间的相互干扰(ISI) 。每个子信道上的信号带宽小于信道的相关带宽,因此每个子信道上可以看成平坦性衰落,从而可以消除码间串扰,而且由于每个子信道的带宽仅仅是原信道带宽的一小部分,信道均衡变得相对容易。2) QPSK调制:将每

2、两个相连比特组在一起形成双比特码元,它的四种状态用4个不同的相位表示;3) 导频与均衡:在OFDM信息序列中插入已知的导频序列,通过信道后将其提取得,做频域除法得传输函数,再通过线性插值后得到每个信道频率响应,均衡滤波传输函数;4) 循环前缀:循环前缀(Cyclic Prefix, CP)是将OFDM符号尾部的信号搬移到头部构成的。用来消去码间干扰,通常取长度(为信道冲激响应持续时间)5) 分组交织:为了解决成串的比特差错问题,采用了交织技术:把一条消息中的相 继比特分散开的方法,即一条信息中的相继比特以非相继方式发送,这样即使在传输过程中发生了成串差错,恢复成一条相继比特串的消息时,差错也就

3、变成单个(或者长度很短)的错误比特,这时再用信道纠正随机差错的编码技术(FEC)消除随机差错。纠错数(三) 基本思路:说明:1) 编码:使用216卷积码;相关代码:%卷积编码%ori_data_t_1=reshape(ori_data_t,num_inf,2*channell); %58*192ori_data_t_2=zeros(num,2*channell); %128*192for i = 1:2*channell seq = ori_data_t_1(:,i); seq_code = encode216(seq); ori_data_t_2(:,i) = seq_code;endori

4、_data=reshape(ori_data_t_2,1,2*num*channell); %1*24576编码函数:function code=encode216(m)%输入信息序列%g1=1,0,0,0,0,0;g2=1,1,0,0,1,1;trel=poly2trellis(6,40 63);%定义网格m1=m,0,0,0,0,0,0;code=convenc(m1,trel);%卷积码编码2) 交织:交织深度为32;相关代码:%编码交织%ori_data1=reshape(ori_data,deep,(2*num*channell)/deep); %768*32ori_data2=re

5、shape(ori_data1,1,2*num*channell); %1*245763) QPSK调制:转换为96路相位信号(复数);代码:%QPSK调制%ori_data_0=reshape(ori_data2,2,channell*num); %拆分成两行12288列ori_data_1=bi2de(ori_data_0,left-msb); %QPSK的未调制数据 12288列M=4的数据de_OFDM_1=modem.pskmod(4); %生成调制器对象,设置qpsk调制QPSK_data=modulate(de_OFDM_1,ori_data_1); %1*12288复数形式%c

6、hannel_data=reshape(QPSK_data,channell,num); %拆分成128行,每行10个复数 128*10channel_data=reshape(QPSK_data,num,channell); %拆分成128行,每行96个复数 128*964) 插入导频:32路已知序列;代码:%插入导频信号%pliot_1=2*rand(128,32);pliot_2=2*rand(128,32); %插入的导频信号,实数pliot=pliot_1+pliot_2*1i; %插入的导频信号,复数channel_data_1=zeros(128,128);for i = 0:3

7、1 channel_data_1(:,4*i+1)=pliot(:,i+1); channel_data_1(:,4*i+2)=channel_data(:,3*i+1); channel_data_1(:,4*i+3)=channel_data(:,3*i+2); channel_data_1(:,4*i+4)=channel_data(:,3*i+3);end5) OFDM调制:使用IFFT;相关代码:%OFDM信号产生%IFFT_data=zeros(128,128);for i = 1:128 IFFT_data(:,i)=ifft(channel_data_1(:,i),128);

8、%128*128ifft数据endr_ifft_data=real(IFFT_data); %实部 128*128i_ifft_data=imag(IFFT_data); %虚部 128*1286) 插入循环前缀:这里选取长度为32;相关代码:%加入循环前缀%r_data=r_ifft_data(num-num/4+1:num,:);r_ifft_data; %保护间隔取传送数据的四分之一i_data=i_ifft_data(num-num/4+1:num,:);i_ifft_data; %160*1287) 并串转换:转换成1路;代码:%并串转换%r_out=reshape(r_data,1

9、,(num+num/4)*channel); %1*1600i_out=reshape(i_data,1,(num+num/4)*channel); %1*1600data=r_out+i_out.*1i;8) AWGN:加入信噪比-1020dB的噪声;代码: %AWGN信道%data_AWGN=awgn(data,SNR,measured) ;%加入噪声9) 串并转换:转换成128路;代码:%串并转换%r_rcv_data1=reshape(r_rcv_data,num+num/4,channel);i_rcv_data1=reshape(i_rcv_data,num+num/4,chann

10、el);10) OFDM解调:FFT快速算法;代码:%OFDM解调FFT%de_OFDM_data=zeros(128,128);for i = 1:128 de_OFDM_data(:,i)=fft(rcv_data(:,i),128); %128*128矩阵end11) 去导频:取出过信道后导频序列;12) 信道估计:计算收到每一路导频序列的,已知导频序列的,得到信道,利用线性插值得到每一路信息序列的;13) 均衡:将每一路信号,得到均衡后的信号频域 ,然后得到;代码:%信道估计与均衡(新的)depliot=zeros(128,32);for i = 0:31 depliot(:,i+1)

11、=de_OFDM_data(:,4*i+1);enddepliot_1=zeros(128,32);depliot_2=zeros(32,128);de_OFDM_0=zeros(128,32);for i = 1:32 depliot_1(:,i)=pliot(:,i)./depliot(:,i);% depliot_2(i,:)=reshape(depliot_1(:,i),1,128);% x=1:128;% hx=1:128;% de_OFDM_0(:,i)=interp1(x,depliot_2(i,:),hx,pchip); %线性插值endde_OFDM_1=zeros(128,

12、128);for i= 0:30 de_OFDM_1(:,4*i+1)=depliot_1(:,i+1); de_OFDM_1(:,4*i+2)=depliot_1(:,i+1)+(depliot_1(:,i+2)-depliot_1(:,i+1)/4; de_OFDM_1(:,4*i+3)=depliot_1(:,i+1)+(depliot_1(:,i+2)-depliot_1(:,i+1)/2; de_OFDM_1(:,4*i+4)=depliot_1(:,i+1)+(depliot_1(:,i+2)-depliot_1(:,i+1)/4*3;endde_OFDM_1(:,125)=dep

13、liot_1(:,32);de_OFDM_1(:,126)=depliot_1(:,32);de_OFDM_1(:,127)=depliot_1(:,32);de_OFDM_1(:,128)=depliot_1(:,32);de_OFDM_2=de_OFDM_data.*de_OFDM_1; %还原数据de_OFDM_3=;for i = 2:4:126 de_OFDM_3=de_OFDM_3,de_OFDM_2(:,i:i+2); %提取出128*96数据部分end14) 并串转换:变为96路信息序列;代码:%并串转换%de_OFDM_data3=reshape(de_OFDM_3,1,channell*num); %128*9615) QPSK解调:还原调制前的数据;代码:%QPSK解调%de_OFDM_data3_real=real(de_OFDM_data3);de_OFDM_data3_imag=imag(de_OFDM_data3);de_OFDM_4=zeros(1,2*length(de_OFDM_data3_real);%求方差%sigma=sum(abs(real(de_OFDM_data3)-real(QPSK_data)+abs(imag(de_OFDM_data3)-imag(QPSK_data)/(2*length(de_OFDM_data3_r

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1