用GNU Radio生成Frank信号
LFM信号调频不调相(编码)
PSK信号调相(编码)不调频
Frank信号调频又调相:

Frank信号时频图长这样:
Frank时频图特别迷惑人的一点是它的6变型蜂窝结构。我后来搞明白,这个蜂窝结构是时频变换显示出来的,交叉项导致的,并不是Frank信号自带的特征。Frank时频图正常应该长这样:
看到没,这部分才是Frank信号的本体。非常有规律的,本质上就是离散的LFM。
STEP(频率步进调频)信号和Frank信号很像:
可以看出STEP信号脉冲与脉冲之间相位的突变的,而Frank信号脉冲与脉冲之间的相位是连续变化的。
参考实验室师姐的Frank信号MATLAB生成代码:
case 'FRANK'f4=f; %载频0.1~0.4M=4; %相位种类4~7个Tc=floor(N/(M*M));%每一个脉冲的点数phi0=zeros(M,M);for m=1:Mfor n=1:Mphi0(m,n)=2*pi/M*(m-1)*(n-1);endendphi=reshape(phi0',1,M*M);t=0:N-1;s=exp(1j*(2*pi*f4*t+ phi(mod(floor(t/Tc),M*M)+1))).';%Tc为每个脉冲的点数,t/Tc为第几个脉冲,mod(floor(t/Tc),M*M)依然是第几个脉冲,只不过脉冲个数小于等于M*Mif M==4s_start=floor(f4*N2)-63;s_end=floor(f4*N2)+63;end
看完上述这段MATLAB调制Frank的代码,我理解了时频图上Frank的形状是怎么来的了。
某一时刻给信号加相位并不会影响长观察时间下信号的频率,体现为正弦信号在时频图中作为一条直线,抖了那么一下,马上又回归为一条直线。从这个角度,BPSK,QPSK码为1时,就抖了一下,码为0时,就保持正常状态:
Frank信号也是如此,但是Frank信号很巧妙的是,它的抖动是递增的,每次小脉冲都使得这根“直线”向一个方向偏移一点
Frank信号每一个小脉冲变换2pi相位,就是无论它怎么抖,一个脉冲的首位是在同一直线上的:
phi0(m,n)=2*pi/M*(m-1)*(n-1);
Frank信号的一个特点是,每个小脉冲朝一个方向抖动的次数=大脉冲里小脉冲的个数:
当然这个图明显是截断了的,只截了2/3
看到这,对什么是Frank信号基本很了解了,可以设计对应的电路图了。
一种简单的Frank信号调制方法:在BPSK电路基础上,控制编码,0101作为一个大脉冲;或QPSK电路基础上,00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11作为一个大脉冲。但这种方式只能M为2、4、8等,如果Frank的M取3、5、6、7等,就得用到移相器了。
GNU Radio流图:
持续更新中......