能量检测
能量检测法是一种比较简单的信号检测方法[1], 属于信号的非相干的检测,
直接对时域信号采样值求模,然后平方即可得到;或利用 FFT 转换到频域,然
后对频域信号求模平方也可得到。它无需知道检测信号的任何先验知识,对信
号类型也不作限制。
实际上,能量检测是在一定频带范围内作能量积累,如果积累的能量高于
一
定的门限,则说明信号的存在;如果低于一定的门限,则说明仅有噪声。能量
检
测的出发点是信号加噪声的能量大于噪声的能量。能量检测方法对信号没有作
任何假设,是一种盲检算法。
此代码“利用 FFT 转换到频域,然后对频域信号求模平方”方法来实现对用
户的检测。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%生成调制信号
fs=100; %采样频率
fc=40; %载频
fo=fs/20; %码率
L=300; %信号样本
t = (0:L-1)*1/fs; %时间序列(时间轴)
xn=cos(8*pi*fc*t); %产生一个幅值为 1 频率为 160 HZ的余弦信
号
y = xn + randn(size(t)); %混入噪声信号 randn(size(t))生成与数组 t
大小相同的随机数组
figure(1)
plot(t,y)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%进行能量检测
NFFT = 2^nextpow2(L); %找出大于等于 L 且最接近 L 的 2 的整数次
幂长度,––如 L=10 ..NFFT=16
Y = fft(y,NFFT)/L; %进行 t 变换(除以总采样点数,
是为了后面精确看出原始信号幅值)
- 1
- 2
前往页