TA的每日心情 | 开心 2019-11-29 15:39 |
|---|
签到天数: 4 天 [LV.2]偶尔看看I
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一个matlab拟合工具箱的问题请教大神。
% C" i4 k l( M# F. x. ?程序如下:$ O8 | ]4 p6 R8 I, Z; w
clear3 M* b$ W: V2 ~% H0 U0 R
close all
& [) N- C7 g# S0 O; ^% 仿真一个LFM脉冲,并做距离处理$ Z8 O$ M3 D1 {. @7 \0 A ^- @6 M
C = 3e8;
: f& d$ V1 Q+ x5 NTp = 0.32; %脉宽8 S: u' ` R8 {
Tpp = 0.5; %脉冲重复周期' J( A3 b/ f/ Y f4 P
fsx = 6000; %采样率8 v2 U( \5 L0 h8 u% H+ o$ o7 C
Bw = 2000; %带宽
% e# t$ v# W1 f( G0 j9 H# V& y
2 Q- g" H5 \4 C+ |- Q/ G# M, ^Np = Tp * fsx; %脉冲内点数19209 f' u, ^+ s* r$ u4 R
Npp = Tpp * fsx; %脉冲重复周期内点数3000
9 [. C p3 @1 C- IK = Bw / Tp; %调频斜率 m! |9 `/ w/ M- F. A1 M3 F6 o
tp = (-Np/2:Np/2-1)' / fsx; %零中频
5 v4 a" h% a$ w$ Dtpp = (0:Npp-1)' / fsx; + M* L8 e/ O5 a2 l, I1 F. d* U
rng_fs = C/2/fsx;
- p( S6 z- B- {7 \0 x2 e5 G! \7 N5 e$ c8 f
%% 噪声和信号幅度计算
) s' X- ?7 S8 oSNR = -10; %信噪比4 s7 R! r: q2 n) ^" }6 h3 Q
JNR = 10; %干噪比8 L; B7 G1 v- @$ A; E: a4 Q* q+ c
A_noise = 1/sqrt(2); %噪声信号幅度
8 A* A2 m# F2 i. ZA_tar = 10^(SNR/20); %目标信号幅度
. Z3 K- c2 J$ n8 r. m9 A7 C7 {5 wA_jam = 10^(JNR/20); %干扰信号幅度 F; \- V! L* |2 m: A/ ]8 h
%% 本振; V# {: N5 W4 U8 R% Y6 |+ D
sigLFM = exp(1i*pi*K*tp.^2); %LMF信号
7 K( B5 J i7 Y/ {/ zsig_LOS = [sigLFM ; zeros(Npp-Np, 1)];
- I& ~4 y" c: B/ Z% a5 ]: x2 M$ Dfigure0 S0 d( S! k. `
plot(real(sig_LOS))4 v- T6 R. ?. ^1 J
axis([0 2000 -1 1])
) h9 H, Z' y5 i6 D0 Z/ otitle('LFM脉冲实部')
: u. w: @4 ]# ^" C) K+ G; w: f- e3 i7 R4 [' e
% figure
1 @9 I- D# C5 \- }5 U. i) c, h9 ^% x% plot(db(fftshift(fft(sig_LOS))))* A- g6 o0 p; g& U
% figure
% T7 }6 ^- W" u( _ j2 e% plot(abs(sig_LOS))
. Y7 Y/ Z3 K/ b% title('LFM脉冲幅度')
, l2 y; C9 N- X2 B$ W ~7 a, p5 L8 V: r) [
%% 目标回波
& N6 ^, a; ]+ ^t_delay = 0.08; %目标回波时延
6 R+ D' T, a8 K- L( m5 u3 yt_rng = t_delay*C/2; %目标位置1.2e7
2 `2 m+ @' y% cNshift = round(t_delay * fsx); %计算时延对应的点数) p5 N3 |' Y5 q! B* K1 Q [2 r' G( |# v- O
sig_tar = circshift(sig_LOS, Nshift); %用循环右移实现目标时延
H0 B5 |7 i, ?sig_tar_noise = A_tar*sig_tar + A_noise*(randn(Npp, 1) + 1i*randn(Npp, 1)); e0 a) q# c, M$ X3 B2 x
+ V# a; x9 d- \/ z2 m) ~, W
figure: |$ H' K. l2 O6 |- V, L
plot(real(sig_tar))
2 o& q# O' e( W4 x8 X, m6 rtitle('目标回波实部')8 T: r& M2 ]/ L
/ L/ H L# s7 J3 Z$ C; q% figure
: x/ ?& q0 B+ x7 P1 j8 `1 [" y% plot(abs(sig_tar)); w( u- E7 T0 ~" @5 u9 E6 c( z
% title('目标回波幅度')
, p, o1 U) R2 ]1 f( K- B! d6 Y2 B; G0 Y
%% 距离处理
3 m5 G c. S! l- h" ?data_rng = range_process_mf(sig_LOS, sig_tar_noise, 3000);
I! P5 t, y+ d0 [axes_rng = rng_fs*(1:3000);/ ?) ?+ c$ Z: h( a, P
figure
( S3 z- t9 g ~1 Uplot(axes_rng, db(data_rng)). Y3 A* v; H3 o! A/ Q7 M8 l6 r; R. I0 T
xlabel('距离/m')# }9 Y7 G2 i7 X& ]4 m
ylabel('幅度/dB')
. s9 B4 S. a/ e$ j% S z: _title('信号距离压缩结果')
1 }8 t' U& h) X% _9 q, a%% 箔条6 U- M* b0 r& _( c2 t0 I
nChaff = 2000; %箔条个数
, n$ E7 m5 o4 b+ n+ X* r5 D" [: Yf0 = 45e9; %载频
' E3 p* s3 o+ R8 P9 {2 afdrchaff = 50; %箔条云整体Doppler频率4 V0 A+ \! M C( ?
fschaff = 6000; %采样率+ D; m9 [6 ?4 {% i2 y
Tchaff = 0.5; %脉宽9 B2 @# S8 U, R% r$ d. N3 `
Nchaff = fschaff*Tchaff;" f9 s0 o# N! w" J' X
var = 1.4; %方差
2 g" P$ W6 N4 U5 \& o4 R, B, K, R' |c=3e8;
" A, T, [7 A7 Q" e0 e& s4 ^lambda = c/f0; %波长
% K& V5 ~/ O& lstchaff = zeros(1,Nchaff);st00 = zeros(1,Nchaff);
9 U# b# w! X# A( V; }9 t6 d4 ?6 Ost1chaff = [];4 M; J/ S" h/ D; m
vc = 0+sqrt(var)*randn(1,nChaff); %随机的速度5 x' m( p3 t- C2 X
t = 0:1/fschaff:Tchaff-(1/fschaff); %时间轴' O0 n3 a' f. @
t = t+1;5 x8 Q$ \8 G, R" j
for i=1:nChaff* G! [' D. w4 G8 `7 G9 ?
vci=vc(i);
7 {, @0 j( F3 z& p5 ~5 f& S fdchaff=2*vci/lambda;
8 I2 f! P; P/ t1 m5 `) w) W fdi=fdchaff+fdrchaff;9 ^2 G2 \7 r0 t( N
st0=cos(2*pi*(f0+fdi)*t);
4 Z% |. U; g' | st00=st0+st00;
* c2 Q% ^1 r$ r st1chaff=exp(1j*2*pi*(f0+fdi)*t)*exp(1j*randn());
5 x5 q/ ^. P5 _& w$ M stchaff=stchaff+st1chaff.*sig_LOS.';; Q+ r+ } @7 G0 U. {) E7 }
end4 x. s' R5 ?" G
spchaff=fftshift(fft(stchaff));' x1 ^& } y0 j/ m' I' g
figure
" r1 _5 y, p$ T, i0 Bplot(abs(stchaff))
8 K; s' o1 P5 }+ c- qtitle('箔条时域波形'); y# e- k, T4 G) g; j! z2 W9 h
axis([0 2000 0 140])9 U6 m. N- D( ? X- ]$ w- p
xlabel('时间/s')# p" m* w& F; u) M0 Z$ n
ylabel('幅度')
9 |& n; @. ^4 [( g* A( p* ^: afigure3 `7 a$ ?9 N) ]- h% p* y) Y5 _7 q5 V
plot(db(spchaff))7 X& Z/ W( j x4 u' L
title('箔条频谱')
1 }/ G- S+ L" Fxlabel('频率/Hz')
5 m r1 [+ u& j& }ylabel('功率谱密度')
# D2 B! W9 Q, F: h/ ^amp_coef = 0.05;1 C0 U' m8 r. ^0 J* W: h
stchaff = amp_coef*stchaff;6 A% I/ C/ j8 P# r8 g# p4 N
data_st = range_process_mf(sig_LOS, stchaff, 3000);" q( B$ Y. L s
figure
) y9 R1 n6 A7 Lplot(axes_rng, db(data_st))
: X3 l, L9 G4 Y w, E% R" Fxlabel('距离/m')
2 J: i7 W1 R0 T$ \5 L$ X0 tylabel('幅度/dB')
" T9 R) U1 ~! o3 { x; j P7 T7 Atitle('箔条距离压缩结果'): r- U' {1 z& P' V! N, N
% n" R8 e& r( |
dfittool(abs(stchaff)) %幅度拟合
! @( Q4 a Y6 E- H0 b% F0 A
! q& X' g0 s- |幅度拟合的结果如图
5 e7 N$ N5 T5 @; d5 m求问怎么把最左边那个数据去掉然后做瑞利分布拟合?$ L3 F, W6 Z# L
请教大神,非常感谢!0 j4 B4 o( W. G( R
' U: d* b0 m+ g5 d: L |
|