lmfsj1.m

来自「这是有关锁相环的一些必用知识.希望能对大家有所帮助哈」· M 代码 · 共 131 行

M
131
字号
%采用信好相加求调频斜率
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 + =
减小字号Ctrl + -
显示快捷键?