资源简介
ofdm 正交频分复用的matlab仿真程序

代码片段和文件信息
% 一个OFDM符号128个有效符号,插入128个虚拟子载波
% 符号率(即有效数据率)fsymbol,而发送速率(需要包括虚拟子载波)2fsymbol
% 输入的数据需要2倍的发送数据率,以便进行内插,实现位定时跟踪,即4倍fsymbol采样率的调制信号
% OFDM symbol Nfft=128 points
% 一个OFDM符号数据点 Nfft*2 = 256 , Guard Interval点 =Ng*2=64
% ------------------------------------------------------------------------------------
close all;
clear;
initializing_now = [‘please wait...‘]
% ------------------------------------------------------------------------------------
% 参数设置
% 系统参数设置
% FFT点数为256,子载波个数为128,虚拟子载波个数为128
Nfft = 128;
Ng = 32;
Ntotal = Nfft+Ng;
M_pilot = 8; % 每个OFDM符号加入的导频数目
Max_symbols = 50;
% 读取训练字
% 短训练字的内容
% 10重复的个短训练字,每个是一个Guard Interval的长度
% 可以看成2个重复的长训练字,每个长训练字是由5个重复的部分组成的
% 这里读入的是这样一个假设的长训练字的频域上的值
% I,Q两路分别读入
fid3=fopen(‘data_I_train_word_re_i0_256.txt‘‘r‘);
I_train_word_re_temp=fscanf(fid3‘%f‘);
fclose(fid3);
I_train_word_re = (I_train_word_re_temp)‘;
fid3=fopen(‘data_Q_train_word_re_i0_256.txt‘‘r‘);
Q_train_word_re_temp=fscanf(fid3‘%f‘);
fclose(fid3);
Q_train_word_re = (Q_train_word_re_temp)‘;
train_word_re = I_train_word_re + j*Q_train_word_re;
% 第一个训练字的内容
% 这里读入的是第一个长训练字的频域上的值
% I,Q两路分别读入
fid3=fopen(‘data_I_train_word_1_i0_256.txt‘‘r‘);
I_train_word_1_temp=fscanf(fid3‘%f‘);
fclose(fid3);
I_train_word_1 = (I_train_word_1_temp)‘;
fid3=fopen(‘data_Q_train_word_1_i0_256.txt‘‘r‘);
Q_train_word_1_temp=fscanf(fid3‘%f‘);
fclose(fid3);
Q_train_word_1 = (Q_train_word_1_temp)‘;
train_word_1 = I_train_word_1 + j*Q_train_word_1;
% 第二个训练字的内容
% 这里读入的是第二个长训练字的频域上的值
% I,Q两路分别读入
fid3=fopen(‘data_I_train_word_2_i0_256.txt‘‘r‘);
I_train_word_2_temp=fscanf(fid3‘%f‘);
fclose(fid3);
I_train_word_2 = (I_train_word_2_temp)‘;
fid3=fopen(‘data_Q_train_word_2_i0_256.txt‘‘r‘);
Q_train_word_2_temp=fscanf(fid3‘%f‘);
fclose(fid3);
Q_train_word_2 = (Q_train_word_2_temp)‘;
train_word_2 = I_train_word_2 + j*Q_train_word_2;
% 第二个长训练字与第一个长训练字对应子载波位置上的值的比值
% 用于整数倍频偏估计,具体算法参考Schmidl和Cox的文章
% “Robust Frequency and Timing Synchronization for OFDM“
for temp_i=1:1:Nfft/2
if(rem(temp_i2)==1)
vv(temp_i)=sqrt(2)*train_word_2(temp_i)/train_word_1(temp_i);
end
end
% 缓冲区参数设置
% 采用两个缓冲区,当对一个缓冲区里的数据进行处理的时候,对另一个缓冲区进行数据写入
% 同一个缓冲区不同时进行读和写的操作
% 软件仿真这一个过程跟实际过程中的一个极端情况,可以应用于实际情况
MI_IN_1(1:Ntotal*2*8) = 0;
MQ_IN_1(1:Ntotal*2*8) = 0;
MI_IN_2(1:Ntotal*2*8) = 0;
MQ_IN_2(1:Ntotal*2*8) = 0; % 直接从已经准备好的文件里读出来的数据的存储空间
% 此时是完全理想的数据,没有加任何噪声以及偏移量
% I、Q是区分I、Q两路信号
% 1、2是区分两个交替使用的缓冲区
I_INnoised_1(1:Ntotal*2*8) = 0;
Q_INnoised_1(1:Ntotal*2*8) = 0;
I_INnoised_2(1:Ntotal*2*8) = 0;
Q_INnoised_2(1:Ntotal*2*8) = 0; % 加过高斯白噪声后的数据的存储空间
% I、Q是区分I、Q两路信号
% 1、2是区分两个交替使用的缓冲区
I_INnoised_error_f_1(1:Ntotal*2*8) = 0;
Q_INnoised_error_f_1(1:Ntotal*2*8) = 0;
I_INnoised_error_f_2(1:Ntotal*2*8) = 0;
Q_INnoised_error_f_2(1:Ntotal*2*8) = 0; %
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 55 2018-08-27 11:33 OFDM matlab程序\【源码使用必读】.url
文件 3870 2003-03-14 21:49 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_rece_matlab\data_I_train_word_1_i0_256.txt
文件 3903 2003-03-14 21:49 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_rece_matlab\data_I_train_word_2_i0_256.txt
文件 3853 2003-03-16 13:54 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_rece_matlab\data_I_train_word_re_i0_256.txt
文件 3867 2003-03-14 21:49 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_rece_matlab\data_Q_train_word_1_i0_256.txt
文件 3908 2003-03-14 21:49 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_rece_matlab\data_Q_train_word_2_i0_256.txt
文件 3854 2003-03-16 13:54 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_rece_matlab\data_Q_train_word_re_i0_256.txt
文件 496240 2003-08-02 15:07 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_rece_matlab\OFDM_mod_I_ser_2up_sam_50.dat
文件 3908 2003-08-02 15:07 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_rece_matlab\OFDM_mod_original_data_I_ser_2up_sam_50.dat
文件 3895 2003-08-02 15:07 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_rece_matlab\OFDM_mod_original_data_Q_ser_2up_sam_50.dat
文件 495175 2003-08-02 15:07 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_rece_matlab\OFDM_mod_Q_ser_2up_sam_50.dat
文件 43884 2005-01-22 16:44 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_rece_matlab\v06_03_dem_2up_arrange.m
文件 3870 2004-01-02 14:03 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\data_I_train_word_1_i0_256.txt
文件 3903 2004-01-02 14:03 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\data_I_train_word_2_i0_256.txt
文件 3853 2004-01-02 14:03 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\data_I_train_word_re_i0_256.txt
文件 3867 2004-01-02 14:03 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\data_Q_train_word_1_i0_256.txt
文件 3908 2004-01-02 14:03 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\data_Q_train_word_2_i0_256.txt
文件 3854 2004-01-02 14:03 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\data_Q_train_word_re_i0_256.txt
文件 212 2004-01-02 14:03 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\HBF23.txt
文件 3840 2004-01-02 14:03 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\I1.txt
文件 3840 2004-01-02 14:03 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\I2.txt
文件 3840 2004-01-02 14:03 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\I3.txt
文件 3840 2004-01-02 14:03 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\I4.txt
文件 8936 2005-01-22 18:58 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\ofdm_mod.m
文件 92654 2004-01-02 14:07 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\SoutI_4_BF.txt
文件 185308 2004-01-02 14:07 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab\SoutI_4_IF.txt
文件 41472 2003-12-29 11:04 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\程序流程说明.doc
目录 0 2011-03-24 17:12 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_rece_matlab
目录 0 2011-03-24 17:12 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)\OFDM_send_matlab
目录 0 2011-03-30 18:57 OFDM matlab程序\完美的OFDM仿真程序MATLAB(20cnttr)
............此处省略4个文件信息
- 上一篇:维纳滤波器
- 下一篇:差分进化算法的Matlab代码,可运行
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论