Bootstrap

载波同步DPSK(相干调制)

载波同步又称载波恢复,即在接收端产生一个和接收信号的载波同频同相的本地震荡信号,供解调器做干解调使用。采用相干解调法,在接收端中就需要有载波同步电路,提取相干解调法所需要的载波信号。相干载波必须与接收信号同频同相。(叭叭叭叭叭叭,不讲下去了,概念讲了也没啥用,推荐的书在下面,看来至少明白一点,这里不讲了)

具体原理可以参考杜勇老师的《数字调制技术的matlab和fpga实现》一书。深入了解锁相环的工作原理,对鉴相器、环路滤波器、NCO有一定了解(后面单发总结)。

//============================载波同步============================//

一、MATLAB部分

1.产生一个频偏fc=1e-3,相偏ph=1.3的载波信号。

2.产生一个随机信号叠加载波,sig。

3.鉴相:将信号sig_adj(sig消除误差相位后的信号)实部与虚部相乘,输出误差。

4.滤波(这里采用二阶环):对误差相位经行滤波,得到err_a、err_b ;

5.消相差:sig*exp(j*(ph)); ph=err_a+err_b+ph;

clear all;
len=4096;
fc=1e-3 ;
din=randi([0 1],1,len);
data=1-2*din;
fs=32*10^6;
t=0:len-1;
ph=1.3;
sig=data.*exp(j*(2*pi*fc*t+ph));
ph=zeros(1,len);
freq=zeros(1,len);
sig_adj=sig;
err_a=zeros(1,len);
err_b=zeros(1,len);
alpha=1e-2;
belta=1e-2;
for ii=1:len-1
    sig_adj(ii)=sig(ii)*exp(-j*ph(ii));
    err_a(ii)=alpha*real(sig_adj(ii))*imag(sig_adj(ii));
    err_b(ii+1)=err_b(ii)+belta*err_a(ii);
    ph(ii+1)=ph(ii)
;