📄 mysignal1_5m.m
字号:
% 1000hops/s 每跳10000个采样点 1.6MH-2.43MH 830跳频点 跳频间隔1kHz 采样频率5MHz 采样时间0.1s
% 属于分频段跳频
% 1000000个采样点
% clc
% clear
a0(1)=1;
a1(1)=0;
a2(1)=0;
a3(1)=0;
a4(1)=1;
a5(1)=0;
a6(1)=0;
a7(1)=0;
a8(1)=1;
a9(1)=0;
for n=1:1023
b0(n)=a0(n);
b1(n)=a1(n);
b2(n)=a2(n);
b3(n)=a3(n);
b4(n)=a4(n);
b5(n)=a5(n);
b6(n)=a6(n);
b7(n)=a7(n);
b8(n)=a8(n);
if mod((a9(n)+a6(n)),2)==1 %10位m序列%
a0(n+1)=1;
else
a0(n+1)=0;
end
a1(n+1)=b0(n);
a2(n+1)=b1(n);
a3(n+1)=b2(n);
a4(n+1)=b3(n);
a5(n+1)=b4(n);
a6(n+1)=b5(n);
a7(n+1)=b6(n);
a8(n+1)=b7(n);
a9(n+1)=b8(n);
Code(n,:)=[a0(n),a1(n),a2(n),a3(n),a4(n),a5(n),a6(n),a7(n),a8(n),a9(n)];
end
MAXCLOCK=5000; %总时钟
i=1;
SaveFrq=[];
CLOCK=0;
step=50; %步长
while CLOCK < MAXCLOCK
CLOCK=CLOCK+step;
if mod(CLOCK,50)==0
tempcode=512*Code(i,10)+256*Code(i,9)+128*Code(i,8)+64*Code(i,7)+32*Code(i,6)+16*Code(i,5)+8*Code(i,4)+4*Code(i,3)+2*Code(i,2)+Code(i,1);
F=1601000:1000:2430000; %频率范围
if (tempcode<=830)
Frq=F(tempcode) ;
elseif (tempcode<=1024)
Frq=F(mod(tempcode,830)+1);
end
% Frq=Frq*1e6;
% mixFrq=Frq/1000e3 ???
mixFrq=Frq;
i=i+1;
%if i>825
% i=1;
%end
SaveFrq=[SaveFrq;mixFrq]; %跳频频点 100个=500/50!?每执行一次,多填入一个mixFrq
end
end
figure(3)
p=1:500000; %1*500000的矩阵
for i=1:length(SaveFrq); %1-100
j=(5000*(i-1)+1):(5000*i); %每跳5000点 j是矩阵吗??
p(j)=SaveFrq(i);
plot(j/5000000,p(j),'.'); %5000000=5000/0.001
hold on
end
title('跳频图案')
xlabel('time(s)')
ylabel('freuency(Hz)')
% axis([0 0.005 4002000 4400000]);
% q=zeros(1,512*length(SaveFrq)); ???/
for i=1:length(SaveFrq); %100
j=(5000*(i-1)+1):(5000*i); %0-1000000
q(j)=SaveFrq(i);%q可以不定义就赋值?
end %% 为q负值!
j=sqrt(-1); %调制部分
l=length(q); %500000
W=2.185*randn(1,l);
m=round(l/5000); %% 100
y=zeros(1,l);z=zeros(1,l);
for n=1:m; %1-100
for i=(5000*(n-1)+1):(5000*n); %0-500000
z(i)=4*exp(j*(q(i)*i/5000000+pi/3)); %%4*exp() 100*5000个点
y(i)=z(i)+W(1,i);
end
end
figure(2)
t=1:500000;
plot(t/5000000,y(t));
grid on;
xlim([0 0.1])
ylim([-15 +15])
xlabel('time(s)')
ylabel('amplitude')
snr=10*log(cov(z)/cov(W))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -