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

📄 滑窗检测.m

📁
💻 M
字号:
close all;clear;clc;
signalw=1200;%信号宽度
m=120000; %数据采样点数
pfa=0.001;%虚警概率
dectectw=signalw/4;%滑窗宽度
a=wgn(1,m,13,50,'dbm','real');%噪声
b=gate(a,m,dectectw,pfa)%门限
signal=real(fmlin(signalw,0,0.25));%信号

%加高斯白噪声信号
mix=zeros(1,m);
signalpos=40000;
for l=signalpos:signalpos+signalw-1
    mix(1,l)=signal(l-(signalpos-1),1);
end
mix=mix+a;%加高斯白噪声信号

%检测信号有无及位置
g=0;
for l=1:dectectw
    g=g+mix(l)*(mix(l))';
    
end
   g0=g;
   for k=(dectectw+1):m
    g=g+mix(k)*(mix(k))'-mix(k-dectectw)*(mix(k-dectectw))';
    if (g>b)
        over=1
        index=k
        break
    end
end%检测信号有无及位置

pnoise=mean(abs(a).^2);
psignal=mean(abs(signal).^2);
snr=10*log10(psignal/pnoise) %信噪比

[mix1,c,l]=wden(mix,'rigrsure','s','sln',3,'db2');
[a1,c,l]=wden(a,'rigrsure','s','sln',3,'db2');
% figure(2)
% subplot(2,1,1)
% plot(a)
% subplot(2,1,2)
% plot(a1)
[signal1,c,l]=wden(signal,'rigrsure','s','sln',3,'db2');
% figure(3)
% subplot(2,1,1)
% plot(signal)
% subplot(2,1,2)
% plot(signal1)

%检测信号有无及位置
dectectw1=signalw*1/4;
b1=gate(a1,m,dectectw1,pfa)
g=0;
for l=1:dectectw1
    g=g+mix1(l)*(mix1(l))';
    
end
   g0=g;
   for k=(dectectw1+1):m
    g=g+mix1(k)*(mix1(k))'-mix1(k-dectectw1)*(mix1(k-dectectw1))';
    if (g>b1)
        over=1
        index=k
        break
    end
end%检测信号有无及位置

pnoise1=(sum(abs(mix1).^2)-sum(abs(signal1).^2))/m;
psignal1=mean(abs(signal1).^2);
snr1=10*log10(psignal1/pnoise1) %信噪比

subplot(2,1,1)
plot(mix)
axis([0 60000 -4 4])
TITLE('消噪前信号')
str={['SNR=',num2str(snr),'dB']};
text(45000,3,str)
subplot(2,1,2)
plot(mix1)
axis([0 60000 -4 4])
TITLE('消噪后信号')
str={['SNR=',num2str(snr1),'dB']};
text(45000,2.5,str)

⌨️ 快捷键说明

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