OFDM之STO

2 篇文章 0 订阅

OFDM之STO

	对于时偏进行定位,只要落在CP范围以内就行,通过简单的LS信道估计+线性插值就可以将定位不准的问题解决;不需要额外的处理
clc;clear;close all
load('A.mat')

M = 64;
k = log2(M);
FFT_size = 1024;
STO1 = 10;
IFO = 5;
FFO = 0;
t2 = (0:1023).';
phase = exp(-1i*2*pi*STO1/1024*t2);

t3 = (88:1111).';

%% 发送端
data = randi([0 1],FFT_size*k,1);
txSig = qammod(data,M,'InputType','bit','UnitAveragePower',true);
ifft_tx = ifft(txSig,FFT_size);
CP_data = [ifft_tx(end-88+1:end);ifft_tx;zeros(30,1)];

%% 信道
% 
% t1 = (0:length(CP_data)-1).';
% rx_data =  CP_data.*exp(-1i*2*pi*(IFO+FFO)/1024*t1);
rx_data =  CP_data;

%% 接收端
decp_data = rx_data(89-STO1:end-STO1-30);
fft_data = fft(decp_data,1024);
H_est = fft_data(1:2:end)./txSig(1:2:end);
H = interp1(1:2:1024,H_est,(1:1024).','linear','extrap');

phase_data = fft_data./H;

rxSig = qamdemod(phase_data,M,'OutputType','bit','UnitAveragePower',true);
[num,err] = biterr(data,rxSig)


%% 画图.
figure(1)
scatterplot(phase_data)


%% STO估计不准,就会引入连续相位误差,非共相位误差



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值