Mathematica研究FZC序列的一些数学性质

mma中Fourier函数的缺省FourierParameters是{0,1}
做数学时,使用一些函数最好知道具体的加减乘除运算是怎么算的;注意有无系数放缩,有无左右手坐标系规定,下标从0开始还是从1开始,等等。

仅仅验证ZFC序列的一些数学性质。不保证正确性

准备工作

FZCSequence[NN_] := 
 Module[{q = 0, u = 1, cf = NN~Mod~2}, 
  Table[Exp[-I*Pi*u*n*(n + cf + 2*q)/NN], {n, 0, NN - 1}]]

FZCSequence[NN_,q_,u_]:= 
 Module[{cf = NN~Mod~2}, 
  Table[Exp[-I*Pi*u*n*(n + cf + 2*q)/NN], {n, 0, NN - 1}]]

CircCorrelation[seq_] := 
 Module[{kk = Length@seq}, 
  Table[RotateLeft[seq, k].Conjugate[seq] // N, {k, 0, kk - 1}]]

下面进行测试

性质1

FZC序列的圆周循环相关函数 在lag=0处不为0,其余都为0

(*圆周循环相关函数 在lag=0处不为0,其余都为0*)
CircCorrelation[FZCSequence[1024]] // Abs // 
 ListPlot[#, PlotRange -> {-1, 1050}, Axes -> False] &

性质2

FZC序列模值为1,其做DFT(这里的DFT有系数放缩)得到的序列也是FZC序列(这里缺个证明)

{FZCSequence[64], Fourier[FZCSequence[64]]} // 
 ComplexListPlot[#, PlotLegends -> Automatic] &

性质3

FZC序列做DFT得到新序列,新序列的圆周循环相关函数 在lag=0处不为0,其余都为0

CircCorrelation[FZCSequence[1024] // Fourier] // Abs // 
 ListPlot[#, PlotRange -> {-1, 1050}, Axes -> False] &

posted @ 2022-03-22 21:25  yhm138  阅读(246)  评论(0)    收藏  举报