firecat_2 发表于 2007-11-6 11:03

请问用软件如何去除直流分量

一般的做法是取原始信号的平均值,然后再用原始信号减去这个平均值,
但是如果我采样的时候不能保证整周期怎么办?这时候是不是如果用这种方法取的直流分量就不准?
例如我的模拟信号为一个没有直流分量的信号x=65.3*sin(2*pi*24.375*t+30*pi/180); 但是如果我这时用这种方法先取直流分量的时候
采集1.25个周期的时候算出来的直流分量应该是不对的吧 ,
小第刚学信号方面的东西,希望大牛们多多指导.
我想求信号的精确幅值,去完直流,做加窗FFT 然后插值求精确幅值
他对精确幅值有影响
当N=1024;
fs=100*2.56;时 FreqAmp=65.30;直流分量DC=0.21;
fs=200*2.56;时 FreqAmp=65.30;
fs=1000*2.56;时 FreqAmp=76.54;
fs=25000*2.56;时 FreqAmp=****;也不是不等于65.30 DC=56.**;
跟Matlab做比较,发现在加窗前的去直流分量上有很大的误差.
谢谢了

[ 本帖最后由 firecat_2 于 2007-11-6 11:27 编辑 ]

zhlong 发表于 2007-11-6 11:17

回复 #1 firecat_2 的帖子

减均值,只是为了让信号的频率不在0Hz处出现谱峰。
你的例子中,取1.25个周期的话,那么你就减去1.25个周期的平均(不为0),没关系,得到的频谱上的频率是不变的。信号的周期不会因为你把信号沿y轴往下平移了就改变。

firecat_2 发表于 2007-11-6 11:24

回复 #2 zhlong 的帖子

谢谢你的回复,但是 我想求信号的精确幅值,去完直流,做加窗FFT 然后插值求精确幅值
他对精确幅值有影响
当N=1024;
fs=100*2.56;时 FreqAmp=65.30;
fs=200*2.56;时 FreqAmp=65.30;
fs=1000*2.56;时 FreqAmp=76.54;
fs=25000*2.56;时 FreqAmp=****;也不是不等于65.30
谢谢了

yangzj 发表于 2007-11-6 11:35

回复 #3 firecat_2 的帖子

肯定是用后面两个采样频率不能采够两个周期了,加Hanning窗等如果能保证采两周以上的话,做了校正应该是很准的

firecat_2 发表于 2007-11-6 11:44

回复 #4 yangzj 的帖子

恩 是的 前面的两个很准偶就是拜读大人的比值法 进行应用的 偶现在把他转变成C的代码了,
中间就出现了上面的问题,
那请问采集两周期以上我必须要对用户的界面进行提示是吧.但是采集的信号的周期我又不知道怎么办?

yangzj 发表于 2007-11-6 12:22

信号采一个周期以上(加hanning之类的窗要两个以上)这个是必须得保证的。从采集到的信号应该还是能大概看出来吧。不够的话可以在保证采样定理的前提下降低采样频率,或者加大采样点数。

firecat_2 发表于 2007-11-6 12:33

回复 #6 yangzj 的帖子

想知道你的QQ 我的是85759868

VibrationMaster 发表于 2007-11-6 12:34

看看这个即将出来的文章吧(振动与冲击)

firecat_2 发表于 2007-11-6 12:36

回复 #8 VibrationMaster 的帖子

上哪里看啊

VibrationMaster 发表于 2007-11-6 12:40

文件太大,上传不了,看你邮箱

firecat_2 发表于 2007-11-6 12:42

回复 #10 VibrationMaster 的帖子

firecat_2@163.com

firecat_2 发表于 2007-11-6 12:45

回复 #10 VibrationMaster 的帖子

谢谢 好快

VibrationMaster 发表于 2007-11-6 13:04

回复 #12 firecat_2 的帖子

答辩的时候不要忘记谢我,我的基金落到你老板那儿,也要帮我说好话:lol :lol
页: [1]
查看完整版本: 请问用软件如何去除直流分量