用科斯塔斯 (COSTAS) 环法来实现二进制相移键控 (BPSK) 的相干解调-理论部分

科斯塔斯 (COSTAS) 环

以下总结基于个人学习整理,欢迎批评指正。


一、Costas环基本概念

科斯塔斯 (COSTAS) 环又称同相正交环或边环,它的原理框图如图1所示。科斯塔斯 (COSTAS) 环主要由相位鉴别器 (PD)、压控振荡器 (VCO) 和环路滤波器 (LF) 三部分构成。相位鉴别器 (PD) 用来鉴别两个输入信号之间相位的差异,可以简单的是一个乘法器。环路滤波器 (LF) 的作用是滤波,降低环路中的噪声,使滤波结果既能真实地反映环路滤波器 (LF) 输入信号的相位变化情况,又能防止由于噪声的缘故而过激地调节压控振荡器 (VCO),环路滤波器 (LF) 通常是一个低通滤波器。压控振荡器 (VCO) 的基本功能是产生一定频率的周期振荡信号,并且该信号的频率变化量与输入的控制信号的大小成正比。

图1 Costas环原理框图

二、公式推导

在这里插入图片描述

在这里插入图片描述
环路滤波器两个参数的确定:
在这里插入图片描述

参考:
[1]骞尧.基于COSTAS环的BPSK信号解调的研究与仿真[J].中国新通信,2017,19(15):60-61.
[2]https://blog.csdn.net/little_soldier/article/details/105010022

  • 9
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
科斯塔Costas loop)是一种常用于相位同步的数字信号处理技术。它主要用于解决相位偏移和频率偏移的问题,常见于通信系统中的调制解调器和同步电路中。 在Matlab中,可以使用信号处理工具箱来实现科斯塔。以下是一个简单的科斯塔的Matlab实现示例: ```matlab % 设置参数 fs = 1000; % 采样率 t = 0:1/fs:1-1/fs; % 时间序列 f1 = 10; % 输入信号频率 f2 = 20; % 参考信号频率 phi = pi/4; % 初始相位偏移 % 生成输入信号和参考信号 x = cos(2*pi*f1*t + phi); % 输入信号 ref = cos(2*pi*f2*t); % 参考信号 % 科斯塔参数设置 loopBW = 0.01; % 带宽度 dampingFactor = 1; % 阻尼因子 phaseRecoveryGain = 2*pi*loopBW*dampingFactor; % 相位恢复增益 % 初始化变量 theta_hat = zeros(size(t)); % 估计的相位偏移 error = zeros(size(t)); % 相位误差 % 科斯塔迭代计算 for n = 2:length(t) error(n) = angle(x(n) * conj(ref(n-1))); % 计算相位误差 theta_hat(n) = theta_hat(n-1) + phaseRecoveryGain * error(n); % 更新相位估计 end % 绘制结果 figure; subplot(2,1,1); plot(t, x); hold on; plot(t, ref); xlabel('时间'); ylabel('幅度'); legend('输入信号', '参考信号'); subplot(2,1,2); plot(t, error); hold on; plot(t, theta_hat); xlabel('时间'); ylabel('相位误差/相位估计'); legend('相位误差', '相位估计'); ``` 这段代码实现了一个简单的科斯塔,包括生成输入信号和参考信号、设置科斯塔参数、迭代计算相位误差和相位估计,并绘制了结果图。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值