EDA365电子论坛网

标题: 求问怎么把最左边那个数据去掉然后做瑞利分布拟合? [打印本页]

作者: PEELAY    时间: 2020-7-1 16:00
标题: 求问怎么把最左边那个数据去掉然后做瑞利分布拟合?
一个matlab拟合工具箱的问题请教大神。" N0 M3 T8 S7 @1 ?8 B
程序如下:
; I: Z2 c9 C; P) ~4 Fclear
1 A9 ~4 H* a4 \" ^close all
+ Y. |. M; T3 ^% 仿真一个LFM脉冲,并做距离处理
4 Q) X7 R7 g& I. L  }& YC = 3e8;
) P5 m6 e4 u8 |9 x+ m3 ~0 GTp = 0.32;     %脉宽6 P5 F: ?* w: M
Tpp = 0.5;    %脉冲重复周期, R  i5 f+ m/ b. N
fsx = 6000;      %采样率
5 ]# ?* J& s2 Q1 jBw = 2000;      %带宽
) l. m7 r$ E& w& _' @. |; N8 \: Q5 w* }" ?. g0 b3 U* T$ y/ I- D% M5 j
Np = Tp * fsx;     %脉冲内点数1920$ V# A! |( [1 X  E( g/ F
Npp = Tpp * fsx;   %脉冲重复周期内点数3000" l7 v4 ^1 Y& W
K = Bw / Tp;      %调频斜率8 [2 R+ l0 k0 @/ G& x
tp = (-Np/2:Np/2-1)' / fsx;   %零中频2 _3 _& @. v1 v! P, H' d
tpp = (0:Npp-1)' / fsx;  
6 [) b# @  M+ M) |5 H2 j2 qrng_fs = C/2/fsx;6 i6 d  E7 j4 F, [6 r

5 x/ m# L0 ~) }. g- @, y4 h%% 噪声和信号幅度计算) P+ R' n% C! s0 ]$ O6 P& Z( V' F
SNR = -10;           %信噪比
9 e, V2 H( Z( AJNR = 10;            %干噪比
8 F! l4 B' h) R' ~- Y% H1 P* TA_noise = 1/sqrt(2);         %噪声信号幅度/ a; J& t8 G$ B  }8 H* k1 K
A_tar  = 10^(SNR/20);      %目标信号幅度
3 [1 `/ Y6 y  r6 }- Q* k3 X0 dA_jam = 10^(JNR/20);       %干扰信号幅度
9 ^# W* ^$ G4 Y& e%% 本振. R/ E5 ?7 u4 }" V
sigLFM = exp(1i*pi*K*tp.^2);  %LMF信号
) P4 h9 E, w6 B* t! k& z# m$ Dsig_LOS = [sigLFM ; zeros(Npp-Np, 1)];$ s# e' C% l: G- d
figure3 W+ m' y6 z4 e% f2 k$ ~; ]
plot(real(sig_LOS)). S5 A/ N4 m8 p3 P9 o; Z
axis([0 2000 -1 1])# K/ i$ R5 K* v3 q5 b) w1 K
title('LFM脉冲实部')
% i8 f9 R+ M9 T- {4 w, C3 k
0 B& |  B: r4 X  R% figure; K. Q) T+ y0 \! i4 U* F3 T
% plot(db(fftshift(fft(sig_LOS)))). p7 G' b  W( ~) y$ w
% figure
5 O4 L, g$ R# B! g9 i% ~% plot(abs(sig_LOS))& E5 F' L" u+ E* u, l5 A7 ?7 i
% title('LFM脉冲幅度'): o( B5 |9 z+ _, U
7 x$ X' Y: W" |9 {- V
%% 目标回波& e9 c3 T, ~0 l' n8 j- q
t_delay = 0.08;    %目标回波时延
6 _6 O% r2 j% R+ bt_rng = t_delay*C/2;     %目标位置1.2e7( x/ F- y6 ~6 Q  D2 A, i, a# P2 U. y0 x
Nshift = round(t_delay * fsx);    %计算时延对应的点数: I8 L# y# s; E5 A2 S. R# c( {
sig_tar = circshift(sig_LOS, Nshift);   %用循环右移实现目标时延+ P5 ^! V  z+ M0 u, v9 N" {0 K
sig_tar_noise = A_tar*sig_tar + A_noise*(randn(Npp, 1) + 1i*randn(Npp, 1));: q; P7 O% z% k; ?% [! p
4 V" e  x  u7 h% J' _7 M( p
figure2 i0 ?7 d5 g, c* b+ W4 W
plot(real(sig_tar))
- `$ w8 q8 l  ~+ s+ D8 o5 `- X, stitle('目标回波实部')
1 @- r- [$ z7 h! h& Q! r' [' l- D, }2 U% E
% figure
3 T) C* Q$ R$ d9 m% plot(abs(sig_tar))2 l( ~) g6 k3 a. K
% title('目标回波幅度'), s8 v; n5 V$ V/ w( K, H
; L5 v0 z$ |$ k
%% 距离处理9 I8 o; x5 N, b: y; O) @
data_rng = range_process_mf(sig_LOS, sig_tar_noise, 3000);
0 r3 k$ G2 N; C( B. baxes_rng = rng_fs*(1:3000);
3 F% a) K) j( Jfigure
6 a/ L/ S3 ^& s& ]# mplot(axes_rng, db(data_rng))
1 d4 L8 j$ j, Q7 f2 `; b# dxlabel('距离/m')7 u& a2 n& N5 S8 v! e. N
ylabel('幅度/dB')
( v6 j' x" U7 k' l5 P1 v( htitle('信号距离压缩结果')
  t6 ]' ~5 {9 t' x%% 箔条2 _. f! V) O  M" o) c3 m
nChaff = 2000;  %箔条个数
0 v- n* J  n+ D: G  |8 B, Q% Vf0 = 45e9;  %载频* _$ f  ]' l/ A# M' }7 X
fdrchaff = 50;  %箔条云整体Doppler频率
5 E4 |; _2 f' f9 }0 t& Y8 w7 Afschaff = 6000; %采样率
2 u9 v$ y: P; `  A8 ~Tchaff = 0.5; %脉宽  i" A' m( X/ A0 T) A
Nchaff = fschaff*Tchaff;
7 @, f% W/ K- t; lvar = 1.4;  %方差
) M: y  o# A9 _3 E9 [c=3e8;
. D7 j- l: S' f' {% d9 ]. e" Flambda = c/f0;  %波长
; W7 I0 d7 C2 y! J  @: Lstchaff = zeros(1,Nchaff);st00 = zeros(1,Nchaff);
4 R; N* G+ I. B1 lst1chaff = [];
- @1 ^/ u3 z1 G6 C% svc = 0+sqrt(var)*randn(1,nChaff);  %随机的速度
5 E8 H. V7 q1 d' Y0 J$ K$ ~! zt = 0:1/fschaff:Tchaff-(1/fschaff); %时间轴8 z6 N3 @% B6 u/ j& j- m
t = t+1;
3 q8 V$ U0 K+ K# Gfor i=1:nChaff
4 e7 r+ q1 z# t: L" C- m    vci=vc(i);0 s7 H9 n- m" Q3 A8 ]# ~, U
    fdchaff=2*vci/lambda;
* h3 _" x% t/ {( Q1 y    fdi=fdchaff+fdrchaff;! }$ A8 P3 e% V0 \
    st0=cos(2*pi*(f0+fdi)*t);
" f# L4 U; V/ m! u% O- s    st00=st0+st00;
* i( E6 U( m! `9 d. k0 c# k! i    st1chaff=exp(1j*2*pi*(f0+fdi)*t)*exp(1j*randn());- E! C7 Q. V6 [7 c4 j% W
    stchaff=stchaff+st1chaff.*sig_LOS.';' \: ~- q! y% F: Y, |# }% K
end% M. J& c6 w& ?( T% k" ~
spchaff=fftshift(fft(stchaff));
9 l- ]7 [3 K/ ~) b1 I" vfigure
9 s8 q( s3 V" y5 m6 b2 nplot(abs(stchaff))
& i8 T  |! A6 ^, g# j4 ftitle('箔条时域波形')& h$ l7 P( e$ l# u% K; c
axis([0 2000 0 140]): R4 I& G2 F6 N. r' [
xlabel('时间/s')7 M+ W: ~* V+ ^) h' ?9 O, S4 I
ylabel('幅度')
% Y4 |4 ?8 Z8 }+ W& U, ?figure5 Y$ s( ?( ]6 N/ a
plot(db(spchaff))
1 K  W) O! C  g) H- a9 X5 }title('箔条频谱')
. z3 Y9 T$ G- e% S! kxlabel('频率/Hz')
) |, A$ F! T- Q2 w) B6 E8 {3 gylabel('功率谱密度')! F+ j( u- z  {9 r" j5 z
amp_coef = 0.05;' q9 e4 k* p5 L8 ^2 s' u; K
stchaff = amp_coef*stchaff;
0 h- N1 K) o, x: c5 W$ ddata_st = range_process_mf(sig_LOS, stchaff, 3000);
/ X! I( Y0 E/ I/ z  U- ~* hfigure, U; Y( u  |; [% S
plot(axes_rng, db(data_st))1 {( u0 U  }) V0 r. `' y5 Q, n! y
xlabel('距离/m')
: G! f  D7 ]1 ^5 P) |" l2 kylabel('幅度/dB')
) Z" z0 L" j. g: E- _2 C9 g0 _title('箔条距离压缩结果')
6 y9 D2 b6 o8 }. m! B" j! [( Q" Z0 I  h# w4 Q9 L% O5 z* r
dfittool(abs(stchaff))  %幅度拟合
, U: L3 L- B; @( G; Y, q3 E; i) V: o8 Z0 O# @* i- t7 g7 {
幅度拟合的结果如图
; X0 z! A/ a( @* ?0 ^求问怎么把最左边那个数据去掉然后做瑞利分布拟合?" j# |5 O6 f( o
请教大神,非常感谢!
$ v9 O4 p  u/ S" c  ?& X  } % W% y: R+ G; V) }, w

作者: Taio    时间: 2020-7-1 16:24
先确定用来绘图的两个向量draw_x,draw_y然后把它们对应横轴最左侧的元素删掉。
作者: Taio    时间: 2020-7-1 16:24
然后用raylfit函数或者fitdist函数拟合。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2