TA的每日心情 | 开心 2019-11-29 15:39 |
|---|
签到天数: 4 天 [LV.2]偶尔看看I
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一个matlab拟合工具箱的问题请教大神。
0 X' l$ q4 P+ m; U8 G程序如下:
: t& s4 k7 S4 ~, R$ r' yclear
( z/ C% y& t6 {9 {close all
% u [/ P6 u$ F. g. F/ c% 仿真一个LFM脉冲,并做距离处理
( i& G( |4 e5 ^* r4 Q- D. OC = 3e8;/ _( _: z% f% [; x0 D& k8 u3 j
Tp = 0.32; %脉宽# z; t+ Y# n: f7 U
Tpp = 0.5; %脉冲重复周期
2 K/ j5 {" | \& [/ Gfsx = 6000; %采样率3 |% Z4 w5 ~& |/ f9 S9 Q
Bw = 2000; %带宽2 G, O) O3 `) G1 ]6 I
7 P9 E' X$ y8 b
Np = Tp * fsx; %脉冲内点数1920
) T2 f' ^' M2 ~( k& s" t* lNpp = Tpp * fsx; %脉冲重复周期内点数3000: ?( W8 _6 W' V+ s& ^" A' s
K = Bw / Tp; %调频斜率) e+ B, z* C, A: V; D3 j. s3 ]
tp = (-Np/2:Np/2-1)' / fsx; %零中频
5 @0 r* [. K( @8 o- B) e* @! Utpp = (0:Npp-1)' / fsx; 3 G( Q5 J6 I) p. | O2 `! j6 ?
rng_fs = C/2/fsx;8 L9 _, a1 A2 D
; k9 J' D z. W0 `! j9 l
%% 噪声和信号幅度计算
7 Z. k5 y' r; Q: [ p* i* o- xSNR = -10; %信噪比' [* C n2 y$ O8 _
JNR = 10; %干噪比. A7 o' p/ s- \; a
A_noise = 1/sqrt(2); %噪声信号幅度% R' j6 `( K8 q8 q5 ]+ x2 m
A_tar = 10^(SNR/20); %目标信号幅度& k4 j; G% F+ y6 O% {, B
A_jam = 10^(JNR/20); %干扰信号幅度 x' ]; x" t; j+ F/ {" P# ?1 h5 _
%% 本振9 `( t8 d* d/ Q4 f$ _4 A
sigLFM = exp(1i*pi*K*tp.^2); %LMF信号
+ a+ t/ y) I: t. Bsig_LOS = [sigLFM ; zeros(Npp-Np, 1)];
9 X/ q9 W$ q: s a8 C1 N \4 O% Z' \figure( l0 {* w$ ]5 d6 t! y0 y2 c4 @! g* q# Y
plot(real(sig_LOS))
1 q( V2 F, R4 m, Oaxis([0 2000 -1 1])
8 W) T2 O; S* o' | ntitle('LFM脉冲实部')
, l/ s2 `2 e e/ j
) x8 O% O, Z7 x) h8 F% figure* D" D6 F9 l, \3 O( c
% plot(db(fftshift(fft(sig_LOS))))
; }' |9 S* q2 \ W% figure
! v% _. @ q. T9 z' E$ [; L% plot(abs(sig_LOS))
0 R3 Y7 Q9 X6 o% title('LFM脉冲幅度')
3 ^6 }" z/ P3 B
g. o: M! v! N0 C. d$ c; S% O%% 目标回波
' D/ t8 U8 T% X6 u; Ft_delay = 0.08; %目标回波时延8 H! `9 h# l6 h% f) D3 X8 Y. i* j
t_rng = t_delay*C/2; %目标位置1.2e7, n2 }' R5 C. ~) _
Nshift = round(t_delay * fsx); %计算时延对应的点数2 z5 q; I, q3 r/ G. b2 j
sig_tar = circshift(sig_LOS, Nshift); %用循环右移实现目标时延! d& o7 K$ X. `6 Z- o
sig_tar_noise = A_tar*sig_tar + A_noise*(randn(Npp, 1) + 1i*randn(Npp, 1));
1 l$ W# x3 Q) b3 u
, J6 @1 x: z# gfigure
+ ^) N# e6 m. H& W/ oplot(real(sig_tar)); J9 Z, l1 d6 Q
title('目标回波实部')
& S( E1 J7 ?' ~
3 a2 |- i. y- ^+ c/ ^1 t% figure
8 H# f2 ~ t0 P, P+ f# | k2 a% plot(abs(sig_tar)): M- C+ t8 s' b+ J. z* K. Z
% title('目标回波幅度')' G; Q9 a& `' `# C0 ]- A
# h K# x8 n: i% A1 D7 U' ~%% 距离处理, r5 x* k/ }2 K, u8 m7 w# C
data_rng = range_process_mf(sig_LOS, sig_tar_noise, 3000);, k0 A2 o9 }# b- F+ L
axes_rng = rng_fs*(1:3000);
5 J* B8 A! q, A9 h) Q+ s$ Efigure: ]; d# h8 S4 ?, }
plot(axes_rng, db(data_rng))1 F4 q. ~& |9 @
xlabel('距离/m')
' L; C. s3 x5 u2 D+ R' @ylabel('幅度/dB')6 [/ H$ B/ l; f z/ T' }1 g( l
title('信号距离压缩结果')
' b- v+ U/ B' D4 r5 ~ e%% 箔条
% v1 V6 }# k, o: b- l9 @nChaff = 2000; %箔条个数
" ?+ ~4 }0 \' d* E* Bf0 = 45e9; %载频
1 r) H$ }* K d; c S( Hfdrchaff = 50; %箔条云整体Doppler频率
6 b0 ~) W2 P7 p+ z! i4 tfschaff = 6000; %采样率
0 j4 u4 u: g& \/ [, O! v" wTchaff = 0.5; %脉宽
2 }2 I3 `6 \, K1 [1 e6 A, ^Nchaff = fschaff*Tchaff;, w# ] R/ a. X% d1 u
var = 1.4; %方差
& O0 F! p( m4 k1 L3 H: dc=3e8;
4 T) B8 p/ ]" Dlambda = c/f0; %波长
( v& [; A7 M# J0 i7 Xstchaff = zeros(1,Nchaff);st00 = zeros(1,Nchaff);' ]+ M+ l* P5 ]8 [( G( S& c( ]
st1chaff = [];
$ E+ p1 Y6 ~: X) r+ t3 hvc = 0+sqrt(var)*randn(1,nChaff); %随机的速度 }* w! R( {$ ?# w9 p" P, v. Z
t = 0:1/fschaff:Tchaff-(1/fschaff); %时间轴/ Q" }# E- p) [% W1 C, l! j
t = t+1;
/ y$ W& C6 W8 I7 Q% Ifor i=1:nChaff
+ g) m/ y* T# O9 ], D, ` vci=vc(i);% S1 Y; R) p: i, _
fdchaff=2*vci/lambda;
- e, p! O. _2 [5 C0 w fdi=fdchaff+fdrchaff;+ @+ L5 x0 P. o3 X. s5 s$ n
st0=cos(2*pi*(f0+fdi)*t);* J0 r2 Z: C; \$ E# ^3 u
st00=st0+st00;
6 R" ~* y# G/ }: G h* q( u st1chaff=exp(1j*2*pi*(f0+fdi)*t)*exp(1j*randn());/ v# }3 p* M+ q7 f, g( G m
stchaff=stchaff+st1chaff.*sig_LOS.';0 ~/ T9 d+ g8 J( u+ t, ~
end
7 P2 `6 T$ M/ ~0 ]; o' fspchaff=fftshift(fft(stchaff));
3 [+ j: W% `* o- W1 Sfigure
' e5 }( U, G6 f7 Pplot(abs(stchaff))
5 ^5 I7 M. ]6 t _9 A7 G5 M9 ^title('箔条时域波形')! s3 I/ M- d9 ]7 P# n+ r
axis([0 2000 0 140])
4 N8 r; b" K1 @xlabel('时间/s') S# A5 W1 e, n
ylabel('幅度'); e. M1 y m* N) ^2 x
figure5 F( w* N( V/ p% L$ w# h4 W
plot(db(spchaff))
& ?+ i; h* w& S8 Vtitle('箔条频谱'): R% h7 B7 }: C6 E6 P- @
xlabel('频率/Hz')- X& q3 y- i$ m! F8 O$ d+ k) u
ylabel('功率谱密度')
% A+ Q# y. J# eamp_coef = 0.05;
0 O! `2 Q l+ t9 U& N- |stchaff = amp_coef*stchaff;5 X' |* `7 W+ \# D
data_st = range_process_mf(sig_LOS, stchaff, 3000);( Y+ i' y5 d2 H5 Q3 `. k
figure1 z- c& d/ v" b% `" Y
plot(axes_rng, db(data_st))
/ t# D' R1 A( b) Y- m1 Uxlabel('距离/m')
# ~& e/ v" |$ u( ^2 rylabel('幅度/dB')3 c5 b; ]; }" C' b& _% X
title('箔条距离压缩结果')2 S" Z& i$ L5 I% i. A
' D _9 s2 n7 J- Y% ndfittool(abs(stchaff)) %幅度拟合" d1 S+ T$ E" p) U
% o; G2 s6 r5 y7 n$ }4 B$ z
幅度拟合的结果如图% O+ d2 d X, e2 ?/ u, H
求问怎么把最左边那个数据去掉然后做瑞利分布拟合?! @" K% `1 Y2 c8 N9 }
请教大神,非常感谢!
* P2 u4 a+ U# F" [( D" b( Z0 @
: z# Q% Z' y! i- E: v3 J
|
|