资源简介

使用matlab实现科斯塔斯环的同步,利用本地初始频率和科斯塔斯环,经过多次迭代后,使最后获得的载波频率趋近于实际发送信号的载波频率

资源截图

代码片段和文件信息

clc;clear all;close all;
fs = 50e6; %采样频率
ts = 1/fs; 
num = 2e6;  %数据长度
SNR = -15;
real_fc = 10000500; %实信号频率
data = sin(2*pi*real_fc*(0:num-1)*ts+pi/4)+sqrt(10^(SNR/10))*randn(1num); %科斯塔斯环的输入信号
fc = 10000000; %本地频率
K=1e4;
n = fs/K; %累积时间为0.1ms
nn = [0:n-1];
nf = floor(length(data)/n);% 将输入数据分成0.1ms的多个数据块
wfc = 2*pi*fc;  %本地信号
phi_prv = 0;
temp = 0;
frame = 0;
carrier_phase = 0;
phase = 0;

%环路滤波器的参数
K=1e4;
k1=32e3;
bl=0.0001*K;
w=bl/0.53;
T=1/K;
k0=2*pi*T*fs/2^32;
% k0=1;
% c1=2*0.707*w*T/k0;
% c2=(w*T)^2/k0;
c1=1203.9;
c2=16.22; 
% c1=18237;
% c2=2433.48;  
%  c1=10;
%  c2=5;
%数据率为4kbps1bit数据采样点数为12.5K,每5K个点累加一次,相当于4个数据累加清零一次,
%w=0.01*4KT=1/4Kk0=2*pi*T*fs/2^32c1=2*0.707*w*T/k

评论

共有 条评论