声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1316|回复: 9

[其他] 脉冲信号

[复制链接]
发表于 2008-12-14 16:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
采集一脉冲信号得到如图所示,只有脉冲信号的零线一下部分,
如何恢复为正常的脉冲信号
beneath pulse.png
回复
分享到:

使用道具 举报

发表于 2008-12-14 16:30 | 显示全部楼层

回复 楼主 Pole 的帖子

采样的负(或正)数据溢出了,这个数据无法恢复,只有在正确编码情况下重新采集了。
 楼主| 发表于 2008-12-14 17:59 | 显示全部楼层

回复 沙发 hcharlie 的帖子

我发现应该就是大于 128的数据全部被置为 2^32,
所谓的采样的溢出可能是那些引起的呢 ??如何避免?

因为使用的VC采集+处理,所以比不上matlab对于信号处理方面的功能强大。。。
不管对于脉冲 正弦 白噪 重新采集 都是这个结果
发表于 2008-12-14 18:30 | 显示全部楼层

回复 板凳 Pole 的帖子

我不知道你怎样用VC采集的,无法具体回答。
如果你定义的数据类型(如byte,integer,unsigned integer。。。)与你的实际数据类型不一致就可能溢出。也许还有别的原因。
发表于 2008-12-14 19:05 | 显示全部楼层
在C语言中:
char    -128~+127
unsigned char   0~255
可能你的原来的数据是unsigned char 格式,放到 char 里,大于等于128的都要溢出了。
 楼主| 发表于 2008-12-14 22:01 | 显示全部楼层

回复 地板 hcharlie 的帖子

谢谢指点

我研究了一下,
我将缓冲区中的数据无符号化传给数组就会出现  2^32,
但是我直接将缓冲区数据传给数组就不会出现,但是得到的图形却不再是一个脉冲了  。。。。
 楼主| 发表于 2008-12-14 22:07 | 显示全部楼层

回复 5楼 hcharlie 的帖子

对,我才想起来!没有把之前看的书融会贯通。。。。。。


非常谢谢
我再研究一下。
 楼主| 发表于 2008-12-15 10:29 | 显示全部楼层

回复 5楼 hcharlie 的帖子

将 unsigned 改为 unsigned int 即可

谢谢指点。。。
发表于 2008-12-15 10:57 | 显示全部楼层
恭喜你。
如果128是另点,你还需要变换成有符号型:
unsigned int aaa[1000];
int bbb[1000];
for(int i=0;i<1000;i++) bbb=aaa-128;

[ 本帖最后由 hcharlie 于 2008-12-15 17:17 编辑 ]
 楼主| 发表于 2008-12-15 12:25 | 显示全部楼层

回复 9楼 hcharlie 的帖子

对,我已经变零线了
这样看上去就舒服多了。。。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-18 12:40 , Processed in 0.132126 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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