1 / 45
文档名称:

OFDM 仿真源程序.docx

格式:docx   大小:20KB   页数:45页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

OFDM 仿真源程序.docx

上传人:陈潇睡不醒 2018/2/21 文件大小:20 KB

下载得到文件列表

OFDM 仿真源程序.docx

文档介绍

文档介绍:%
%这是一个相对完整的OFDM通信系统的仿真设计,包括编码,调制,IFFT,
%上下变频,高斯信道建模,FFT,PAPR抑制,各种同步,解调和解码等模
%块,并统括系统性能的仿真验证了系统设计的可靠性。
clear all
close all
clc
%++++++++++++++++++++++++++全局变量++++++++++++++++++++++++++++++
% seq_num 表示当前帧是第几帧
% count_dds_up 上变频处的控制字的累加
% count_dds_down 下变频处的控制字的累加(整整)
% count_dds_down_tmp 下变频处的控制字的累加(小数)
% dingshi 定时同步的定位
% m_syn 记录定时同步中的自相关平台
global seq_num
global count_dds_up
global count_dds_down
global count_dds_down_tmp
global dingshi
global m_syn
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
% SNR_Pre 设定用于仿真的信噪比的初值
% interval_SNR 设定用于仿真的信噪比间隔
% frame_num 每一个信噪比下仿真的数据帧数
% err_int_final 用于计算每帧出现的误比特数
% fwc_down 设定的接收机初始载波频率控制字
% fre_offset 设定接收机初始载波频率偏移调整量(单位为Hz)
% k0 每次进入卷积编码器的信息比特数
% G 卷积编码的生成矩阵
SNR_Pre=-5;
interval_SNR=1;
for SNR_System=SNR_Pre:interval_SNR:5

frame_num=152;
dingshi=250;
err_int_final=0;
fwc_down=;
fre_offset=0;
k0=1;
G=[1 0 1 1 0 1 1;1 1 1 1 0 0 1 ];
disp('--------------start-------------------');
for seq_num=1:frame_num, %frame_num 帧数

%+++++++++++++++++++++++以下为输入数据部分+++++++++++++++++++++++
datain=randint(1,90);
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%++++++++++++++++++++++以下为信道卷积编码部分+++++++++++++++++++++
v_encd(G,k0,datain);
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%+++++++++++++++++++++++++++信道交织编码+++++++++++++++++++++++++
interlacedata=interlacecode(encodeDATA,8,24);
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%+++++++++++++++++++++++++以下为QPSK调制部分+++++++++++++++++++++
QPSKdata=qpsk(interlacedata);
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%+++++++++++++++++++++++++++生成训练序列+++++++++++++++++++++++++
if seq_num<3
trainsp_temp=seq_train();
end
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%++++++++++++++++++++++++++++插入导频++++++++++++++++++++++++++++
PILOT=(1+j);
m_QPSKdata=QPSKdata;
data2fft_temp=[m_QPSKdata(1:8),PILOT,m_QPSKda