⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lmfxczs.m

📁 这是有关锁相环的一些必用知识.希望能对大家有所帮助哈
💻 M
字号:
clear

fs=30E+6;%采样频率
ts=1/fs;%采样时间间隔
k=10E+10;  %调频斜率
fo=5E+6;%载频
T=60E-6;%脉冲宽度
B=k*T;
n=4500;%抽样点数
t=ts:ts:n*ts;

p=zeros(1,n);
p(500+1:500+T*fs)=ones(1,T*fs);
signal=1/sqrt(T)*cos(2*pi*(fo*t+k*t.^2/2)).*p;
signal_spect=abs(fft(signal));

signal_power=sum(signal.^2);
snr=-7;
noise_power=signal_power*10^(-snr/10);
a=sqrt(noise_power/n);
noise=a*randn(1,n);
s=signal+noise;
s_spect=abs(fft(s));

%--------------------------
delay=500;
ss=signal(1:n-delay).*signal(delay+1:n);
ss_spect=abs(fft(ss));

%figure
%subplot(2,1,1)
%plot(ss)
%subplot(2,1,2)
%plot(ss_spect)
%--------------------------
nn=signal(1:n-delay).*noise(delay+1:n)+noise(1:n-delay).*signal(delay+1:n)+noise(1:n-delay).*noise(delay+1:n);
nn_spect=abs(fft(nn));

%figure
%subplot(2,1,1)
%plot(nn)
%subplot(2,1,2)
%plot(nn_spect)
%--------------
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)
%------------------------------相乘后的有用信号求四阶累积量
m=100;
for i=-m:m
    ss_cum(:,i+m+1)=cum4est(ss,m,1000,60,'unbiased',i,i);
end
ss_cum_spect=abs(fft(ss_cum));

figure
subplot(2,1,1)
mesh(ss_cum)
subplot(2,1,2)
mesh(ss_cum_spect)
%------------------------------相乘后的噪声求四阶累积量
for i=-m:m
    nn_cum(:,i+m+1)=cum4est(nn,m,1000,60,'unbiased',i,i);
end
nn_cum_spect=abs(fft(nn_cum));

figure
subplot(2,1,1)
mesh(nn_cum)
subplot(2,1,2)
mesh(nn_cum_spect)
%--------------------------相乘后的信号求四阶累积量
for i=-m:m
    mix_cum(:,i+m+1)=cum4est(mix,m,1000,60,'unbiased',i,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)

%---------------------------有用信号四阶累积量的对角切片
figure
subplot(2,1,1)
plot(ss_cum(:,m+1))
subplot(2,1,2)
plot(abs(fft(ss_cum(:,m+1))))
%-----------------------------------------噪声四阶累积量的对角切片
figure
subplot(2,1,1)
plot(nn_cum(:,m+1))
subplot(2,1,2)
plot(abs(fft(nn_cum(:,m+1))))
%---------------------------------信号四阶累积量的对角切片
figure
subplot(2,1,1)
plot(mix_cum(:,m+1))
subplot(2,1,2)
plot(abs(fft(mix_cum(:,m+1))))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -