资源简介
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代码,可运行
- 维纳滤波器
- matlab制作梳状滤波器
- MATLAB高通滤波器程序
- 用matlab拟合圆 基于最小二乘法 详细推
- 使用matlab识别出图像中的圆形,计算
- matlab支持向量机源代码
- 用matlab神经网络实现非线性识别
-
基于simuli
nk的光伏模型搭建供大家参 - matlab各种功率谱画法及比较
- 光伏发电系统的MATLAB仿真
- 光伏发电的MATLAB并网仿真
- 计算方法上机实验报告-matlab
- FCM的MATLAB实现
- 用MATLAB画点电荷的电场线
- 装箱问题遗传算法求解
- 基于matlab的电力系统谐波仿真
- 一维激波管问题upwind格式matlab代码
- MATLAB中图像背景噪声去除
- 自组织特征映射神经网络matlab
- 实验室的极化码编码译码仿真程序,
- 双极性PWM单相全桥逆变电路
- 普源示波器 matlab读取程序
- Matlab写的粒子群优化算法,很好用!
- 基于MATLAB的两输入两输出DMC控制教程
- matlab基于GUI实现记事本功能
- 肤色模型人脸识别matlab代码
- 用matlab生成正弦表程序.m文件
- 数字信号处理课程设计
- 单神经元自适应PID代码
评论
共有 条评论