MATLAB产生雷达脉冲信号,一些有关雷达的程序 另外求有关单脉冲雷达信号产生的程序...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

小女子 路遇强悍的毕业设计 来到贴吧 求大神们 出手相助 感激不尽!!

893666d8d246e8ab1fdce0cee9d6d58e.gif

在此给出一点程序 看可不可以帮助到大家

线性调频信号的产生程序

T=10e-6; %pulse duration10us

B=30e6; %chirp frequency modulation bandwidth 30MHz

K=B/T; %chirp slope

Fs=2*B;Ts=1/Fs; %sampling frequency and sample spacing

N=T/Ts;

t=linspace(-T/2,T/2,N);

St=exp(j*pi*K*t.^2); %generate chirp signal

subplot(211)

plot(t*1e6,real(St));

xlabel('Time in u sec');

title('Real part of chirp signal');

grid on;axis tight;

subplot(212)

freq=linspace(-Fs/2,Fs/2,N);

plot(freq*1e-6,fftshift(abs(fft(St))));

xlabel('Frequency in MHz');

title('Magnitude spectrum of chirp signal');

grid on;axis tight;

线性调频信号的压缩

T=10e-6; %pulse duration10us

B=30e6; %chirp frequency modulation bandwidth 30MHz

K=B/T; %chirp slope

Fs=10*B;Ts=1/Fs; %sampling frequency and sample spacing

N=T/Ts;

t=linspace(-T/2,T/2,N);

St=exp(j*pi*K*t.^2); %chirp signal

Ht=exp(-j*pi*K*t.^2); %matched filter

Sot=conv(St,Ht); %chirp signal after matched filter

subplot(211)

L=2*N-1;

t1=linspace(-T,T,L);

Z=abs(Sot);Z=Z/max(Z); %normalize

Z=20*log10(Z+1e-6);

Z1=abs(sinc(B.*t1)); %sinc function

Z1=20*log10(Z1+1e-6);

t1=t1*B;

plot(t1,Z,t1,Z1,'r.');

axis([-15,15,-50,inf]);grid on;

legend('emulational','sinc');

xlabel('Time in sec \times\itB');

ylabel('Amplitude,dB');

title('Chirp signal after matched filter');

subplot(212) %zoom

N0=3*Fs/B;

t2=-N0*Ts:Ts:N0*Ts;

t2=B*t2;

plot(t2,Z(N-N0:N+N0),t2,Z1(N-N0:N+N0),'r.');

axis([-inf,inf,-50,inf]);grid on;

set(gca,'Ytick',[-13.4,-4,0],'Xtick',[-3,-2,-1,-0.5,0,0.5,1,2,3]);

xlabel('Time in sec \times\itB');

ylabel('Amplitude,dB');

title('Chirp signal after matched filter (Zoom)');

雷达的目标跟踪源程序

clc;

clear;

T=2;%雷达扫描周期

num=100;%滤波次数

%*******************************产生真实轨迹**********************************

N=800/T;

x=zeros(N,1);y=zeros(N,1);

vx=zeros(N,1);vy=zeros(N,1);

x(1)=-2000;

y(1)=1000;

vx=15;vy=0;

ax=0;ay=0;

var=100;

%产生真实轨迹

for i=1:N-1

x(i+1)=x(i)+vx*T+0.5*ax*T^2;

y(i+1)=y(i)+vy*T+0.5*ay*T^2;

end

nx=zeros(N,1);ny=zeros(N,1);

nx=100*randn(N,1);

ny=100*randn(N,1);

zx=x+nx;zy=y+ny;

%滤波50次

for m=1:num

z=2:1;

xks(1)=zx(1);

yks(1)=zy(1);

xks(2)=zx(2);

yks(2)=zy(2);

o=4:4;g=4:2;h=2:4;q=2:2;xk=4:1;perr=4:4;

o=[1,T,0,0;0,1,0,0;0,0,1,T;0,0,0,1];

h=[1 0 0 0;0 0 1 0];

g=[T/2,0;T/2,0;0,T/2;0,T/2];

q=[10000 0;0 10000];

perr=[var^2 var^2/T 0 0

var*var/T 2*var^2/(T^2) 0 0

0 0 var^2 var^2/T

0 0 var^2/T 2*var^2/(T^2)];

vx=(zx(2)-zx(1))/2;

vy=(zy(2)-zy(1))/2;

xk=[zx(1);vx;zy(1);vy];

%卡尔曼滤波开始

for r=3:N;

z=[zx(r);zy(r)];

xk1=o*xk;

perr1=o*perr*o';

k=perr1*h'*inv(h*perr1*h'+q);

xk=xk1+k*(z-h*xk1);

perr=(eye(4)-k*h)*perr1;

xks(r)=xk(1,1);

yks(r)=xk(3,1);

vkxs(r)=xk(2,1);

vkys(r)=xk(4,1);

xk1s(r)=xk1(1,1);

yk1s(r)=xk1(3,1);

perr11(r)=perr(1,1);

perr22(r)=perr(2,2);

rex(m,r)=xks(r);

rey(m,r)=yks(r);

end %结束一次滤波

end

ex=0;ey=0;

eqx=0;eqy=0;

ey1=0;

ex1=N:1;ey1=N:1;

%计算滤波的均值

%计算滤波误差的均值

for i=1:N

for j=1:num

ex=ex+x(i)-rex(j,i);

ey=ey+y(i)-rey(j,i);

end

ex1(i)=ex/num;

ey1(i)=ey/num;

ex=0;eqx=0;ey=0;eqy-0;

end

%绘图

figure(1);

plot(x,y,'k-',zx,zy,'b:',xks,yks,'r-.');

legend('真实轨迹','观测样本','估计轨迹')'

figure(2);

plot(ey1);

legend('x方向平均误差');

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值