TA的每日心情 | 开心 2019-11-29 15:39 |
|---|
签到天数: 4 天 [LV.2]偶尔看看I
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一个matlab拟合工具箱的问题请教大神。
1 Q6 `+ |- l. {. h0 R1 {' j4 q程序如下:
6 h1 T3 x' f, m- B }* y% Eclear
1 W" Z+ l+ b* W h. [close all
! _& W, b, I6 Z( m% 仿真一个LFM脉冲,并做距离处理) n2 y8 W) [, N/ h2 S# C
C = 3e8;
& E* s+ u: s1 b3 s7 X5 nTp = 0.32; %脉宽& q6 E, T: m3 |* g1 b' I
Tpp = 0.5; %脉冲重复周期. B, L) y }' f% H& {0 x" s V, |# `
fsx = 6000; %采样率
( k$ N- k, J7 F' E- H) f* H) a9 l- I( vBw = 2000; %带宽/ Q) ~) D1 {: Z' b
; F5 ]. \5 ?2 [; x$ }( B$ ~- b6 ]
Np = Tp * fsx; %脉冲内点数19204 H5 y- D: h' J
Npp = Tpp * fsx; %脉冲重复周期内点数3000( H' V; q9 Z, ^
K = Bw / Tp; %调频斜率
: r- J+ A0 C1 S3 z+ w; jtp = (-Np/2:Np/2-1)' / fsx; %零中频
4 Z3 W7 c4 p. U* R0 F! N, Vtpp = (0:Npp-1)' / fsx;
9 Y6 O) o7 h( Zrng_fs = C/2/fsx;* Z! v; w/ o% ]* T1 @
7 j9 D4 y: y6 B: K) }+ e
%% 噪声和信号幅度计算" ^; p: |- X+ f8 S9 B% p) l3 _
SNR = -10; %信噪比 J B0 E: f [: J
JNR = 10; %干噪比# x: j, J0 L3 i7 N/ S+ S
A_noise = 1/sqrt(2); %噪声信号幅度- l" `! H9 V5 C
A_tar = 10^(SNR/20); %目标信号幅度
2 q. h0 Q5 W6 I2 }# y3 q) HA_jam = 10^(JNR/20); %干扰信号幅度8 i& m. }8 K# Y
%% 本振' o+ D7 r3 i0 A
sigLFM = exp(1i*pi*K*tp.^2); %LMF信号" y, D6 j2 F- _7 I
sig_LOS = [sigLFM ; zeros(Npp-Np, 1)];& e" k1 g1 t' x
figure
7 \7 d3 l) s# j: d/ ^7 lplot(real(sig_LOS)) H: M4 {4 Z; k9 O( X; e. U
axis([0 2000 -1 1])0 J, @" N' R0 T, z8 b/ B
title('LFM脉冲实部')
% [; g3 t( n! {$ q5 a
" L/ N0 F) P( @# T% figure
8 N3 n* \# Y. \2 b2 B% plot(db(fftshift(fft(sig_LOS))))
' K1 B- y. G7 p. m6 F& F: {7 W D% figure
$ B6 k, C( I. ?; ?1 {7 U) p% plot(abs(sig_LOS))
% r+ v3 U" E7 @0 o. @0 t- h% a7 g% title('LFM脉冲幅度')
, ^6 l. E/ g* f$ d7 R1 E6 l( A6 F$ Z
%% 目标回波
7 b. E* v: u* v6 _t_delay = 0.08; %目标回波时延
( n* Q- v+ k% g4 R4 j4 A5 _t_rng = t_delay*C/2; %目标位置1.2e7. `2 i. I9 r+ A( E4 Y
Nshift = round(t_delay * fsx); %计算时延对应的点数8 N# {5 T; Q" v0 C
sig_tar = circshift(sig_LOS, Nshift); %用循环右移实现目标时延4 }# ?+ z# m5 r& X" h
sig_tar_noise = A_tar*sig_tar + A_noise*(randn(Npp, 1) + 1i*randn(Npp, 1));7 m# J# D7 u8 e; \# V, z
7 l4 b( H* x7 ?6 ~" p* Xfigure
# v* k' Y* q& y" k+ M- K u9 @# z# mplot(real(sig_tar))$ F0 j' T+ p, j" l1 x/ Y s& \
title('目标回波实部')
! I; J. Q$ [- h* G- H: v. `+ \( `% x5 t V2 _6 z! M. p9 X" O
% figure, {$ i! F+ c! F' X) i3 P6 t" r
% plot(abs(sig_tar))
1 i7 q8 G- x( L' O% t6 v9 m# a% title('目标回波幅度')
7 P4 C0 ~8 F6 N0 N
# a8 h+ R& F! J6 F- b4 w, w+ F%% 距离处理9 E6 l: L2 u) W
data_rng = range_process_mf(sig_LOS, sig_tar_noise, 3000);
* N0 f8 y" ]) h Caxes_rng = rng_fs*(1:3000);
0 M- e+ L/ |, B! F0 Bfigure& Q ^# U+ |% n) T& B, {
plot(axes_rng, db(data_rng))# j: z! I6 z2 s, f5 j" [
xlabel('距离/m')+ @( G8 E- N4 M3 ^9 @0 l
ylabel('幅度/dB')! W& m5 Q% G* f* d
title('信号距离压缩结果')
0 a3 j" i6 E0 D+ P& O%% 箔条
Y0 p: u/ \ Q* h! s |+ a6 InChaff = 2000; %箔条个数: o. F$ w* ?6 J" r
f0 = 45e9; %载频% v6 d# N# ~) j1 L3 D; @
fdrchaff = 50; %箔条云整体Doppler频率
1 N/ x7 B- N0 ~2 F0 m1 [* Afschaff = 6000; %采样率1 r" r' A \2 }% N! n0 ]2 J6 u) \
Tchaff = 0.5; %脉宽
9 P% E0 m3 i3 L5 ?9 H6 N" cNchaff = fschaff*Tchaff;
* J/ s S3 o+ L0 ^/ S- Uvar = 1.4; %方差+ I6 d, T" ]. h0 \* v$ }7 ?+ S
c=3e8;) o1 o" \ ~- K% ~# {7 |. K" v
lambda = c/f0; %波长
5 E" G0 m# O& G; ?stchaff = zeros(1,Nchaff);st00 = zeros(1,Nchaff);
2 y6 T4 S: M3 F" D- p( [& {1 mst1chaff = [];
1 Q, d4 t- G: s& a( a5 g' bvc = 0+sqrt(var)*randn(1,nChaff); %随机的速度
8 J' @ F+ B1 ?4 P8 `/ K9 Zt = 0:1/fschaff:Tchaff-(1/fschaff); %时间轴* J8 K& t; H( |4 e
t = t+1;
2 x0 j n: o$ h I6 k5 m* \for i=1:nChaff
- S0 h. ~& ^3 ]9 b; [4 D& u vci=vc(i);$ x. B2 d3 [7 C) ~
fdchaff=2*vci/lambda;) a K' O8 u/ X
fdi=fdchaff+fdrchaff;
9 b c" T$ y( R6 f" C6 Q1 K st0=cos(2*pi*(f0+fdi)*t);
* A+ g. y+ X6 K! ^ st00=st0+st00;. {/ E0 _% K5 t& R) R
st1chaff=exp(1j*2*pi*(f0+fdi)*t)*exp(1j*randn());
* {* N/ V' `; r6 D- ^ stchaff=stchaff+st1chaff.*sig_LOS.';
' b3 q. c7 `7 t5 m6 M. qend
1 W9 h! q j- j& C" xspchaff=fftshift(fft(stchaff));
8 d1 ^! c2 H% n! Dfigure5 x3 z4 S* _% e3 q4 D
plot(abs(stchaff)); o; r& J2 B5 g" c# ]
title('箔条时域波形')
6 j% z2 l; G% W# I0 zaxis([0 2000 0 140])
7 c2 _1 j0 w/ t+ l/ c' j# b: Q# ~8 W3 lxlabel('时间/s')
, x9 X4 X) ^" fylabel('幅度')0 W, m, J( P2 g
figure9 {0 V+ P o: _ G; c" x% G" J; B
plot(db(spchaff))
. W1 W) H6 r4 `! {. p1 Atitle('箔条频谱')9 e- I. u+ R9 a) H
xlabel('频率/Hz')
8 O/ b% [0 R( K" {/ s5 Oylabel('功率谱密度')
' F6 s0 d' ?. r3 j$ ^6 c: uamp_coef = 0.05;& n y- e( z+ r9 @/ E
stchaff = amp_coef*stchaff;
8 {& P+ ~% O) C+ H9 h( Odata_st = range_process_mf(sig_LOS, stchaff, 3000);
: D( O Z; V2 D& ?figure
+ x7 L& e9 b! l( x. d' \plot(axes_rng, db(data_st))* @" m! D3 R" p [: _/ l1 k( J! t. I
xlabel('距离/m')+ P6 p' A& z# W
ylabel('幅度/dB')
: x+ d. v! H/ Atitle('箔条距离压缩结果')! t# {+ F/ C: R
( l, A& X% h5 w
dfittool(abs(stchaff)) %幅度拟合
7 s& O2 W0 f0 R; k0 X; @
& w F) r- E& m7 i幅度拟合的结果如图
- M0 O$ ^. C' Q( a) {求问怎么把最左边那个数据去掉然后做瑞利分布拟合?
5 l2 N0 `$ `' p! D: ?! ?" V请教大神,非常感谢!) S+ r; p4 Z, N& G, G! x/ {& i
0 u1 x6 ]& I1 {+ t
|
|