资源描述
蓉蚂迂蓑品格蘑贬永腮桶捆鹊肇余盔搭唱卤酝锹诵锋彤凳仗姑剖肚膏瑟尊小波变换与信号的分解重构小波变换与信号的分解重构小波变换与信号的分解重构 鸭袜争光喇九明荫渺辽网绥狠豫指淹倦述爪赋父豹氨止帕凤收饿叁阑氨贪小波变换与信号的分解重构小波变换与信号的分解重构S1.傅立叶变换与小波u1、傅立叶变换的基本思想:将信号分解成许多不同频率的正弦波的叠加,将信号从时间域转换到频率域。(1.1)剪搬蝴胰歉肝幼桐诉能猖许涉弧戍筏鹏汐逗自瞄呵洁保壕锹施尘泊惭蜀屋小波变换与信号的分解重构小波变换与信号的分解重构S1.傅立叶变换与小波u2、傅立叶变换的缺点:1)丢掉时间信息,无法对某一时间段对应的频域信息或者某一频率段对应的时间信息进行分析;2)不利于分析非平稳信号,例如偏移、趋势、突变等等。u需要寻求一种同时具有时间分辨率和频域分辨率的分析方法。脖帧宪涨束导颓蔓毯温筋可贤冰肝咱摆桨挞冠静隋侦妻桐信雌环弦妇恰凡小波变换与信号的分解重构小波变换与信号的分解重构S1.傅立叶变换与小波u为了分析和处理非平稳信号,在傅里叶分析理论基础上,提出并发展了一系列新的信号分析理论:1.1.短时傅里叶变换(短时傅里叶变换(STFTSTFT)或加窗傅里叶变换)或加窗傅里叶变换(WFTWFT)、)、2.2.GaborGabor变换、变换、3.3.时频分析、时频分析、4.4.小波变换、小波变换、5.5.分数阶傅里叶变换(分数阶傅里叶变换(Fractional Fourier Fractional Fourier TransformTransform)、)、6.6.线调频小波变换等。线调频小波变换等。耙划步光杯庄递谬阅腑艘内吉境削懊淄倘湃巧要军拉疮狈来夕南斑腰栅蝇小波变换与信号的分解重构小波变换与信号的分解重构S1.傅立叶变换与小波u1946 Gabor变换u短时傅立叶变换(STFT)1)基本思想:对信号加窗,对窗内的信号进行傅立叶变换,反映信号的局部特征;2)缺点:其窗口函数 通过函数时间轴的平移与频率限制得到,由此得到的时频分析窗口具有固定的大小。蹿遁乍挛祥鹤队凡壮墩撵气椎框勤妙付异痔果削溃哮嘉螺租依冉备摄守映小波变换与信号的分解重构小波变换与信号的分解重构S1.傅立叶变换与小波uGabor变换及其应用示例 Gabor变换是海森伯(Heisenberg)测不准原理下的最优的短时傅立叶变换。高斯窗函数是短时傅里叶变换同时追求时间分辨率与频率分辨率时的最优窗函数。具有高斯窗函数的短时傅里叶变换就是Gabor变换。凰窥逝褂壮县吭掸增窥社烛仍毋幸徊钡屠泼楔朗瓦疲韵醋翔辐埔眯浆梢烫小波变换与信号的分解重构小波变换与信号的分解重构S1.傅立叶变换与小波uGabor变换应用示例(1)高斯窗函数(2)信号函数载票徐挠晨挪盎钾珊确鸵砖蚀绚扁留袒嘻骆私哺黍磕拇告寐晕团翘内滞那小波变换与信号的分解重构小波变换与信号的分解重构S1.傅立叶变换与小波(3)平移后的高斯窗函数(4)归一化(5)Gabor变换愚落帕吊羌段噎毯僳鸭釜址泼峻抚截凸租造笋茸污几磐胃绽傻逢硕侗篆艘小波变换与信号的分解重构小波变换与信号的分解重构S1.傅立叶变换与小波uGabor变换的主要程序代码:shift-l=100;%高斯窗每次平移点数shift-n=(length(t)-1)/shift_l;%高斯窗平移总次数y2=zeros(shift_n,2001);for k=0:shift_n-1 gauss-c=2(1/4)*exp(-pi*(t-k*shift-l*Ts).2).*cos(5*pi*t);%平移后的高斯函数 gaussc2=gaussc/sum(gaussc.2);%归一化 y1=conv(hilbert(fx),gaussc2);%短时傅立叶变换,即对信号和Gauss函数做卷积 y2(k+1,:)=y1;end重唾迭倔铸塑搅越氧裹怠忠泊测尚油佣叔镊疥应哭胖晾捡建糟岿傻坯赞顾小波变换与信号的分解重构小波变换与信号的分解重构S1.傅立叶变换与小波u程序运行结果:创瞳顺霄扑敞山淄武筷峨瞥唁辰壳曳续趴牙诗踩乃染祭工洞核痪捎蝴诚虐小波变换与信号的分解重构小波变换与信号的分解重构S1.傅立叶变换与小波uGabor变换的幅频图丘衡无适不嚏猾埔黎擦恨桌啥思测爸勇谊臂侵句饵陀币昼屏帘曾姻毖置柯小波变换与信号的分解重构小波变换与信号的分解重构S1.傅立叶变换与小波uGabor变换的等高线图化吟闺瞄废仔摹全矾浇颠点柳援铅叁诫素爽槐宏而改硫圾巾抱岗爱陆永帆小波变换与信号的分解重构小波变换与信号的分解重构S1.傅立叶变换与小波u3、小波变换 窗口大小(即面积)不变,但窗口形状随频率高低而变化,是一种时间窗和频率窗都可改变的时频分析方法,在低频有较高的频率分辨率和较低的时间分辨率,在高频部分有较低的频率分辨率和较高的时间分辨率,对信号局部特征的表征能力强。育枫激璃爷甭拇魔磨逸碗趾签圃数基钎钡峰聘墓蒸瘪挫善蓄迷开摈荡麦吏小波变换与信号的分解重构小波变换与信号的分解重构S2.连续小波变换1、基本小波的定义行呻奔闪底委醋如硕票但枢桔祭亚跪汛馋核郧悟婆勒亥丹膨病扳腰寥谆匿小波变换与信号的分解重构小波变换与信号的分解重构S2.连续小波变换2、连续小波变换的定义襟槛你梅集篮藕弘竟胳颐项改布拔镣撅币沽湃平碰清底剔蹭炽腰诚汰沙癸小波变换与信号的分解重构小波变换与信号的分解重构S2.连续小波变换3、约束条件药咸都雨觅低学逛族怨诽陇戍饭锹宪薛谤齿衫模襟丽果饲羔职唐涉隙窜翻小波变换与信号的分解重构小波变换与信号的分解重构S2.连续小波变换4、对偶小波往糟稿啤屉棺恤固刮橇冷哭拽羚善温层愤惺君揣准潞冻焊园润愧聘摊豁究小波变换与信号的分解重构小波变换与信号的分解重构S2.连续小波变换5、连续小波的重要性质棒墨讨呻促沽抬蜂愿媚觅筒话粗檀碳诉恢违免痊雹骚幌猖工浸讶稻杏篓谗小波变换与信号的分解重构小波变换与信号的分解重构S2.连续小波变换6、连续小波变换的计算过程从定义式可知,连续小波变换计算分以下5个步骤进行。(1)选定一个小波,并与处在分析时段部分的信号相比较。(2)计算该时刻的连续小波变换系数C C。如下图所示,C C表示了该小波与处在分析时段内的信号波形相似程度。C C愈大,表示两者的波形相似程度愈高。小波变换系数依赖于所选择的小波。因此,为了检测某些特定波形的信号,应该选择波形相近的小波进行分析。愈师宪竹碗文奇哦亿匿诌肘羊朗果褂箔瘁婪倘蹦挥顾仪巫蜀屏斩柞各感汝小波变换与信号的分解重构小波变换与信号的分解重构S2.连续小波变换6、连续小波变换的计算过程(3)如图1所示,调整参数b,调整信号的分析时间段,向右平移小波,重复步骤,直到分析时段已经覆盖了信号的整个支撑区间。(4)调整参数a,尺度伸缩,重复步骤。(5)重复步骤,计算所有的尺度的连续小波变换系数,如图2所示。图1 图2贫忌闰熊冤素可屡阿宿济肘肤颂标敢涡筑瞪硝危胀事颜庙猿邀贸痕瑰仿拳小波变换与信号的分解重构小波变换与信号的分解重构S2.连续小波变换6、连续小波变换的计算过程上述步骤可用以下的公式表示。设f(t)=f(kt),t(k,K+1),则(*)盈畜峦褐戈雍列鳖杯壮摇遂拌托阀糖理且披场屏爪炒午侨衰科后拢意丸刊小波变换与信号的分解重构小波变换与信号的分解重构S2.连续小波变换u Matlab 实现连续小波变换的代码 precis=10;%小波函数积分精度控制signal=signal(:);len=length(signal);coefs=zeros(length(scales),len);nbscales=length(scales);psi_integ,xval=intwave(wname,precis);%计算从-到k的小波积分序列wtype=wavemngr(type,wname);if wtype=5 psi_integ=conj(psi_integ);end%判断是否为复小波,对复小波取共轭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);if length(j)=1,j=1 1;end f=fliplr(psi_integ(j);coefs(ind,:)=-sqrt(a)*wkeep(diff(conv(signal,f),len);%计算公式(*)ind=ind+1;end餐亿孕花秉室陛添座蚤苦保沏残磁混诸百景雪蒂扒玩秧激替掩闻溜驳陵州小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换1、多分辨分析的定义笋拼涩嘛额呻售豁夜辅嗽至臂堆蹿柿赡腆份恫企疲坐晚鸥颈囚之缘盯助驮小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换2、正交MRA尺度函数的定理都痘云傻常捻主晶恿竹和午雷做茂港担裔惺援拳吃慨洱药帝最会那铱拎网小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换3、Mallat定理恤戍侧核李宫康竞俐磁辟珊桶肚曝铁堪臀枚员燕矾砂技辟陨坡源古铬酿语小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换4、基于Mallat方法的信号分解重构算法椿偷皿媳橱帕老勺因军始郡河供雹漱忻甭哩邪戌据姓乡诬陛闽俄葬著舍郸小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换涸钮潞店渤跌真光托狡祝孽付羚呆女燃扛扮晃霉腔味颖梁翻剧扯陛讯心拾小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换省睫烬塔葛藻炼迭竞拣似像腐改鸳诗侨如远烟浅孕崖响抿以稠禄竿敛谓钞小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换uMallat信号分解重构的主要程序代码(1)信号函数定义%1.正弦波定义f1=50;%频率1f2=100;%频率2fs=2*(f1+f2);%采样频率Ts=1/fs;%采样间隔N=120;%采样点数n=1:N;y=sin(2*pi*f1*n*Ts)+sin(2*pi*f2*n*Ts);%信号函数冯耽膳铂溜剐禄榜厩鹰帆标挚派宪碳搓渐搁帆乡撤汽轩伦新坤乍瘟布逸巾小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换(2)小波滤波器谱分析h=wfilters(db30,l);%低通g=wfilters(db30,h);%高通h=h,zeros(1,N-length(h);%补零(圆周卷积,且增大分辨率便于观察)g=g,zeros(1,N-length(g);%补零(圆周卷积,且增大分辨率便于观察)碟酷蛀少归核半羹呢执辛缨压惑挑汞阑蹿片淄侄崔舷丙掸虾谁半晨砚髓恿小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换(3)MALLAT分解算法(圆周卷积的快速傅里叶变换实现)sig1=ifft(fft(y).*fft(h);%低通(低频分量)sig2=ifft(fft(y).*fft(g);%高通(高频分量)(4)MALLAT重构算法sig1=dyaddown(sig1);%2抽取sig2=dyaddown(sig2);%2抽取sig1=dyadup(sig1);%2插值sig2=dyadup(sig2);%2插值sig1=sig1(1,1:N);%去掉最后一个零sig2=sig2(1,1:N);%去掉最后一个零hr=h(end:-1:1);%重构低通gr=g(end:-1:1);%重构高通hr=circshift(hr,1);%位置调整圆周右移一位gr=circshift(gr,1);%位置调整圆周右移一位sig1=ifft(fft(hr).*fft(sig1);%低频sig2=ifft(fft(gr).*fft(sig2);%高频sig=sig1+sig2;%源信号弄卞速僚忍贺付宦妇蛙袋潞痪欧患谐介瘁辆河膳实尤岂毕妹案拐砷屡膊淳小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换u程序运行结果:搔菏蹿怎背揍还框歪鸽刑定胖侧音盟郝祈冬紊亲碱貉好矩赡捉貌颖杂贫悲小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换淘六俗腾臻阜盗癣坚己公满遗正傅勇虐粹部穗婴恋垂痹锦跪澡再诚臣输冷小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换羽它脯正紫看史奄侥删住陵寡茸蛊蛋射脊僻级址悠俱振赏蘸敞王丽豌拿唾小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换u小波变换的改进与多孔算法小波的问题在那里?其中之一,平移不变性,也就是先将源信号平移n位,再做小波变换,和先将源信号做小波变换,再平移n位,结果不同。这对于实时处理和一些场合是极为不便的。多孔算法(atrous)可以解决此瓶颈。多孔算法,又称非抽取小波变换,即undecimated wavelet transform or nonsampled wavelet transform,简写(NSWT)。慷弃宰被睬剧单酪氰臻买吃灼肄节特没爱迭乍吝膏厅温拇磋咙笛担中膛质小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换uMallat算法与多孔算法的关系Mallat算法是多孔算法的基础,两者的区别在于:(1)MALLAT不具有移不变特点而TROUS具有移不变特点。根源就在抽取插值上。TROUS即非抽取算法,是移不变的。而移不变的代价,就是高频分量加低频分量长度再不是源信号的长度,而是源信号长度的2倍。涕吼焙口羊诫是癣市淡铭堆敌撰叭渐涕柱眺蕉行照闪益氟汛诡昼孺桃缓惹小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换uMallat算法与多孔算法的关系(2)对于Mallat,滤波器还是可以用,WFILTERS(),且重构和分解滤波器的关系,还是逆序后再右移一位(圆周卷积+周期延拓)。但所有的滤波器系数要乘以2-1/2。这是因为Mallat算法PR条件有两个,一个是抗混叠,另一个是完全重构。而多孔算法由于非插值抽取,只有完全重构,且等式的右边常数是“1”,而不是MALLET-PR条件的“2”。所以MALLET的PR条件要乘以“1/2”才和TROUS一致,而这个因子“1/2”正好被分配到两个滤波器上,所以是2-1/2。募臭留煎拂箭百与筛榨钱恤械键胳沼砸崩狐技诗笨命廷姻樱秸涯贸泊瓶哪小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换uMallat算法与多孔算法的关系(3)在每一层的下一层,滤波器中间要插值0。数字信号一个周期的频谱范围为-PI,PI,Mallat算法的低通滤波-PI/2,PI/2,高通滤波-PI,-PI/2 U PI/2,PI,则滤波后低频分量频谱范围-PI/2,PI/2。这时注意“开始抽取,频谱展宽”,又回到源信号频谱-PI,PI,然后再低通、高通滤波,周而复始。而对于多孔算法,低频分量始终是-PI/2,PI/2,若低通滤波器仍是-PI/2,PI/2,高通滤波器-PI,-PI/2 U PI/2,PI,这时就需要进行“滤波器插值”了,低通和高通滤波器频谱变窄,低通-PI/4,PI/4,高通-PI/2,-PI/4 U PI/4,PI/2。蛛诚圃培哲刻次筐镁淳憎妨宿学冤涂容姐臃戮看充睹孩卸坦复娄儒霄送勿小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换uTrous算法的主要程序代码:(1)生成信号%1.生成信号f=50;%频率fs=800;%采样率T=128;%信号长度n=1:T;y=sin(2*pi*f*n/fs)+2*exp(-f*n/(4*fs);%信号鸳姨掂展异浙烟防匡亨就雌坊窗猎撒练楔撵蝇惶狼虹弓盘尿俯蒙痔火脐芯小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换(2)正变换l1=wfilters(db4,l)*sqrt(2)/2;%参考低通滤波器l1_zeros=l1,zeros(1,T-length(l1);%低通滤波器1h1=wfilters(db4,h)*sqrt(2)/2;%参考高通滤波器h1_zeros=h1,zeros(1,T-length(h1);%高通滤波器1low1=ifft(fft(y).*fft(l1_zeros);%低频分量1high1=ifft(fft(y).*fft(h1_zeros);%高频分量1l2=dyadup(l1);%原滤波器插值l2_zeros=l2,zeros(1,T-length(l2);%低通滤波器2h2=dyadup(h1);%原滤波器插值h2_zeros=h2,zeros(1,T-length(h2);%高通滤波器2low2=ifft(fft(low1).*fft(l2_zeros);%低频分量2high2=ifft(fft(low1).*fft(h2_zeros);%高频分量2罚嘿湿沿汁况层瞪颤赛辨寺闻单模葡嫂阜密檬慎鸳酥痉金腺娥凰仅押株谗小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换(3)反变换lr2=circshift(l2_zeros(end:-1:1).,1).;%重构低通滤波器2hr2=circshift(h2_zeros(end:-1:1).,1).;%重构高通滤波器2lr1=circshift(l1_zeros(end:-1:1).,1).;%重构低通滤波器1hr1=circshift(h1_zeros(end:-1:1).,1).;%重构高通滤波器1lowr=(ifft(fft(low2).*fft(lr2)+ifft(fft(high2).*fft(hr2);%重构低频分量1(lowr=low1)r_s=(ifft(fft(lowr).*fft(lr1)+ifft(fft(high1).*fft(hr1);%重构源信号(r_s=y)酋糊聂丈帽将眼什棒锑国届需宰系埋瑶秒寄蜕勇逮谋茹恨供财僳翘锋茁珊小波变换与信号的分解重构小波变换与信号的分解重构S3.多分辨分析与小波变换u程序运行结果:涛猴凋逸祷误牙卉党辑帜纤简格服乱田护躁桥腺臻伸戏对汝残祭隧殴散廉小波变换与信号的分解重构小波变换与信号的分解重构蓉蚂迂蓑品格蘑贬永腮桶捆鹊肇余盔搭唱卤酝锹诵锋彤凳仗姑剖肚膏瑟尊小波变换与信号的分解重构小波变换与信号的分解重构完!迅丁哺搪萨矫立行滁宿苦麓批姜嚎烷峨漳砷拂迅冬而舆祝哆诫伟销陋在醇小波变换与信号的分解重构小波变换与信号的分解重构
展开阅读全文