共轭循环频率和非共轭循环频率实现

先说一个声明,很多东西都学习与CSP blog 这个博客,博主时W.A.Gardner的优秀弟子,我们学习DFT很容易停留在书本层面,比如下图:

 这里的绿色线,公式简单,仔细探究,conj(x(n))的DFT并不完全是X(K)的反转

 

 

 

 

 

 由于周期性,x(N)=x(0),所以,翻转X(K)之后,还要循环右移一位才能得到conj(x(n))的DFT

推而广之,在循环谱实现时候,FAM和SSCA算法在计算共轭循环谱时,根据公式

 

 

 

 

也就是说,y(t)=x(t)时,FAM算法计算非共轭循环频率,y(t)=conj(x(t))时,计算共轭循环频率(参考链接:comparison of cyclic correlation algorithm implemented in matlab and pythonPDF)

这里算法具体实现,由于已经得到

 

 

 所以我们不需要从头计算y的这个矩阵,只需要按照DFT规则,循环移位,对应上面矩阵就是flip(上面矩阵),将翻转后的矩阵最后一行放到第一行即可。end。希望对大家有帮助。

SSCA实现时候不用这么麻烦,因为他的实现公式为

 

 

 所以直接取共轭就ok.

下面是我对BPSK信号的仿真(f_bit=0.1Hz,fc=0.05Hz,fs=1Hz)

FAM估计非共轭循环频率(k*f_bit)

FAM估计共轭循环频率(2*fc +/- k*f_bit)

 

SSCA估计非共轭循环频率:

SSCA估计共轭循环频率:

 

end 

 

posted on 2021-11-18 21:52  张先森zxs  阅读(375)  评论(1)    收藏  举报