收稿日期: 20060820
作者简介: 宋文杰( 1971- ) , 男, 副研究员, 主要从事海洋仪器研究。
文章编号: 10024026( 2006) 05002405
基于 VB6. 0 的实时波浪功率谱分析软件
宋文杰
1
, 于慧彬
1
, 唐原广
2
, 刘 涛
1
( 1. 山东省科学院海洋仪器仪表研究所, 山东 青岛 266001; 2. 中国海洋大学, 山东 青岛 266003)
摘要: 介绍一种基于VB6. 0 设计实现快速付 里叶变换( FFT ) 模块的方法, 并在此 基础上设计编 写了实时海浪
功率谱分析软件。经过实验室和海上现场实测数据验证, 该软 件的运算和处理结果 准确可靠, 实际应 用取得
较好的效果。设计的 FFT 运算模块具有一定的通用性, 可用于其它随机信号频谱分析。
关键词: 频谱分析; 快速付里叶变换; VB6. 0
中图分类号: TP311. 11 文献标识码: A
1 概述
1952 年Pierson 把Rice 关于通讯无线电噪声理论应用于海浪研究后, 利用谱的概念来描述随机海浪逐渐
成为研究海浪的主要手段
[ 1]
。如今, 谱方法已成为研究海浪及其相关问题的有力工具。谱是随机海浪一个
重要的统计性质。所谓海浪谱或海浪频谱, 即海浪能量在不同频率上的分布。海浪谱与海浪的统计特征不
同, 海浪的统计规律只反映出它的对外表现性质, 而海浪谱则是海浪内部结构的描述。其中能量谱说明组成
波能量相对频率的分布情况, 方向谱则能同时说明组成波能量依频率和沿传播方向的分布情况
[ 2]
。
目前常用的海浪谱估计计算方法主要有两种: 相关函数法和周期图法。本文进行海浪谱估计时, 采用周
期图法。周期图法的实现其核心是离散付里叶变换( DFT) 的实现。然而, 离散付里叶变换计算量大, 计算时
间长, 尤其在采样点的个数较多时, 计算量大到让人无法容忍的程度。快速付里叶变换( FFT ) 大大提高了离
散付里叶变换的运算速度, 所以在应用付里叶变换时, 多采用FFT 方法
[ 3]
。
本文采用 FFT 算法, 先得到 2048 个样本点的粗谱估计, 再利用平滑算法, 得到平滑谱。选择VB6. 0 作为
软件的开发环境, 主要为了设计面向对象且具有一定通用性的海浪能量谱分析软件。
由于VB6. 0 的函数库
[ 4]
中没有提供 FFT 函数供用户调用, 因此需要编程来实现。实现方法有两种: 一
种是在程序中编写函数; 另一种是设计付里叶变换模块。前者对于小程序编写是可行的, 但却不利于软件的
模块化设计和后续功能的扩充; 后者不仅有利于程序的模块化设计, 还有利于软件的升级, 如后续实现波浪
的方向谱分析。能更好的发挥 VB 作为面向对象设计语言的优势。因此, 本文选择设计付里叶变换模块。
文中设计的付里叶变换模块具有快速付里叶变换和快速付里叶逆变换两种功能, 可根据实际应用中的
具体需要随时修改, 实现更多功能。
2 离散付里叶变换( DFT) 原理
2. 1 离散付里叶变换( DFT) 的定义
设有限长 序列 x ( n ) 的长度 为N ( 0 n N) , 它的离 散 付 里 叶变 换 X ( k ) 仍然是 一 个 长度 为
N ( 0 k N ) 的频域有限长序列, 这种正反变换的关系式为:
第 19 卷 第 5 期
2006 年10 月
山 东 科 学
SHANDONG SCIENCE
Vol. 19 No. 5
Oct. 2006