📄 lmfsj1.m
字号:
%采用信好相加求调频斜率
for nn=1:1
clear
fs=50E+6;%采样频率
ts=1/fs;%采样时间间隔
k=15E+10; %调频斜率
fo=10E+6;%载频
T=40E-6;%脉冲宽度
B=k*T;
n=4500;%抽样点数
t=ts:ts:n*ts;
p=zeros(1,n);
p(800+1:800+T*fs)=ones(1,T*fs);
signal=1/sqrt(T)*cos(2*pi*(fo*t+k*t.^2/2)).*p;
%signal=1/sqrt(T)*exp(j*2*pi*(fo*t+k*t.^2/2)).*p;
signal_spect=abs(fft(signal));
figure
subplot(2,1,1)
plot(signal)
subplot(2,1,2)
plot(signal_spect)
signal_power=sum(abs(signal).^2);
snr=-10;
noise_power=signal_power*10^(-snr/10);
a=sqrt(noise_power/n);
%a=0;
noise=a*randn(1,n);
s=signal+noise;
s_spect=abs(fft(s));
figure
subplot(2,1,1)
plot(s)
subplot(2,1,2)
plot(s_spect)
delay=500;
m1=10;
l2=1024*2;
%---------------------------------
mix=s(1:n-delay)+s(delay+1:n);
mix_spect=abs(fft(mix));
figure
subplot(2,1,1)
plot(mix)
subplot(2,1,2)
plot(mix_spect)
m2=50;
for i=-m2:m2
mix_cum(:,i+m2+1)=cum3est(mix,100,1000,60,'unbiased',i);
end
mix_cum_spect=abs(fft(mix_cum));
figure
subplot(2,1,1)
mesh(mix_cum)
subplot(2,1,2)
mesh(mix_cum_spect)
%value_max=max(mix_cum_spect(10:length(mix_cum_spect)/2));
%position=find(mix_cum_spect==value_max);
%k_detect=(position(1)-1)*fs/l2/(delay*ts);
%ratio=abs((k_detect-k)/k)
%---------------------------信号
signal_mix=signal(1:n-delay)+signal(delay+1:n);
signal_mix_spect=abs(fft(signal_mix));
figure
subplot(2,1,1)
plot(signal_mix)
subplot(2,1,2)
plot(signal_mix_spect)
for i=-m2:m2
signal_mix_cum(:,i+m2+1)=cum3est(signal_mix,100,1000,60,'unbiased',i);
end
signal_mix_cum_spect=abs(fft(signal_mix_cum));
figure
subplot(2,1,1)
mesh(signal_mix_cum)
subplot(2,1,2)
mesh(signal_mix_cum_spect)
%------------------------------------噪声
noise_mix=noise(1:n-delay)+noise(delay+1:n);
noise_mix_spect=abs(fft(noise_mix));
figure
subplot(2,1,1)
plot(noise_mix)
subplot(2,1,2)
plot(noise_mix_spect)
for i=-m2:m2
noise_mix_cum(:,i+m2+1)=cum4est(noise_mix,100,1000,60,'unbiased',i,i);
end
noise_mix_cum_spect=abs(fft(noise_mix_cum));
figure
subplot(2,1,1)
mesh(noise_mix_cum)
subplot(2,1,2)
mesh(noise_mix_cum_spect)
%----------------------
for i=-m1:m1
s_cum(:,i+m1+1)=cum4est(s,200,1000,60,'unbiased',i,i);
end
s_cum_spect=abs(fft(s_cum));
figure
subplot(2,1,1)
plot(s_cum)
subplot(2,1,2)
plot(s_cum_spect)
bb=sum(s_cum_spect');
figure
plot(bb)
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -