位置,然后根据公式fc=k/N*fs得到载频。
需要注意的是,在傅里叶变换后,会有较大的直流分量的影响,因此需要将直流分
量去除,然后再求最大值。
求载频的代码如下: N=10000;
for i=1:length(b)
maichong=[s(b(i,1):b(i,2))];
maichong_FFT=abs(fft(maichong,N)); maichong_FFT(1:60)=0;
maichong_FFT(9940:10000)=0; [Fcmax,k]=max(maichong_FFT); Fc(i)=k/N*fs; ü矩阵存放载频 End
实验结果如图5.9所示:
2.5x 107载频21.510.50050100150200250
图5.9
通过观察可看出,测得的载频大量集中于5MHz,10MHz,15MHz,20MHz,还有部分零散分布在20—25MHz,与了雷达发射信号的载频近似符合,测量结果比较准确。
5.3雷达信号分选实验
思路步骤:根据测得的脉宽和载频,利用K均值聚类法,对测得的脉冲进行聚类分选,其难点在于K均值聚类。
K均值聚类的思想是,先人为选定四个与真实值较为接近的聚类中心,然后设定四个聚类种类,求出其余各点与聚类中心的距离,将这些距离求均值,如果此均值与原聚类中心的距离小于一个门限值,则说明此聚类中心比较合适,聚类结束;若此均值与原聚类中心的距离大于门限,则将此均值当做新的聚类中心,从头开始,在进行聚类,直到聚类结束,最终得到四类。
实验中较大的难点在于门限值的设置,需要根据每次得到的数据进行分析,设定一个合适的门限。
实验结果: 脉冲分类 脉宽(us) 简单体制脉冲 载频(MHz) 脉冲个数(个) 脉宽(us) 线性调频脉冲 载频(MHz) 脉冲个数(个) 脉宽(us) 重频参差脉冲 载频(MHz) 脉冲个数(个) 脉宽(us) 重频抖动脉冲 载频(MHz) 脉冲个数(个) 实际值 6 10 100 20 20 100 10 5 100 30 15 100 测量值 5.7 10.0 21 19.6 22.5 21 9.5 5.0 71 31.1 15.0 50 通过上表可以看出,四种体制的脉冲信号的脉宽和载频的测量值与实际值在误差允许的范围内较为精确,基本能够分选出四种体制信号的参数;但脉冲个数的聚类结果与实际值相差较大。
脉冲个数误差较大的原因主要有:a. 脉冲的重叠,产生很大脉宽的脉冲,在筛选脉冲
时将其舍弃;
b. 聚类时,由于误差的存在,部分脉冲与聚类中心
距离较大,在门限值之外,因此将其舍弃。
六、 实验心得
本次实验是一个比较综合的实验,是对以前学习的五门课程知识的综合总结。虽然最终没有完成全部的实验内容,但通过完成的实验内容,我感觉收获已经很多。
实验中产生四种不同体制的雷达信号,这在电子战实验中已经做过了,但需要产生100个脉冲,因此需要理解脉冲重复间隔和时间的关系,根据采样定理,还需要使采样率大于2倍的载频。在这部分中,我对各种体制雷达信号的原理有了一定掌握,之前对于这些信号调制原理根本不懂。此外,在测量脉宽和载频时,加深了对信号点数与脉宽、载频之间的转换关系。
通过实验,我收获最大的是使用matlab编程的能力有了明显提高,这个实验的程序应该是我大学四年编程最长最综合的一次,在编程过程中不断理解原理,思考编程思路,如何将原理转变成程序来实现,不断调试程序、修改程序,最终得到较为满意的实验结果,这为我下学期的毕业设计打下了较好的基础。
实验过程中,我得到了教员以及一些能力水平比较高的同志的帮助和指导,可以看出自己与某些同志之间的差距,这对我的帮助也是很大的,在感谢教员和同志们的同时,我也会从整个实验过程中总结经验,在今后的学习中弥补不足。
七、 源代码附录
%% %%%%%%%%简单脉冲雷达信号%%%%%%%%
clc
clear all close all
PW=6e-6; %脉宽 fs=10e7; %采样频率 fc=10e6; %载频
prt=30e-6;%脉冲重复间隔 pri=1/prt; %脉冲重复频率 t=0:1/fs:100*prt;
y=cos(2*pi*fc*t-0.5);
duty=100*PW/prt; %占空比
s=(square(2*pi*pri*t,duty)+1)/2; %产生方波 Y1=y.*s;
plot(t*1e6,Y1);
xlabel('t/us');ylabel('幅度');title('简单脉冲信号');
%% %%%%%%%%%%%线性调频雷达信号%%%%%%%%%% pw=20e-6; %发射脉宽 B=10e6; %调频带宽 % fs=10e7; %采样频率 fc=20e6; %载频 prt=70e-6;
pri=1/prt; %脉冲重频 t=0:1/fs:prt;
f0=rectpuls(t-pw/2,pw);
Fc=f0.*exp(j*2*pi*(fc*t+B/pw*t.*t)); % figure
% plot(abs(fft(Fc))); % figure;
% plot(t*1e6,real(Fc));title('线性调频信号');xlabel('t/us'); Y2=repmat(Fc,1,100); figure;
plot(real(Y2));title('线性调频脉冲发射信号'); %% %%%%%%%%%PRI参差%%%%%%%%% fc=5e6; %载频 tao=10e-6; %脉宽 prt1=100e-6; prt2=200e-6;
prt3=300e-6; %脉冲间隔 % fs=3*fc; %采样频率
prt=prt1+prt2+prt3; %参差脉冲间隔
pri=1/prt; %参差脉冲重频 t=0:1/fs:33*prt;
zhankong=tao/prt*100; %占空比 x=sin(2*pi*fc*t);
y =(square(2*pi*pri*t,zhankong)+1)/2;
s1=(square(2*pi* pri *(t-prt1), zhankong)+1)/2;
s2=(square(2*pi* pri *(t-prt1-prt2), zhankong)+1)/2;
s3=(square(2*pi* pri *(t-prt1-prt2-prt3), zhankong)+1)/2; Y3=x.*s1+x.*s2+x.*s3; figure;
plot(t*1e6,abs(Y3));title('PRI参差信号'); xlabel('t/us');ylabel('幅度');
%% % %%%%%%%重频抖动信号%%%%%% fc=15e6; %载频 pw=30e-6;%脉宽
prix=(rand(1,4)*0.5*50+50)*1e-6;
pri1=prix(1);pri2=prix(2);pri3=prix(3);pri4=prix(4); pri=pri1+pri2+pri3+pri4; prt=1/pri;
zhankong=pw/pri*100; %占空比 t=0:1/fs:25*pri; x=sin(2*pi*fc*t);
y1=(square(2*pi*prt*t,zhankong)+1)/2;
y2=(square(2*pi*prt*(t-pri1),zhankong)+1)/2; y3=(square(2*pi*prt*(t-pri1-pri2),zhankong)+1)/2; y4=(square(2*pi*prt*(t-pri1-pri2-pri3),zhankong)+1)/2; y5=(square(2*pi*prt*(t-pri1-pri2-pri3-pri4),zhankong)+1)/2; Y4=x.*y2+x.*y3+x.*y4+x.*y5; figure;
plot(t*1e6,abs(Y4));
title('PRI抖动雷达脉冲信号'); xlabel('t/us');ylabel('幅度');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 雷达信号截获
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%4 %%%设定雷达和接收机的坐标 % clc;closeall;clear all;
leidax=[1e4 2.3e4 3.5e4 7e4]; leiday=[4e4 1.8e4 4.5e4 3e4]; jieshoux=[5e4 6.2e4]; jieshouy=[1.5e3 6e3];
% stem(leidax,leiday);hold on; % stem(jieshoux,jieshouy,'r'); % axis([0,1e5,0,5e4]);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 计算接收机与雷达的距离
%%%%%%%%与接收机1的距离%%%%%% for i=1:4
R1(i)=sqrt((leidax(i)-jieshoux(1))^2+(leiday(i)-jieshouy(1))^2); end
%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%与接收机2的距离%%%%%% for i=1:4
R2(i)=sqrt((leidax(i)-jieshoux(2))^2+(leiday(i)-jieshouy(2))^2); end
%%%%%%%%%%%%%%%%%%%%%%%%%%% Pt=[1e7 2e7 3e7 4e7];%各雷达的发射功率 Ar=[1 1.2];%两个接收机的有效接收面积 Gt=[30 31 32 33];
Gtt=10.^(Gt./10); %各雷达天线增益
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 接收机的接收功率 for i=1:4
Pr1(i)=(Pt(i).*Gtt(i)*Ar(1))./(4*pi*(R1(i)^2));%求接收机1的接收功率 end for i=1:4
Pr2(i)=(Pt(i).*Gtt(i)*Ar(2))./(4*pi*(R1(i)^2));%求接收机2的接收功率 end
%% 加时沿 c=3e8;
shiyan1=rand(1,4)/1e3; %产生接收机1的随机时延 for i=1:4
shiyan2(i)=shiyan1(i)+(R2(i)-R1(i))/c; %接收机2的时延与时延1有关 end
%% 加噪声 SNR=20; %信噪比 snr=1/(10^(SNR/10)); % noise=-30;
%%%%接收机1接收的信号
Y11=[zeros(1,fs*shiyan1(1)) Y1];len11=length(Y11); %%加时延 Y12=[zeros(1,fs*shiyan1(2)) Y2];len12=length(Y12); Y13=[zeros(1,fs*shiyan1(3)) Y3];len13=length(Y13); Y14=[zeros(1,fs*shiyan1(4)) Y4];len14=length(Y14); % noise11=awgn(Y11,noise); % noise12=awgn(Y12,noise); % noise13=awgn(Y13,noise); % noise14=awgn(Y14,noise);
noise11=sqrt(snr/2)*(randn(1,len11));