云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > OFDM - matlab源程序总结

OFDM - matlab源程序总结

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 4:24:13

%+++++++++++++++++++++++variables++++++++++++++++++++++++++++ % din 输入数据

% r 降采样的抽取因子 % init 设定的初始值 % dout 输出数据

%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

for i=1:length(din),

int1(i)=sum(din(1:i)); int2(i)=sum(int1(1:i)); end

data_diff=zeros(1,length(int2)/r); data_diff=int2(init:r:end);

data_1d=[data_diff,0];

diff1=[0,data_diff]-data_1d; diff1_1d=[diff1,0];

diff2=[0,diff1]-diff1_1d; dout=diff2(1:end-2);

% ************************end of file**********************************

%************************beginning of file***************************** %time_syn.m

%系统的定时同步

function time_syn(datai,dataq)

%通过前导结构的两个训练帧的延时自相关算法和本地 %互相关检测可以实现精确度非常高的定时同步。

global seq_num global dingshi global m_syn

if seq_num==1

for nc=1:length(datai)-64 %计算相关值 for m=1:32

m1_syn(m)=(datai(nc+m-1)+j*dataq(nc+m-1))*conj(datai(nc+m-1+16)+j*dataq(nc+m-1+16)); end

m2_syn(nc)=sum(m1_syn);

m_syn(nc)=abs(m2_syn(nc)); %自相关自相关判决函数 end

% figure

% plot(m_syn)

% xlabel('采样点索引号') % ylabel('自相关判决函数') elseif seq_num==2

local_seq=[ -1.0000 + 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i -1.0000 - 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 - 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i 1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i -1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i 1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 - 1.0000i -1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i -1.0000 + 1.0000i ];

for nn=1:length(datai)-128 %计算相关值 (输入信号与本地信号互相关) for m=1:100

t1_syn(m)=(datai(nn+m-1)+j*dataq(nn+m-1))*conj(local_seq(m)); end

lolol(nn)=sum(t1_syn);

t_syn(nn)=abs(sum(t1_syn)); %输入信号与本地信号互相关判决函数 end

for ni=1:length(t_syn)

if t_syn(ni)>60

dingshi=find(t_syn(ni:ni+6)==max(t_syn(ni:ni+6)))+ni-1; break end end % figure

% plot(t_syn)

% xlabel('采样点索引号') % ylabel('互相关判决函数') end

% ************************end of file***********************************

%************************beginning of file***************************** %fre_syn.m

function dout=fre_syn(datai,dataq) %实现系统的频率同步

%频偏的估计范围由帧长度和循环间隔长度来决定。在 %本系统中,短训练序列的频偏估计范围为 (2000Hz);长训 %练序列频偏估计范围为250Hz,前一个有较大的纠偏范围,估 %计值得到的方差较大;后一个方法的纠偏范围较小,估计值得 %到的方差较小。频率跟踪可以用循环前后缀的周期重复性来完 %成,其频偏估计范围为125Hz。

%+++++++++++++++++++++++variables++++++++++++++++++++++++++++ % datai 输入数据的实部 % dataq 输入数据的虚部 % dout 输出数据

%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

global seq_num global dingshi global m_syn

if seq_num==1

if m_syn(50)>10 for m=1:128

fre_back_tmp(m)=(datai(40+m-1)+j*dataq(40+m-1))*conj(datai(40+m-1+16)+j*dataq(40+m-1+16));

end

fre_back_sum=sum(fre_back_tmp);

fre_offset_tmp=-320*angle(fre_back_sum)/(2*pi*16); fre_offset=fre_offset_tmp/0.005; end

elseif seq_num==2 for m=1:128

fre_back_tmp(m)=(datai(dingshi+m-1)+j*dataq(dingshi+m-1))*conj(datai(dingshi+m-1+128)+j*dataq(dingshi+m-1+128)); end

fre_back_sum=sum(fre_back_tmp);

fre_offset_tmp=-320*angle(fre_back_sum)/(2*pi*128); fre_offset=fre_offset_tmp/0.005;

elseif seq_num>2 for m=1:48

fre_back_tmp(m)=(datai(dingshi+m)+j*dataq(dingshi+m))*conj(datai(dingshi+m+256)+j*dataq(dingshi+m+256)); end

fre_back_sum=sum(fre_back_tmp);

fre_offset_tmp=-320*angle(fre_back_sum)/(2*pi*256); fre_offset= fre_offset_tmp/0.005; end

dout=fre_offset;

% ************************end of file**********************************

%************************beginning of file***************************** %phase_comp.m

%实现OFDM符号的相位补偿

function dout=phase_comp(din)

%使用导频的相位信息来调整有效数据的偏移相位, %以实现正确的QPSK解调

%+++++++++++++++++++++++variables++++++++++++++++++++++++++++ % din 输入数据 % dout 输出数据

%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

qpsk_din=[din(1:8),din(10:17),din(19:26),din(28:35),din(37:44),din(46:53),din(54:61),din(63:70),din(72:79),din(81:88),din(90:97),din(99:106)];

搜索更多关于: OFDM - matlab源程序总结 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

%+++++++++++++++++++++++variables++++++++++++++++++++++++++++ % din 输入数据 % r 降采样的抽取因子 % init 设定的初始值 % dout 输出数据 %++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ for i=1:length(din), int1(i)=sum(din(1:i)); int2(i)=sum(int1(1:i)); end data_diff=zeros(1,length(int2)/r); data_diff=int2(init:r:end); da

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com