资源简介
这是帮别人做毕业设计的代码,主要是验证OFDM是如何抗多径干扰的,代码采用了802.11a标准,采用了两种调制方式,QPSK,16QAM做的仿真,是可以运行的,最终有运行figure,

代码片段和文件信息
clear all
%%%%%%%%%%%%% 参数设置部分 %%%%%%%%%%%%%%%%%
Nsp=52; %系统子载波数(不包括直流载波)
Nfft=64; % FFT 长度
Ncp=16; % 循环前缀长度
Ns=Nfft+Ncp; % 1个完整OFDM符号长度
noc=53; % 包含直流载波的总的子载波数
Nd=6; % 每帧包含的OFDM符号数(不包括训练符号)
M1=4; % QPSK调制
M2=16; % 16-QAM调制
sr=250000; % OFDM符号速率
EbNo=0:2:30; % 归一化信噪比
Nfrm=100; % 每种信噪比下的仿真帧数
ts=1/sr/Ns; % OFDM符号抽样时间间隔 产生一个点所需要的时间
t=0:ts:(Ns*(Nd+1)*Nfrm-1)*ts; % 抽样时刻
fd=100; % 最大多普勒频移
h=rayleigh(fdt); % 生成单径Rayleigh衰落信道
h1=sqrt(2/3)*h;
h2=sqrt(1/3)*rayleigh(fdt);
h2=[zeros(14) h2(1:end-4)];% 延时4个采样周期
h3=sqrt(3/4)*rayleigh(fdt);%加了第三径
h3=[zeros(18) h3(1:end-8)];% 延时8个采样周期
%训练符号频域数据采用802.11a中的长训练符号数据
Preamble=[1 1 -1 -1 1 1 -1 1 -1 1 1 1 1 1 1 -1 -1 1 1 -1 1 -1 1 1 1 1 ...
1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1 1 1 1 1];
Preamble1=zeros(1Nfft);
Preamble1(2:27)=Preamble(27:end); % 前导重排后的数据 后26个拿到前面
Preamble1(39:end)=Preamble(1:26);
preamble1=ifft(Preamble1); % 训练符号时域数据
preamble1=[preamble1(Nfft-Ncp+1:end) preamble1]; % 加入循环前缀
%%%%%%%%%%%%%%%%%%%%% 仿真循环 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for ii=1:length(EbNo)
%**************************发射机部分 *****************************
msg1=randsrc(NspNd*Nfrm[0:M1-1]); % QPSK信息数据 /randsrc 产生均布数组
msg2=randsrc(NspNd*Nfrm[0:M2-1]); % 16-QAM信息数据
data1=pskmod(msg1M1pi/4); % QPSK调制
data2=qammod(msg2M2)/sqrt(10); % 16-QAM调制并归一化
data3=zeros(NfftNd*Nfrm); % 根据FFT要求,对数据重排
data4=zeros(NfftNd*Nfrm);
data3(2:27:)=data1(27:end:);
data3(39:end:)=data1(1:26:);
data4(2:27:)=data2(27:end:);
data4(39:end:)=data2(1:26:);
% clear data1 data2; % 清除不需要的临时变量
data3=ifft(data3); % IFFT变换
data4=ifft(data4);
data3=[data3(Nfft-Ncp+1:end:);data3]; % 加入循环前缀
data4=[data4(Nfft-Ncp+1:end:);data4];
% data3=[zeros(16600);data3]; % 不加循环前缀
% data4=[zeros(16600);data4];
spow1=norm(data3‘fro‘).^2/(Nsp*Nd*Nfrm); % 计算符号能量
spow2=norm(data4‘fro‘).^2/(Nsp*Nd*Nfrm);
data5=zeros(Ns(Nd+1)*Nfrm); % 加入训练符号
data6=data5; %data6存第二路数据
%data7=data5; %data7存第三路数据
for indx=1:Nfrm%把训练符号加入到数据前面,组成训练和符号的结合体,一共100个
data5(:(indx-1)*(Nd+1)+1)=preamble1.‘;
data5(:(indx-1)*(Nd+1)+2:indx*(Nd+1))=data3(:(indx-1)*Nd+1:indx*Nd);%data3是QPSK经ifft后的数据
data6(:(indx-1)*(Nd+1)+1)=preamble1.‘;
data6(:(indx-1)*(Nd+1)+2:indx*(Nd+1))=data4(:(indx-1)*Nd+1:indx*Nd);%data4是16QAM经ifft后的数据
% data7(:(indx-1)*(Nd+1)+1)=preamble1.‘;
% data7(:(indx-1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9639 2013-04-13 17:08 新建文件夹\ofdmcode.m
文件 1156 2010-07-31 14:01 新建文件夹\rayleigh.m
目录 0 2013-05-05 20:41 新建文件夹\
相关资源
- OFDM 系统PAPR减小的三种经典方法
- 高频移动网络技术在OFDM中的低复杂度
- ofdm通过瑞利衰落信道的系统仿真
- 基于COFDM技术的瓦斯抽采视频监控系统
- 16QAM-OFDM矿井基带调制系统的设计
- 应用典型的 MMSE 算法对 MIMO-OFDM 信道进
- α稳定噪声下SCLD和OFDM的盲识别新
- OFDM系统中基于导频的二维信道估计
- OFDM系统的时间同步算法研究及仿真
- 基于FPGA的OFDM设计
- OFDM同步算法中的最大似然函数法
- 光通信中的OFDM
- MIMOOFDM功率分配
- OFDM发射机和接收机的完整verilog代码
- OFDMA系统资源分配算法研究
- 宽带无线通信OFDM技术
- SIHID COFDM数字图传方案
- OFDM.rar
- 基于XILINX fpga的OFDM通信系统基带设计
- 基于ofdm系统的qam软判决算法的研究与
- FFT实现OFDM的原始论文
- OFDM入门四篇经典文章
- ofdm同步技术,信道估计,频偏
- LTE基础与射频测试介绍
- MIMO-OFDM技术内含仿真图
- OFDM原理献给初学者
- OFDM系统发射机源码
- MIMO-OFDM无线通信基带接收机设计
- LDPC码密度进化算法研究及其在OFDM中的
- OFDM and MC-CDMA
评论
共有 条评论