搜索
bottom↓
回复: 21

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

[复制链接]

出0入0汤圆

发表于 2009-10-13 16:33:19 | 显示全部楼层 |阅读模式
用声卡采集数据,波形的产生是根据采集的数据计算出的,横坐标是幅度值,纵坐标是幅度出现的概率
2、产生波形后请用任何一种语言用最简洁的形式描出波形
波形我已经用VB的一个控件输出,下一个步骤就是要用VB编程实现对这个图形的描点输出
波形要求如下,纵坐标是波形的幅度出现的概率,横坐标是幅度值
我用的是一个基于VB的声音采集程序,利用那个程序可以得到一个波形,我把图形发上来,麻烦高手们帮我想想怎么用VB实现这个波形的描点,可以的话请注释到行,方便小弟理解,我真的想搞清楚里面的原理,辛苦大家了!
以下便是我的波形图

根据声音采集到的波形 (原文件名:波形图.png)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-10-13 16:41:20 | 显示全部楼层
你只要用SetPixel就行,VB,VC delphi都一样.

出0入0汤圆

发表于 2009-10-13 17:10:29 | 显示全部楼层
很基础的东西,想搞清楚就花点时间去看看书, 网上找找人家的源程序看看, 问是很难从头到尾问清楚的。

出0入0汤圆

 楼主| 发表于 2009-10-13 17:14:24 | 显示全部楼层
额,我网上找过了,没有好一点的资源,哎

出0入0汤圆

发表于 2009-10-13 17:25:08 | 显示全部楼层
什么控件嘛?都不说清楚。

出0入0汤圆

发表于 2009-10-13 17:31:31 | 显示全部楼层
设定范围,将采集到的数据从头到尾统计一下就可以了

出0入0汤圆

 楼主| 发表于 2009-10-13 17:48:58 | 显示全部楼层
我是用一个基于labview的声音采集软件做的,以下是我的图片,我可以知道幅度值和时间,以前没学过VB,可以的话我把数据发上来,大家帮我写下程序,并注释好,我想搞明白他的具体原理,麻烦了

出0入0汤圆

 楼主| 发表于 2009-10-13 17:59:17 | 显示全部楼层
以下是我的波形图,
频谱图 (原文件名:波形.png)

出0入0汤圆

发表于 2009-10-13 18:02:27 | 显示全部楼层
频谱图是要FFT才算得出来的,你要求的是幅度和幅度概率,和频谱两码事

出0入0汤圆

 楼主| 发表于 2009-10-13 18:26:18 | 显示全部楼层
啊?那有具体的办法算出幅度和幅度概率吗?详细一点,谢谢了

出0入0汤圆

 楼主| 发表于 2009-10-13 18:28:30 | 显示全部楼层
用FFT计算幅度和幅度频率时我需要用到哪些参数,怎么采集

出0入0汤圆

发表于 2009-10-13 19:58:26 | 显示全部楼层
…………,
呵呵, 忽然变题了……

出0入0汤圆

 楼主| 发表于 2009-10-13 19:59:30 | 显示全部楼层
恩,是忽然变题了,居然涉及到傅里叶变换

出0入0汤圆

发表于 2009-10-13 21:23:51 | 显示全部楼层
你到底要频谱图还是其它的?

出0入0汤圆

发表于 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)

出0入0汤圆

发表于 2009-10-14 00:19:42 | 显示全部楼层
用ZedGraph 控件吧,

(原文件名:1.jpg)

出0入0汤圆

 楼主| 发表于 2009-10-14 20:01:47 | 显示全部楼层
额,谢谢楼上的大哥了啊,小弟受教了,呵呵。

出0入0汤圆

 楼主| 发表于 2009-10-14 20:03:26 | 显示全部楼层
可问题是我要用VB实现编程描出它那个曲线图啊,简单的描出个轮廓就成

出0入0汤圆

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

出0入0汤圆

 楼主| 发表于 2009-10-16 11:08:29 | 显示全部楼层
恩,我用的是VB6企业版,但是具体应该怎么操作呢,麻烦你讲下,谢谢哈

出0入0汤圆

发表于 2009-10-17 18:51:08 | 显示全部楼层
vb6 我不熟,只会.net的,呵呵。也许你找找其他VB6下可以用的控件

出0入0汤圆

发表于 2010-3-18 00:15:52 | 显示全部楼层
额,谢谢楼上的大哥了啊,小弟受教了,呵呵。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 20:52

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表