我有一系列np.complex128
从 RTLSDR 读取样本收集的复杂 IQ 数据(类型)。作为参考,感兴趣的信号是 LTE eNodeB 的下行链路传输的中心频率,其具有以恒定间隔重复的值(循环前缀)。值本身是未知的,但它的重复频率是已知的。我将调用N_FFT
循环前缀之间的样本数。
我想要做的是使用两个由N_FFT
样本分隔的滑动窗口,期望两个窗口之间的相关性在循环前缀(重复值)处最高。
我试过的:
我从一个 Pandas 系列开始:
samples = pd.Series(sdr.read_samples(samples_per_capture))
然后,我将这个系列分成两个偏移系列N_FFT
并运行pandas.core.window.rolling.Rolling.corr以找到滚动相关性:
N_FFT=128
WINDOW_SIZE=9
X = samples[:-N_FFT]
Y = samples[N_FFT:]
corr = X.rolling(WINDOW_SIZE).corr(Y)
但是,当我运行它时,我收到一个警告:
ComplexWarning: Casting complex values to real discards the imaginary part
,并且绘制的数据对我来说没有多大意义,我认为如果数据的虚部被丢弃,这是可以预料的。
对复杂数据执行滚动窗口关联的正确方法是什么?