码元速率的盲估计
实现自论文
主要实现的是包络谱的检测方法。
算法的大致原理请看论文,本文这里是帮助实现了论文代码。分享出来。
源代码
clc
clear
close all
% 这是一个对码元速率的盲估计程序,先经过谱分析粗估计码元速率,然后利用
% CZT细化频谱,然后对码元速率精估计
Rs = 1000; % 设置码元速率,每秒1000个码元
T = 5; % 设置持续时间,[0,5]s
N = Rs * T; % 共有N个码元
fs = 8000;
dt = 1/fs;
IPOINT = fs / Rs; % 计算每个码元的采样点数
sum = N * IPOINT;
df = fs / sum;
data = randsrc(1, N, (0:3));
dataMod = pskmod(data, 4);
% 绘制星座图
% scatterplot(dataMod)
irfn=21; % 滤波器的抽头系数
alfs=0.5;
% 脉冲成型滤波器
xh=rcosdesign(alfs,irfn, IPOINT,'sqrt');
numOfFir = irfn * IPOINT;
% 上采样
dataUpsample = upsample(dataMod, IPOINT);
dataSent = conv(dataUpsample, xh);
% 接收数据
delay = floor(numOfFir/2);
%