调制信号识别.docx
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
调制信号的小波分析
一、小波函数简介
1.Haar 小波
最简单的小波函数, Haar 小波是离散的,与阶跃信号相似,同 Daubechies db1 小波是一样的。
2. Daubechies小波
Daubechies 小波是紧支正则小波,便于进行离散小波分析。这类小波没有显
式的表达式,除了 db1( Haar)。然而它的传递函数的模的平方是有简单的表达
式的。
3.Biorthogonal 小波
此类小波具有线性相位,用于信号和图像重建。
4. Coiflet 小波
这个小波族是 I.Daubechies应 R.Coifman 的要求所创建的, coif N 较 dbN 有更好的对称性。
5.Symlets 小波
此小波由 Daubechies提出,作为对 db 小波族的修正,是一种近似对称小波,它和 db 小波族的性质是近似的。
6.Morlet 小波
x2
其尺度函数不存在,小波函数为 ( x) e 2 cos5x ,Morlet 小波不满足容许性条件。
7.Mexican Hat 小波
小波函数为 ( x) ( 2
1x2
4 )(1
x2 )e 2,它是 Gaussian概率密度函数的二
阶
3
导数,由于它不存在尺度函数,因此不具有正交性。
8.Meyer 小波
Meyer 小波的尺度函数和小波函数都在频域中定义,都具有显式的表达式。
二、连续小波变换
从数学上来说,傅里叶变换就是将信号 f (t ) 乘以一个复指数后在所有的时间
域上求和。变换的结果就是傅里叶系数。
相似的,连续小波变换(CWT)定义为,将信号乘以由尺度和位移确定的
小波函数后,再在整个时间轴上相加。CWT 的变换结果是很多小波系数C,C 是尺度和位移的函数。
大尺度对应于时间上伸展大的小波,小波伸展地越大,所比较的信号段就越长,所以小波系数所量度的信号特征也就越粗糙。
在计算机中,任何实数域的信号处理都是对离散信号的操作,那么, CWT 的连续性及它与 DWT 的区别表现在尺度的选取和对位移的操作。与离散小波变换不同的是,只要在计算机的计算能力之内, CWT 可以在每一个尺度上计算;在位移上连续是指小波可以在待分析函数的整个域上进行平滑的移动。
三、离散小波变换
对于大多数信号来说,低频部分往往是最重要的,给出了信号的特征。而高频部分则与噪音及扰动联系在一起。将信号的高频部分去掉,信号的基本特征仍然可以保留。
信号的概貌主要是系统大的、低频的成分,大尺度;而细节往往是信号局部、高频成分,小尺度。
分解算法: 1.产生两组系数:概貌系数cA1 和细节系数 cD1。通过低通滤波器Lo_D 卷积信号 s 得到 cA1,通过高通滤波器 Hi_D 卷积 s 得到 cD1,之后进行二抽取。每个滤波器的长度是 2N。如果 n = length (s),那卷积后概貌信号和细节信号的长度为 n + 2N - 1,进行二抽取之后 cA1 和 cD1 的长度为 floor ((n-1)/2)+N。
关于 matlab 中 cwt 算法的分析
cwt 算法的主要程序如下:
function coefs = cwt(signal,scales,wname,plotmode,xlim)
precis = 10;
signal = signal(:)'; 输入信号
len= length(signal);
coefs = zeros(length(scales),len);设置小波系数数组
nbscales = length(scales);
[psi_integ,xval] = intwave(wname,precis); 根据不同的小波计算其积分值
wtype = wavemngr('type',wname);
if wtype==5 , psi_integ = conj(psi_integ); end wtype=5 说明如果是没有尺度
函数的复小波,将小波积分值取复共轭xval = xval-xval(1);
dx= xval(2);
xmax = xval(end);
ind = 1;
for k = 1:nbscales计算各个尺度的信号的连续小波变换值
a = scales(k);
j = [1+floor([0:a*xmax]/(a*dx))];设置j,对积分值psi_integ进行采
样例 a=4,(0:1:4*xmax ) /4*dx if length(j)==1 , j = [1 1]; end
f = fliplr(psi_integ(j)); 将积分值即小波滤波器系数反转 coefs(ind,:) = -
sqrt(a)*wkeep(diff(conv(signal,f)),len);
将信号与小波系数 f 进行卷积,再差分,截取中间数值ind= ind+1;
end
dummyCoefs = coefs;
dummyCoefs = abs(dummyCoefs);
plotCOEFS(axeAct,dummyCoefs,plotPARAMS); 可见,cwt 画出的是小波变换系数
的绝对值 dummyCoefs,而返回
值是 coefs,不是绝对值。
算法理论分析:
由于 s(k ) 是与
(
t b
) 的分段积分进行卷积,所以在程序中出现了一个 diff a
运算,对相邻的两个 coefs 值进行相减,因此在变换图中,在不同频率变换处,出现混叠发散现象,难以得到准确清晰的频率分辨。