📄 bpsk.m
字号:
clear;
clc;
fc=30*10^6;%载频
rb=10*10^6;%码元速率
t0=1*10^(-6);
fs=160*10^6;
n=fs/rb;%%%%%%一个码元的采样数
num=0;
%for k=1:10
xb=randint(1,100);
x2=xb.*2-1;%%%%%%%%%%%(0,1)—>(-1,1)
t=1:length(x2)*n;
%%%%%%%%%%数据采样
for i=1:length(x2)
for j=1:n
x3((i-1)*n+j)=x2(i);
end
end
sig=cos(2*pi*fc*t/fs+x3.*pi/2);
x=sig(1:1000);
%x=awgn(x,10,'measured');
%%%%%%%%%幅度谱
%x=hilbert(x1);
[S,rho]=cyclic_cross_periodogram(x,x,64,'hamming','hamming',1);
N=64;
f=linspace(-0.5,0.5,N+1);
alpha=linspace(-0.5,0.5,N+1);
mesh(alpha,f,S)
xlabel('alpha/Hz');
ylabel('f/Hz');
zlabel('Amplitude');
S1=rho(floor(N/2),:)';
m1=max(rho*S1);
S2=S1/m1;%信号的归一化循环谱密度
[S3,index1]=max(S2);%提取S2的最大峰值
m=mean(S2);%计算S2的均值
for k=1:N
S4(k)=k*S2(k);
end
S5=sum(S4);
S6=sum(S2);
index2=S5/S6;%S2的中心位置
d=abs(index2-index1);%index1是S2峰值位置,d为S2的中心位置和峰值位置的差的绝对值
p=S2;%alpha轴上的周期谱线
s=sum(p.*p)/N;%Sx在alpha轴上的周期谱线平均能量S
v=sqrt(s-(sum(p)/N)^2);%标准偏差
k=mean(S2.^3)/v^3;%S2的偏度系数
for i=1:N
for j=1:N
if rho(i,j)==1
rho(i,j)=0;
end
end
end
[rho1,index3]=max(max(rho));%rho的次大值
if rho1<0.99&r3>0.15&Smax>0.5&m>0.1
num=num+1;
end
%end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -