EDA365电子论坛网
标题:
求问怎么把最左边那个数据去掉然后做瑞利分布拟合?
[打印本页]
作者:
PEELAY
时间:
2020-7-1 16:00
标题:
求问怎么把最左边那个数据去掉然后做瑞利分布拟合?
一个matlab拟合工具箱的问题请教大神。
" N0 M3 T8 S7 @1 ?8 B
程序如下:
; I: Z2 c9 C; P) ~4 F
clear
1 A9 ~4 H* a4 \" ^
close all
+ Y. |. M; T3 ^
% 仿真一个LFM脉冲,并做距离处理
4 Q) X7 R7 g& I. L }& Y
C = 3e8;
) P5 m6 e4 u8 |9 x+ m3 ~0 G
Tp = 0.32; %脉宽
6 P5 F: ?* w: M
Tpp = 0.5; %脉冲重复周期
, R i5 f+ m/ b. N
fsx = 6000; %采样率
5 ]# ?* J& s2 Q1 j
Bw = 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 q
rng_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( A
JNR = 10; %干噪比
8 F! l4 B' h) R' ~- Y% H1 P* T
A_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 d
A_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$ D
sig_LOS = [sigLFM ; zeros(Npp-Np, 1)];
$ s# e' C% l: G- d
figure
3 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+ b
t_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
figure
2 i0 ?7 d5 g, c* b+ W4 W
plot(real(sig_tar))
- `$ w8 q8 l ~+ s+ D8 o5 `- X, s
title('目标回波实部')
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. b
axes_rng = rng_fs*(1:3000);
3 F% a) K) j( J
figure
6 a/ L/ S3 ^& s& ]# m
plot(axes_rng, db(data_rng))
1 d4 L8 j$ j, Q7 f2 `; b# d
xlabel('距离/m')
7 u& a2 n& N5 S8 v! e. N
ylabel('幅度/dB')
( v6 j' x" U7 k' l5 P1 v( h
title('信号距离压缩结果')
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% V
f0 = 45e9; %载频
* _$ f ]' l/ A# M' }7 X
fdrchaff = 50; %箔条云整体Doppler频率
5 E4 |; _2 f' f9 }0 t& Y8 w7 A
fschaff = 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; l
var = 1.4; %方差
) M: y o# A9 _3 E9 [
c=3e8;
. D7 j- l: S' f' {% d9 ]. e" F
lambda = c/f0; %波长
; W7 I0 d7 C2 y! J @: L
stchaff = zeros(1,Nchaff);st00 = zeros(1,Nchaff);
4 R; N* G+ I. B1 l
st1chaff = [];
- @1 ^/ u3 z1 G6 C% s
vc = 0+sqrt(var)*randn(1,nChaff); %随机的速度
5 E8 H. V7 q1 d' Y0 J$ K$ ~! z
t = 0:1/fschaff:Tchaff-(1/fschaff); %时间轴
8 z6 N3 @% B6 u/ j& j- m
t = t+1;
3 q8 V$ U0 K+ K# G
for 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" v
figure
9 s8 q( s3 V" y5 m6 b2 n
plot(abs(stchaff))
& i8 T |! A6 ^, g# j4 f
title('箔条时域波形')
& 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, ?
figure
5 Y$ s( ?( ]6 N/ a
plot(db(spchaff))
1 K W) O! C g) H- a9 X5 }
title('箔条频谱')
. z3 Y9 T$ G- e% S! k
xlabel('频率/Hz')
) |, A$ F! T- Q2 w) B6 E8 {3 g
ylabel('功率谱密度')
! 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$ d
data_st = range_process_mf(sig_LOS, stchaff, 3000);
/ X! I( Y0 E/ I/ z U- ~* h
figure
, 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 k
ylabel('幅度/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: o
8 Z0 O# @* i- t7 g7 {
幅度拟合的结果如图
; X0 z! A/ a( @* ?0 ^
求问怎么把最左边那个数据去掉然后做瑞利分布拟合?
" j# |5 O6 f( o
请教大神,非常感谢!
$ v9 O4 p u/ S" c ?& X }
1.png
(20.44 KB, 下载次数: 6)
下载附件
保存到相册
2020-7-1 16:00 上传
% 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