gardner时间同步matlab仿真和FPGA实现

本文详细介绍了使用Matlab进行通信系统仿真,包括数据生成、调制、帧同步、Gardner定时同步、误码统计等步骤,并展示了关键函数如调制、滤波和时间同步过程。
摘要由CSDN通过智能技术生成

算法原理参考https://zhuanlan.zhihu.com/p/345445660
时间同步原理框图:

在这里插入图片描述在这里插入图片描述

Matlab仿真流程:1)产生调制数据;
2)插入帧头(帧同步);
3)成形滤波上采样;
4)加入采样偏差;
5)接收匹配滤波;
6)gardner定时同步;
7)帧同步;
8)解调;
9)误码统计;

clc
clear  
close all
%% 参数设置
len = 1e4;             % 每帧仿真数据长度
fame = 4;              %% 帧数,帧数越多误码率越精确,仿真速度越慢
mtype = 3;             %%  调制方式 1:bpsk , 2:qpsk , 3:8psk 
snr = 30 ;             %% 信噪比
%% 生成bit数据
msg = randi([0 1],len*mtype,1);   % 生成bit信号 
[tx_mod] = modulation(mtype,msg);

figure(1)
plot(tx_mod,'.r')
title('调制后星座图')
%% 重复多帧
head = tx_mod(1:64);                 %% 取64个符号作为同步帧头
tx_mod_r = repmat(tx_mod.',1,fame);  %% 重复帧数 
%% 2倍成型滤波
sps = 2; %% 上采样倍数
Alpha = 0.45; %%滚降系数
[tx_fir,fir_hn] = rcos_up(tx_mod_r,sps,Alpha);

%% 加噪声
tx_agwn = awgn(tx_fir,snr);

%% 加入采样偏差
fs = 100e6;
ppm = 100e-6;
data_rx = func_reshape(tx_agwn,fs,ppm);

%% 接收匹配滤波
data_farrow  = filter(fir_hn,1,data_rx);
figure(9)
plot(data_farrow(end-1e4:end),'.r');
title('时间同步前星座图')
%% 时间同步
[gardner_out,miu_out] = gardner_func(data_farrow);
 
figure(10)
plot(gardner_out(end-1e4:end),'.r');
title('时间同步后星座图')
  
figure(11)
plot(miu_out );
title('时间同步收敛uk')   
%% 符号同步
sync_out = xcorr(head.',gardner_out);
figure(12)
plot(abs(sync_out));
title('符号同步相关峰')


function [output ] = func_reshape(input,fs,ppm)

% fs = 100e6;
% ppm = 100e-6;
fs_rx= fs + fs*ppm;
output = resample(input, fs_rx ,fs);

end

function [output,fir] = rcos_up(input,sps,Alpha)

span = 16;          % number of symbols
fir = rcosdesign(Alpha,span,sps,'sqrt');   %%产生根升余弦滤波器系数
% fvtool(fir)
output = upfirdn(input,fir,sps);  %%内插滤波
end

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
需要gardner-matlab和FPGA代码可私信交流。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MRHLT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值