能量检测

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

能量检测能量检测法是一种比较简单的信号检测方法[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频率为160HZ的余弦信号y=xn+randn(size(t));%混入噪声信号randn(size(t))生成与数组t大小相同的随机数组figure(1)plot(t,y)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%进行能量检测NFFT=2^nextpow2(L);%找出大于等于L且最接近L的2的整数次幂长度,如L=10NFFT=16Y=fft(y,NFFT)/L;%进行fft变换(除以总采样点数,是为了后面精确看出原始信号幅值)f=fs/2*linspace(0,1,NFFT/2);%频率轴(只画到Fs/2即可,由于y为实数,后面一半是对称的)figure(2)plot(f,2*abs(Y(1:NFFT/2)))%画出频率幅度图形,可以看出120Hz幅值大概为1注:对一个信号进行采样,采样频率是fs,在满足采样频率的条件下,信号中的最高频率小于fs/2,所以在FFT之后的谱线是反映在-fs/2-fs/2的信息,在0-fs/2之间是正频率的信息。若信号长N,在FFT变换之后,谱线之间的频率间隔为df=fs/N,谱线是从直流(即0频率)开始,所以正频率0-fs/2应对应的谱线为1-N/2+1。一般谱分析中用freq=(0:N/2)*df;Y=abs(Y(1:N/2+1);而N/2+2-N之间的谱线,在信号为实数时与2-N/2的谱线构成共轭对称,被称为负频率的谱线,在幅值上与正频率相同,所以在实信号处理中负频率信息没有被利用;而当信号为复数时,N/2+2-N之间的谱线与2-N/2之间不构成共轭对称,这时正频率信息和负频率信息都要被利用。仿真图如下:问题:还有加入不同信噪比SNR的情况如何实现?(可得结论,噪声少的时候更容易感知用户)

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功