wly19880910 发表于 2009-10-13 16:33:19

急!VB高手请进!根据图形,用VB实现这个波形的绘制,

用声卡采集数据,波形的产生是根据采集的数据计算出的,横坐标是幅度值,纵坐标是幅度出现的概率
2、产生波形后请用任何一种语言用最简洁的形式描出波形
波形我已经用VB的一个控件输出,下一个步骤就是要用VB编程实现对这个图形的描点输出
波形要求如下,纵坐标是波形的幅度出现的概率,横坐标是幅度值
我用的是一个基于VB的声音采集程序,利用那个程序可以得到一个波形,我把图形发上来,麻烦高手们帮我想想怎么用VB实现这个波形的描点,可以的话请注释到行,方便小弟理解,我真的想搞清楚里面的原理,辛苦大家了!
以下便是我的波形图
http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_491165.png
根据声音采集到的波形 (原文件名:波形图.png)

cock 发表于 2009-10-13 16:41:20

你只要用SetPixel就行,VB,VC delphi都一样.

PEcontrol 发表于 2009-10-13 17:10:29

很基础的东西,想搞清楚就花点时间去看看书, 网上找找人家的源程序看看, 问是很难从头到尾问清楚的。

wly19880910 发表于 2009-10-13 17:14:24

额,我网上找过了,没有好一点的资源,哎

xwhua188 发表于 2009-10-13 17:25:08

什么控件嘛?都不说清楚。

cqfeiyu 发表于 2009-10-13 17:31:31

设定范围,将采集到的数据从头到尾统计一下就可以了

wly19880910 发表于 2009-10-13 17:48:58

我是用一个基于labview的声音采集软件做的,以下是我的图片,我可以知道幅度值和时间,以前没学过VB,可以的话我把数据发上来,大家帮我写下程序,并注释好,我想搞明白他的具体原理,麻烦了

wly19880910 发表于 2009-10-13 17:59:17

以下是我的波形图,http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_491217.png
频谱图 (原文件名:波形.png)

cqfeiyu 发表于 2009-10-13 18:02:27

频谱图是要FFT才算得出来的,你要求的是幅度和幅度概率,和频谱两码事

wly19880910 发表于 2009-10-13 18:26:18

啊?那有具体的办法算出幅度和幅度概率吗?详细一点,谢谢了

wly19880910 发表于 2009-10-13 18:28:30

用FFT计算幅度和幅度频率时我需要用到哪些参数,怎么采集

PEcontrol 发表于 2009-10-13 19:58:26

…………,
呵呵, 忽然变题了……

wly19880910 发表于 2009-10-13 19:59:30

恩,是忽然变题了,居然涉及到傅里叶变换

cqfeiyu 发表于 2009-10-13 21:23:51

你到底要频谱图还是其它的?

vv3g 发表于 2009-10-13 21:49:42

你自己不是有NI的那个Measurement Studio 控件么?它不是有帮助文件么?很详细的,你自己看看,就明白了
你既然有Measurement Studio 那么你也应该了解labview啊,这个而且有中文的,那帮助文件,是最详实的参考资料,labveiw图形化开发模式,数据流思想,半个小时你就能鼓捣出你想要的东西来,什么都是现成的,然后你就可以知道你到底是功率谱,幅度谱,or,xxx概率,然后你就可以到网上找相关的算法,当然自己能编出来更好,然后你就能得到想要绘图的数据,然后你就能绘制出来了,vb简单一些,setpixel……等等……

首先得将数据FFt……

功率谱=FFT'(信号)x FFT(信号)
       ------------------------
               n*n

公式是这个,有没有理论知识强的大虾详细解释下什么奥秘?fft我知道,是快速傅里叶变换,变换完了就得到频率普了,为什么乘以共轭快速傅里叶变换再除以n的平方(n是数据个数,样本个数)就得到功率谱了呢?功率谱功率谱,字面的意思,各个频率所产生能量(可能描述的不准确,单位能量?功率?)所占比重?

刚刚找到一个用VB实现的FFt,可以参考一下:
(免责声明:由此回复及我提供的代码所产生的好的坏的结果都赖你(使用与参考人)自己,和我无关,谢谢)
点击此处下载 ourdev_491277.zip(文件大小:8K) (原文件名:FFT_VB.zip)

lihui_mc 发表于 2009-10-14 00:19:42

用ZedGraph 控件吧,
http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_491329.jpg
(原文件名:1.jpg)

wly19880910 发表于 2009-10-14 20:01:47

额,谢谢楼上的大哥了啊,小弟受教了,呵呵。

wly19880910 发表于 2009-10-14 20:03:26

可问题是我要用VB实现编程描出它那个曲线图啊,简单的描出个轮廓就成

lihui_mc 发表于 2009-10-15 00:36:31

其实zeg graph控件是很简单的,你看下官方的例子就会做了,而且是免费的。而自己绘曲线的话考虑就多了,比如曲线超出坐标范围之类的问题,搞不好不同图层绘制的时候还会出现闪烁了.所以还是建议采用控件实在点。无非就是给控件添加点,设置下属性。呵呵。你应该用的是VB6的吧?

wly19880910 发表于 2009-10-16 11:08:29

恩,我用的是VB6企业版,但是具体应该怎么操作呢,麻烦你讲下,谢谢哈

lihui_mc 发表于 2009-10-17 18:51:08

vb6 我不熟,只会.net的,呵呵。也许你找找其他VB6下可以用的控件

sunjie718 发表于 2010-3-18 00:15:52

额,谢谢楼上的大哥了啊,小弟受教了,呵呵。
页: [1]
查看完整版本: 急!VB高手请进!根据图形,用VB实现这个波形的绘制,