MATLAB与VC++混合编程实现一维小波多尺度分解
2009-06-11 20:07:24 来源:WEB开发网核心提示:引言 小波分析世纪80年代开始发展成熟起来的一个数学分支,其应用领域十分广泛,MATLAB与VC++混合编程实现一维小波多尺度分解,并逐步成为信号分析的又一有力工具,MATLAB的小波工具箱为我们提供了小波多尺度分解函数,以此类推,因为这种算法分解的数据结构是塔式结构,方便了我们对小波的使用,但是用它所编写的软件不能脱
引言
小波分析世纪80年代开始发展成熟起来的一个数学分支,其应用领域十分广泛,并逐步成为信号分析的又一有力工具。MATLAB的小波工具箱为我们提供了小波多尺度分解函数,方便了我们对小波的使用。但是用它所编写的软件不能脱离MATLAB编程环境在Windows平台下直接运行,代码执行效率低下,运行时占较多的系统资源,不能达到某些用户的需求。
VC++是由美国Microsoft 公司开发的可视化C/C++集成编程环境,是目前功能最强大的软件开发工具之一。被广泛应用于Win32平台的基础应用程序的开发。 它具有强大的图形界面编程能力且代码执行效率高,可生成脱离VC++环境而独立运行的应用程序。可是VC++在数值处理分析和算法工具等方面不如MATLAB。
本文结合VC++和MATLAB 的各自优点,以VC++图形界面作为前台框架,MATLAB作为后台进行数值运算和数据可视化,利用组件对象模型(COM)技术作为媒介,实现了一维小波多尺度分解。
1、一维小波多尺度分解原理及其MATLAB实现
1.1 一维小波多尺度分解原理
图片看不清楚?请点击这里查看原图(大图)。
对上诉分解结果中的近似序列 再做一次分解,可得到{ }和{ },以此类推,直到指定级数的多尺度小波分解为止,分解过程如图1示。图中s为原始信号,cd1,ca1分别为分解后第1层的细节序列和近似序列,cd2,ca2分别为分解后第2层的细节序列和近似序列,以此类推。因为这种算法分解的数据结构是塔式结构,所以这种算法也常被称为塔式算法(Pyramid Algorithm)。
更多精彩
赞助商链接