快速小波变换的定点DSP实现

2011-08-06 10:43:37来源: 互联网 关键字:快速  定点  实现

    小波变换具有良好的时——频局部性,是分析奇异信号的重要方法。定点DSP在工程中的应用十分普遍,具有低成本,高性能的特点。利用DSP实现小波变换可以满足工程是实时性的要求。文中简要介绍了小波变换理论及算法,并结合TI公司的16位定点DSP说明算法的实现。
    关键词:快速算法  小波变换  DSP


1 引言
    小波变换是近年来发展起来的一种数学理论和方法。作为一种新兴的理论,小波分析是数学发展史上的重要成果,对工程应用产生了深远的影响。广泛应用于语音信号处理、图像信号处理、信号检测、语音与图像编码、多尺度边缘提取与重建等领域。近年来,在电力系统中也开始应用小波分析进行故障检测及故障定位,并取得了有效的成果。
    计算机只能处理数字信号,所以在实际信号处理中,常采用离散形式的小波变换(Discrete Wavelet Transform,DWT)。由于小波变换算法的复杂性,尽管当今处理器芯片运算速度得到了大幅度的提高,仍然在实时性上不能满足要求。为了简化计算过程,人们发展了一些快速算法,如Mallat塔式算法,及利用调频Z变换(chirped Z Transform,CZT),梅林变换(Mellia Transform)进行快速计算等算法。其中,尤其以Mallat塔式算法在实际应用比较广泛。
    在数字信号处理领域,通常使用专用的数字信号处理器芯片(DSP)以完成特定的运算要求。美国TI公司是全球最大的DSP供应商,其生产的TMS320C2xx系列16位定点DSP芯片具有高性能、低价格等特点,具有广泛的应用领域。本文中用该系列DSP芯片实现小波变换的快速算法。
    本文将小波变换快速算法用DSP加以实现,既可利用小波变换实现应用要求,又可降低成本,增强市场竞争力。尤其在当今,随着电力系统的不断发展,及用户对电能质量的要求越来越高,对电力系统运行监控及保护的采样点数越来越多的情况下,利用此方法可以解决运算量大、运算精度高的问题。
2 小波变换及算法
2.1 小波变换
    小波函数的确切定义为:
    设ψ(t)为—平方可积函数,若其傅里叶变换ψ(ω)满足条件

    则称ψ(t)为一个基本小波或小波母函数。将其进行伸缩和平移后,得到小波基函数

    所谓小波变换就是把信号在上述小波基下进行展开。当然,此变换必须存在逆变换,否则,不能恢复原信号,该变换就没有什么意义了。
2.2 多分辨率分析
    多分辨率分析在正交小波变换理论中具有非常重要的地位,在多分辨率分析理论产生之前,人们构造正交小波基函数要凭借技巧,具有一定的难度。自从有了多分辨率分析理论,这项工作变得容易的多。当然,要寻找合适的基函数还是需要一定的经验的。当找到了合适的滤波器系数后,就可以利用Mallat给出的快速小波算法来计算小波变换了。
    通俗的讲,多分辨率分析就是把空间V0上的函数f(t)分解为细节部分W1(小波空间)和大尺度逼近部分V1(尺度空间),然后将大尺度逼近部分V1进一步分解,如此重复就可得到任意尺度(或分辨率)上的逼近部分和细节部分。
2.3 滤波器系数
    根据多分辨率分析理论,如果φ(t),ψ(t)分别为尺度空间V0及小波空间W0的一个标准正交基函数,则在任意相邻尺度j,j-1之间,都有二尺度空间基函数关系

其中的h(n),g(n)即为滤波器系数,由尺度函数φ(t)和小波系数ψ(t)决定。
2.4?Mallat塔式算法
    当有了一组小波基函数后,剩下的事就是计算分解了,即把信号用小波基函数表示出来,从而关键问题是求出表示式中的系数。根据多分辨率分析,将信号f(t)□Vj-1分解一次(即分别投影到Vj、Wj空间),此时cj,k和dj,k为j尺度上的展开系数,经过不算复杂的推导,可得

其中cj,k和dj,k分别称为j尺度空间的剩余系数和小波系数,上式说明它们可由j-1尺度空间的剩余系数cj-1,k经滤波器系数进行加权求和得到。实际中的滤波器h,g的长度都是有限长的或近似有限长的,因此分解运算非常简单。将cj,k进一步分解下去,可分别得到Vj+1、Wj+1空间的剩余系数Cj+1,k和小波系数dj+1,k

    从而得到任意尺度空间上的分解。分解过程如图所示

    在上述算法中必须要有一个初始输入序列Cj-1,k,分解才能顺利进行,这是一个问题。在大多数应用中,为了简便,常用输入信号的采样序列来近似作为C0,k。在一些文献里也给出了其它几种确定C0,k的方法。
3?算法在DSP上的实现
    假设输入信号x(t),采样频率N(=2n),得采样序列x(k),k=0,…,N-1,作为初始输入序列C0,k。滤波器系数h(m),g(m),m=0,…,L-1。为了应用简便,(1)、(2)式可变为

   从第一个尺度j=1开始,求出滤波器系数与剩余系数的加权和,分别得到cj,k与dj,k,并且它们的长度均为N/2。依次求出j=2,3,…各尺度值,cj,k与dj,k的长度也将变为N/4,N/8,…。应注意到,滤波器系数序列与输入信号序列相乘时,各个系数依次相乘然后累加即为cj,k或dj,k值。计算完一个后,要将滤波器系数序列向后移两个位置,再与输入信号相乘。最后,只剩下两个值时,再从第一个位置继续,从而构成一个圆周形式,得到最后一个cj,k与dj,k。以j=1为例来说明这一点。

    同样,可得d1,N/2-1。?
    在TMS320C2xx系列定点DSP中,并未提供直接实现上述算法的寻址方式,可以利用循环指令实现。其中,要用到的两条重要指令是MAC(乘累加指令)和RPT(重复指令)。MAC指令是DSP指令中最有特色的指令之一,当RPT流水线启动后,通过MAC指令可以在单指令周期内实现乘加操作。算法的关键是一个卷积计算,其过程用如下几条语句即可实现。假设程序存储器地址0xFF00h开始,存放了小波滤波器系数h(k),k=0,1,2,…,L-1的值,从0xFF80h开始,存放了小波滤波器系数g(k),k=0,1,2,…,L-1的值。数据寄存器地?址0x1000h(用cc表示)开始,存放输入信号。计算c1,k程序如下
        RPTL-1
        MAC0FF00h,cc+2*k
    下面简要介绍一下单个尺度上的计算过程。仍假设输入信号为N点采样值,小波滤波器长度为L。
    由于有上述圆周形式的循环算法,直接计算所有值会有很多不便,因此将整个过程分为两部分。第一部分,保存c0,k(k=N-2,N-1,0,1,2,…,L-3)到一连续存储空间,然后计算k<N/2-L时的d1,k的值,并保存到临时存储空间datad(需要N个单元)中。第二部分计算k=N/2-L,…,N/2-1时的d1,k的值,保存到datad中(从第N/2-L单元开始)。与前面相同方法计算c1,0,c1,1,…,的值,保存时覆盖掉原来的c0,0,c0,1,…,即可。如果为了系数重构方便,可以把datad中前N/2个单元内容移到原来的c0,k(k=N/2,…,N-1)位置。如此方法便可得到分解系数。?
4 结论
    小波分析具有良好的时频局部性,是当今很受欢迎的分析方法之一,利用定点DSP进行小波变换,满足了实时性,具有良好的精度和低成本,是工控领域的理想选择。

关键字:快速  定点  实现

编辑:eeleader 引用地址:http://www.eeworld.com.cn/gykz/2011/0806/article_7846.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:FPGA器件的在线配置方法
下一篇:基于DSP的高阶COSTAS锁相环的设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
快速
定点
实现

小广播

独家专题更多

2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved