解析matlab函数wrcoef的内部实现

本文详细解读了matlab函数wrcoef的内部实现过程,通过举例分析了1层和3层分解信号的重构方法,涉及到小波分解、补零、滤波器应用等步骤,揭示了wrcoef函数如何进行小波逆变换,与wavedec函数形成互补操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启发:http://blog.sina.com.cn/s/blog_8ec096580101fsmn.html
一、首先,分析一个简单的例子,即对长度为2000的信号进行db6小波1层分解。
即:[C,L] = wavedec(s,1,'db6');A1 = wrcoef('a',C,L,'db6',1);
下面对函数wrcoef的实现过程进行详细解读:
第一步:将数组C中的CA1取出来,进行补零;
CA1 = C(1:L(1));
ca1 = zeros(1,2*L(1));
ca1(2:2:2*L(1)) = CA1(:); 
第二步:将CA1通过低通滤波器LO_R;
A11 = conv(LO_R,ca1);
第三步:得到1层分解后重构的概貌系数A1;
A1 = A11(12:2000+12-1);
注明:至于这里为什么要从第12个数据开始取,暂时不清楚。
从上面的分析来看,将分解最底层的概貌系数通过补零和滤波器的方式,直到得到和原始信号长度相同的数据。
二、分析3层分解的具体重构情况。Matlab语句:[C,L] = wavedec(s,3,'db6');
该句的作用是将信号s采用db6小波基进行3层分解,C里面中存放着小波变换后的各个分量的系数,L也是个数组,记录着C中每个元素的长度。
C = [CA3 CD3 CD2 CD1];L=[la3 ld3 ld
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值