多尺度小波算法的DSP快速实现解读.docx
- 文档编号:26274852
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:20
- 大小:166.50KB
多尺度小波算法的DSP快速实现解读.docx
《多尺度小波算法的DSP快速实现解读.docx》由会员分享,可在线阅读,更多相关《多尺度小波算法的DSP快速实现解读.docx(20页珍藏版)》请在冰豆网上搜索。
多尺度小波算法的DSP快速实现解读
第5期2009年lO月
微处理机
MICROPROCESSORS
NO.5
Oct..2009
多尺度小波算法的DSP快速实现・
陈丽安,陈志英
(厦门理工学院电子与电气工程系,厦f1361024)
摘要:
研究了基于TITMS320C54x数字信号处理器(DSP—Digital
Signal
Processor)的多尺度
三次B样条小波分解算法快速实现的关键性技术,主要包括乘加指令的灵活应用、指针的调整、辅助寄存器的合理配置、循环寻址的应用等。
所提出的方法应用于配电系统短路故障早期检测中,取得较好的效果。
关键词:
多尺度小波;数字信号处理器;快速实现中图分类号:
TP391;0244
文献标识码:
A
文章编号:
1002—2279(2009)05—0009—04
RapidImplementationofMulti—scale
WaveletAlgorithm
on
DSP
CHENLi—an。
CHENZhi—ying
(DepartmentofElectronicandElectricalEngineering,XiamenUniversityofTechnology,Xiamen361024,China)
Abstract:
ThekeytechniqueoftherapidimplementationofcubicBsplinewaveletdecomposition
algorithmbasedonTMS320C54xDistalSignal
Processor(DSP)isproposedinthispaper.Theresearch
mainlyincludestheflexibleapplicationoftheMACinstruction,thecorrect
proper
adjustingofthepointers,the
configuration
oftheauxiliaryregistersandtheapplicationofthecircularaddressing,etc.The
methodhave
beensuccessfullydemonstratedin
theapplicationofthe
effectiveresultsoftheproposed
earlydetectionforshort—circuitfaultinpowerdistributionsystem.
Keywords:
Multi—scalewavelet;DigitalSignal
Processor(DSP);Rapid
implementation
1引言
于:
①因上一尺度小波分解的输出值是下一尺度小
波分解的输入值,故对每一尺度的输入输出均需采
小波变换广泛应用于电力系统谐波分析及配电
系统短路故障早期检测等领域[1。
3】。
在对输入信号进行多尺度小波分解计算时,运算工作量较大。
为
用循环寻址;②对每一尺度的输出结果均需设置两个不同指针,一个指向存放分解信号的内存单元,另一个指向为同一尺度计算提供输入值的内存单元。
由于TMS320C5402DSP内部仅提供八个辅助寄存
确保程序执行的实时性,其核心算法在DSP中采用汇编语言编写,这对编程员的要求较高,不仅要求深
入了解DSP器件的指令系统,同时要求熟悉DSP器件的硬件结构。
TMS320C54xDSP是美国Ⅱ公司推出的新一代高性能定点DSP,它以独有的高性能、低功耗及低价位等优势成为流行的DSP产品,广泛应用于众多实时处理领域H。
1。
器AR0一AR7,且能够用于循环寻址的辅助寄存器仅为AR0一AR5,因此对多个采样数据连续进行小波分解计算时,应采用独特的功能及处理方法,具有
很强的技巧性。
2
多尺度三次B样条小波分解算法
B样条小波是对称的半正交小波,它具有显式
对输人信号进行单尺度小波变换计算,编程比较
简单。
但实际应用中常需将输入信号进行多尺度小
波分解,如文【31通过大量仿真计算,证明了第四尺度
小波变换细节分量在反映故障信息的同时可有效剔除噪音干扰的影响,所以可作为短路故障的判据。
解析式,算法简洁,支撑集短等特点,可以进行快速分解与重构。
文【61证明了三次B样条对大多数实
际应用是渐进最优的,其分解的快速递推算法为:
.s2『八n)=∑k岛一一火,l一∥叫k)
用DSP实现多尺度小波分解计算时,其难点在
●基金项目:
厦门市科技局科技计划指导性项目(小波理论在电力系统谐波分析中的应用研究,350222006006)作者简介:
陈丽安(1966一).女。
福建省龙岩市人。
教授,博士,主研方向:
智能电器。
收稿日期:
2008一08—0r7
万方数据
・10・
微处理机
2009矩
彤0以儿)=乏g。
S甜一tfC凡一27一’k)
(1)式(1)中s抓//,)与wj(r/.)分别为各尺度下小
波分解的甲滑分量和细节分鼍。
h。
与g。
为与小波
函数对应的带通及低通滤波器系数,具体值为:
1
1
h
l=h2。
亩,h。
=h12寺go=_2,gl=一2
将系数代入式(I)可得各尺度下三次B样条小波分解平滑分量及细节分量的表达式。
式(2)给出了第一至第三尺度下平滑分量的迭代公式,式(3)为第四尺度细节分量的迭代公式。
是,八几)=h一1S20以凡+1)+ks20八,1)+
hlS20f(,l—1)+h2S20八n一2)
s22以,1)=h—lS2l八n+2)+危os2l八n)+
h。
S2・以n一2)+^2s2・八n-4)
(2)
¥23八几)=h.1S22八凡+4)+^oS22以凡)+
hlS22厂(//,一4)+h2¥22八r/,一8)
职一八n)=go¥23八凡)+glS23八,l一8)=
一2(s:
,以n)一s:
,八r/,一8)
(3)3.1灵活使用DSP的乘加指令
由式(2)、(3),与多数数字信号处理方法类似,对信号进行多尺度三次B样条小波变换,其快速递推算法主要是进行乘加运算。
DSP有乘加指令MAC.速度极快,可在一个指令周期内完成一次乘加运算。
根据式(2),可得如下计算式:
s2-以O)=h2S20厂(一2)+h1S20八一1)+
^。
Js:
o八0)+^.。
S20以1)
(4)
由式(4)可见小波分解光滑分量的运算,实为四个带通滤波器系数与四个输人数据分别相乘后再求和。
若用一般的单片机实现,因执行一条乘法指
令便需要若干微秒,因而无法保证实时性。
而DSP执行一次乘加运算仅需一个指令周期(对
DSP,f=100MHz,T=IOns),速度极
快,且较易实现。
假设寄存器AR2为指向系数h。
的指针;寄存
器AR3为指向输人数据so.以n一2J—k)的指针,若
进行第一尺度小波变换,即当_『=l时,待分解的输
入数据便为输入信号值S:
of;寄存器AR4为指向输出数据S:
,的指针。
用DSP完成(4)式计算有两种方式,其代码分别如下:
代码一:
LD柏,A;累加器清零
万方数据
RPT群3;乘加运算的次数为3+1=4MAC宰AR2+,木AR3+,A;进行乘加运算
STHA,,Ic
AR4+;将计算结果存于AR4所指向
的存储t誊元
代码二:
MPY,l‘AR3+。
木AR2+,A;第一项乘积结果存人寄存器A
l{P1’{I}2;乘加运算的次数为2+l=3MAC,I‘AR3+,宰AR2+,A;进行乘加运算
STH
A,霉AR4+;将计算结果存于AR4所指向
的存储单元
通过对比可发现,代码二比代码一少运行一次赋值运算LD加,A。
另外代码二在采用循环寻址方式时,指针定位问题也较容易处理。
因此采用代码二实现多项乘加运算。
3.2滤波器系数指针AR2及输入数据指针AR3的
调整
仍以第一尺度小波变换光滑分鼍为例。
假设在以上代码二执行前,寄存器AR2、AR3及AR4的指针分别指向如图l实线所示的位置(@O)。
代码=的四条指令执行后,寄存器AR2、AR3及AR4的指针分别指向如图l虚线所示的位置(@
1),这时第一尺度小波分解的光滑分量值S:
以0)可以计算出来。
此刻AR4指向了正确的存储单元(因
为执行完指令STHA,宰AR4+之后,AR4加l。
即自动指向下一个存储单元)。
但AR2及AIt3指针需分别进行调整。
AR2应回跳四个存储单元(因为系数h支撑长度为4),而AR3应回跳三个存储单元,
如图1中点划线所示(@2),可用如下指令完成(#一3及#一4为指针调整值,负值表示回跳):
MAR凇+AR2(样一4)MAR承+AR3(#一3)
系数
输入数据
输出数据
强翻蹰
图1
寄存器AR2,AR3,AR4的指针示意图
同理可求解第一尺度下n=2.3.4…等各离散
点的小波分解的光滑分量。
第二、第三尺度小波分解光滑分量的计算与t
3几项关键性技术
TMS320C5402
陈丽安等:
多尺度小波算法的DSP快速实现
・11・
述方法相似,不过在对AR3指针进行调整时,调整值不是一3而应分别为一5及一11。
另外,输人数据不再是从连续存储单元中取值,而分别是基二j二二的向下抽样及基于四的向下抽样值。
3.3辅助寄存器的合理分配
为以后说明问题方便,将输入信号值、第一尺度小波分解光滑分鼍、第二尺度小波分解光滑分量、第三尺度小波分解光滑分赞及第四尺度小波分解细节分量分别记为x,sl,s2,s3及d4。
其中x为输入数据;d4为输出数据;而sl,s2,s3既可为s2,s3及d4的输入数据,也可为x,sl,s2,s3的输出数据。
TMS320C5402
DSP内部除了具有两个通用寄
存器A、B外,还有资源非常宝贵的八个辅助寄存器
AR0一AR7,如何合理使用以发挥它们的最大效能,是用汇编语言编程时需霞点考虑的问题。
将辅助寄存器主要做为指针存放带通及高通滤波器系数、各尺度小波分解的输入及输出值。
利用辅助寄存器ARI—AR5(AR0存放地址递增的步长)还可方便地实现以下将介绍的循环寻址功能。
为计算第四尺度小波分解细节分量d4,必须先求出第一至第三尺度小波分解光滑分量sl,s2,s3。
输入信号x经带通滤波器得第一尺度小波分解光滑
分量sl,同理将sl,s2,s3做为输入,经小波分解可
分别获s2,s3,d4。
对于这样一个级联式运算,各级输入均需辅助寄存器实现循环寻址。
若将四个不同的辅助寄存器做为指针分别分配给这四级输人值,再加卜滤波器系数、小波分解结果、中间结果等所占用的寄存器,八个辅助寄存器将不够分配。
解决的办法是四级输入值(x,sl,s2,s3)共享一
个辅助寄存器做为指针。
一个尺度计算完毕将指针
法实现这一指针保护功能的。
所采用的方法足开辟
冲区保护起来,需要时再取出。
这样四级输入值
(x,sl,s2,s3)可共用一个辅助寄存器做为指针,大
大节省了辅助寄存器的开销。
小波变换所需的输入信号不断地由模数转换器万方数据
硬件数据排队与更新方式可按数据窗的大小N设计一个首尾相连呈封闭结构的“循环存储区”,采样数据按时间顺序存放,只需用一个指针指向当前数据即可,如图2所示。
这种方式编程容易,但硬件结构复杂,并未得到广泛使用。
图2循环存储区示意图
软件数据排队与更新方式中,常用“双倍暂存区扩展法”将排队暂存区的空间扩大为需保存的数据所占空间的两倍(2木N)。
采样或计算得到的新数据同时放入这两个区段中间隔为N的对应位置上,当达到
需进行一次是否达到排队区末端的判断与两次最新利用DSP所提供的一种特殊的间接寻址方式(循环寻址方式)对数据进行更新与排队。
简单地的最后一个单元时,ARx+l便回指到数据窗的第一实践证明。
DSP提供的循环寻址方法可很好地为了正确使用循环寻址功能,应注意如下几点:
排队暂存区的末端时,返回从首端开始。
因此该法只数据组存人内存的传数操作,所需的汁算机机时较
少,当内存容量充裕时是较理想的方法一J。
说,循环寻址的功能就是每当指针ARx指向数据窗个单元。
这一循环寻址方式将DSP的线性存储区
保护起来,转人下一个尺度计算;等回过头来再次计算该尺度时,再将地址恢复。
先进后出的堆栈是无模拟成如图2所示的循环存储区。
该循环存储区实
际上是一个滑动的数据窗,窗内包含最新的待处理数据。
当更新的数据来到时,原有的数据便被覆盖
若干个缓冲区,将各级输人值的指针存入不同的缓
掉。
这种循环存储区常用于卷积、FIR滤波器等数
字信号处理算法。
解决多尺度小波分解算法中数据更新与排队问题。
并且,由于采用这种循环寻址方式可将有限序列的
3.4循环寻址在数据更新与排队中的应用
采样得到,并送到DSP内存所开辟的缓冲区中。
由模数转换器得到的数字信号序列是无限的。
而DSP的内存空间是有限的,这就需要对采样的数字信号进行更新与排队。
数据更新与排队的方式主要有硬件与软件两种。
数据自动进行扩展,因此无需采用零插值法或周期
性扩展法将有限序列进行扩展,解决了数据窗边界
问题,相当于开辟了一个无限大的内存空间。
与
“双倍暂存区扩展法”相比,循环寻址方法无需进行是否达到数据窗尾端的判断,编程容易且节省机时。
・12・
微处理机2009拄
(1)循环存储区的长度N必须在第一次使用前(AR0=1)。
因此,当操作数只有一个是间接寻址时,定义。
DSP中的寄存器BK专门用于存放循环存储
可用两种循环寻址中的任一个;当两个操作均为间区的长度。
另外,循环存储区起始地址的最低有效
接寻址时,只能用宰ARx+O%方式进行循环寻址。
位LSB至少有m个零(这里2”>N)。
例如,当
(3)由于循环寻址的指针总是指向多项式乘积
N=30时,m=5,循环存储区的首地址应为xx】【】【殛麟
的第一项,因此只有当该项达到缓冲区的尾部时,指xxx0
0000。
为此,在.cmd文件中应加入:
针才自动返同至缓冲区的开头处。
因此,当指针‘增SECTIONS
加至接近各缓冲区尾部时,部分数据无法从缓冲区
{
(数据窗)内读取。
计算s1时,指针指向N一1单
元,输入数据X的第一、二项从缓冲区内读取,而第
X
Ioc:
>DARAM
align(k)PAGE
l
三、四项从缓冲区外部读取,如图3所示。
同理,计算s2,s3,d4时,指针指向N—l单元,输入数据sl,}
s2,s3的第一项从缓冲区内读取,而第二、三、四项从这里k=2“>N。
缓冲区外部读取,使保存于缓冲区尾部的个别计算(2)DSP5402提供的按地址递增的循环寻址有结果无法保证正确。
解决该问题的方法是。
将缓冲区头部的数据复制一份至与缓冲区尾部相连的外部区域中。
各尺度所需复制的数据个数不同,对输人
数据X而言,仅需复制2个数据(4—2=2),即
第一尺度小波分解光滑分量的DSP代码有两
X(N+1)=X(1),x(N+2)=X(2);sl需复制5个数据(7—2=5);s2需复制11个数据(13—2=11);MPY宰AR3+0%,木AR2+。
A
s3需复制7个数据(9—2=7)。
如果内存空间充
STHA.水AR4+%
裕,建议为每个输入数据X,sl,s2,s3开辟两倍的存
由于AR0=1,程序员往往将第一条指令写为
储区,每采样或计算一个数,分别存人两个单元,这种方法虽然浪费部分内存空间,但不用根据尺度数
dualmemoryaddressing。
判断复制数据的个数,用一个移动指令即可完成,程
A,木AR4+0%相同
序处理简单。
输八数据x
系数h
1
*AR3(1)l!
垒垦型121)
2・AR3(2)3・AR3(3)4
*AR3(4)
E匝l*AR2(2)
・AR2(3)
E圃区*A匝R2(2—画E匝匹卿0
5・AR3(5)
6
●AR4(1)
R卿已
*AR3(6)
一
,
*AR4《2)
5t
}
p
●
H
・AR3(N-4)
N一3
・AR3(N一3)
区卿匹圃N一2*AR3(N一2)N'-I
*AR3(N-1)
图圈翮I*AR2(1)I
N
・AR3(N1
.尾楫接赴
缝解
一…●I一一—一7一
R面硎二圃——
・AR2(2)・AR2(3)
。
臣圃一一卜面i酉。
—葡盯・AR3(I)*AR3(2)
’““’”’一’’’AR4‘N一3)——ri五丽
+AR2(4)
l*AR2(3)●AR4(N'
图3环存储区展开图
(4)指令顺序的影响:
STH
A,木AR4(#32)
代码一:
STHA.木AR4+%
STHA.木AR4+%这两组代码的作用均将计算结果A同时存入STH
A,木AR4(#31)
相隔N=32的两个存储单元中。
若不仔细推敲,似代码二:
乎两组代码执行结果一样。
(下转第15页)
万方数据
两种:
水ARx+%及木ARx+O%。
前者地址递增的步长为1,而后者指针ARx以AR0为步长增加,即每执行一次,指针ARx将指向ARx+AR0的存储位置。
处用到循环寻址功能,即:
“MPY牛AR3+%,幸AR2+,A”,结果将出现编译错误:
[E0004]Expecting
而第二条指令与STH
5期李新等:
高精度低温度系数带隙基准电压源的设计
・15・
在满足高电源抑制比的同时。
也有很好的温度特性。
1.2505
之
≥1.2495
-25
5
35
65
95
125
温度(℃)
图3电路仿真结果
图5电路版图
4结论
在对传统带隙基准电路分析的基础上,提出了新型的带隙基准电压源电路。
采用上华0.5I山CMOS工艺模型,进行温度特性和电源特性的仿真。
结果表明该设计在满足低频高电源抑制比的同时,也具有较好的温度特性。
适用fA/D、D/A转换器、比较器和电源管理等芯片中,具有广阔的应用前景。
图4
电源抑制比随频率变化关系
带隙基准的版图采用CSMC0.5斗m两层金属两层多晶硅CMOS工艺设计规则布局,为了保证电路的高精度和高可靠性,版图设计尽量采用对称性设计,采用高匹配管减小失配带来的影响。
同时,在大尺寸器件周围添加保护环提高抗闭环能力。
电路版图如图5所示,版图面积为2801山m×290I山m。
(上接第12页)
的确,当指针未达到循环存储区的末端时,上述两组代码执行的结果是完全一样的。
但当指针达到循环存储区的末尾时,执行结果则不同。
当代码一的第
参考文献:
【lJBehzardRazavi.DesignofAnalogCMOSIntegratedCir-
cults[M1.Xi’an:
Xi’anJiaotongUniversityPress,2004.[2]P
GGray,PJHurst,SHLewis,RGMeyer.Analysisand
DesignofAnalogIntegratedCircuitsIMj.4thedition.USA:
Wiley。
2001.
[3]Bang—SupSong,PaulRGray.AprecisionCurvature—CompensatedCMOSBandgaphal
Reference[J1.IEEEJour-
ofSolid—StateCircuits,1983,SC一18,Decembert
634—643.
波分解算法能够在TMS320C54xDSP硬件上准确快速地实现。
仿真及实验结果证实了该方法在配电系统短路故障早期检测应用中的可行性及实时性。
参考文献:
[1】任震,黄群古,黄雯莹,等.基于多频带小波变换的电
力系统谐波分析新方法[J】.中国电机工程学报,
2000,20(12):
38—4l,46.
[2]吴军基。
刘皓明,孟绍良,等.小波变换在电力系统谐
波检测中的应用【J].电力系统及其自动化学报.
1999。
11(5—6):
50—54.
一条指令执行时,由于指针达到循环存储区的末尾,
因而指针返回至循环存储区首端,接下来执行第二条指令时,无法将结果存放于设计好的扩展存储区的位置上。
采用代码二,即存指针返回至首端之前,先将结果存放于扩展存储区的正确位置上,然后再返回至酋端,达剑了设汁目的。
[3]
陈丽安,张培铭,缪希仁.基于小波变换的低压系统短路故障的早期预测[J].电工技术学报,2003,18(2):
91—94.
4结束语
采用多种DSP软件编程技术,包括乘加指令
MAC的灵活使用、滤波器系数指针及输人数据指针的调整、辅助寄存器的合理配置、各尺度输入数据指
[4]TexasInstruments.TMS320C54xDSPDesignWorkshop
[R].TITechnicalTraining,DSP54一NOTES一4.02,
May2000.
[5]Texas
enee
Instruments.Volumel:
TMS320C54XSet
CPU
DSPRefer-
andPeripherals[R].LiteratureNumber
SPRU131F.April。
1999.
针的正确设置、循环寻址在数据更新与排队中的应
用等关键技术,巧妙地解决了多尺度小波分解算法在
[6][7]
王玉平,龙公,蔡元龙.多尺度B样条小波边缘检测算子[J].中国科学(A辑),1995,25(4):
426—437.陈德树.计算机继电保护原理与技术[M].北京:
水力
电力出版社,1992.
DSP上实时实现的疑难问题,使多尺度三次B样条小
万方数据
多尺度小波算法的DSP快速实现
作者:
作者单位:
刊名:
英文刊名:
年,卷(期):
被引用次数:
陈丽安,陈志英,CHENLi-an,CHENZhi-ying厦门理工学院电子与电气工程系,厦门,361024微处理机MICROPROCESSORS2009,30(5)0次
参考文献(7条)
1.任震.黄群古.黄雯莹基于多频带小波变换的电力系统谐波分析新方法2000(12)
2.吴军基.刘皓明.孟绍良小波变换在电力系统谐波检测中的应用1999(5-6)
3.陈丽安.张培铭.缪希仁基于小波变换的低压系统短路故障的早期预测2003(02)
4.TexasInstrumentsTMS320C54xDSPDesignWorkshop[TITechnicalTraining,DSP54-NOTES-4.02]2000
5.TexasInstrumentsVolume1:
TMS320C54XDSPReferenceSetCPUandPeripherals[LiteratureNumberSPRU131F]1999
6.王玉平.龙公.蔡元龙多尺度B样条小波边缘检测算子1995(04)
7.陈德树计算机继电保护原理与技术1992
相似文献(1条)
1.学位论文傅一平基于Gabor与小波的边缘检测理论、快速算法与实时应用研究2004
边缘检测是所有基于边界的图像分割方法的第一步.边缘往往携带着一幅图像的大部分信息,而边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的奇异点或突变处,这些点给出了图像轮廓的位置,这些轮廓则常常是在图像处理时所需要的非常重要的一些特征条件,这就需要对一幅图像检测和提取出它的边缘.传统的边缘检测方法,如微分算子法和边缘拟合算子法很难在精度与抗噪上达到一个折中,因此,边缘检测的效果并不理想,针对这个问题,该文研究用满足不确定准则下界的Gabor方法来检测边缘.虽然有人已经对这种方法有过阐述,但其只对一维阶跃边缘作了分析,该文在此基础上,提出了二维阶跃边缘的最佳Gabor滤波器设计方法,同时,提出了斜坡边缘模型,给出了一维斜坡边缘的最佳Gabor滤波器设计方法.传统的检测方法对清晰图像的边缘检测效果很好,但对噪声相对敏感,尽管Mal
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 尺度 算法 DSP 快速 实现 解读