计算信号循环谱的函数:
这个函数用来计算数字调制信号的循环谱图,结果存放在sxf中,surf和shading interp这两个函数配合使用就可以得到信号的循环谱图,M一般取64,N取2048。需要注意的是,数字信号要保留一定的载频,不能是基带信号。
function sxf=MyCS_density(s,M,N)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 谱相关的计算函数
%% 参数说明:M是平滑窗,必须为2的幂
%% N是信号序列长度,必须为2的幂
%% s是时域序列
%% sxf是返回参数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
spe_s = fft(s,N);
k = N/2-M;
sxf = zeros(2*k+1,4*k+1); %因为菱形区之外的数为零
for ff = -k:k;
for alpha= -k+ff:1:2* ff %(菱形区)
for v = -M:M
temp1 = ff+v+alpha/2;
temp2 = ff+v-alpha/2;
if(temp1<1)
temp1 = temp1+N;
end
if(temp2<1)
temp2 =temp2+N;
end
cospe(v+M+1) = spe_s(temp1)* spe_s(temp2);
end
j=ff+k+1;
u=alpha+k+1;
sxf(j,u) =(abs( cospe))/(2*M*N);
end