momo_li 发表于 2024-2-29 10:43:19

每隔30毫秒采集1毫秒的数据,如何进行数字滤波?

如题,采集信号是多路切换的方式, 切换的速度比较慢,每个通道30毫秒才能接通一次,接通之后ADC有1毫秒的转换时间,ADC速度比较快,1毫秒可以采集100点数据。
这样此通道获得的数据,采用数字滤波 ,是否能够滤除信号中50Hz的成分?

cne53102 发表于 2024-2-29 17:42:04

每31毫秒可以得到一个50hz周期中的1毫秒的部分,虽然得到的不是连续的,
但似乎620毫秒可以完整覆盖50hz一整个周期而且没有重复部分,每2000个采样取平均?

yuyu87 发表于 2024-2-29 19:24:32

FIR啊               

redroof 发表于 2024-2-29 21:47:14

本帖最后由 redroof 于 2024-2-29 21:50 编辑

1毫秒只占1/20个周期,除非你能算好,按精确的时间采样,否则没戏。
精确的意思是,确保20次采到的东西恰好能还原岀市电的一个整周期,这样取个平均就把市电干扰给平均掉了。
因为你不能以21ms周期来采,所以就用41ms周期吧,这样采20次,820ms,就能得到一个完整的市电周期。你可以让待测信号是固定的0,看看你这样采到的数据像不像一个周期正弦波就知道了。
如果你能判断市电过零的点,那么采半个周期也够,从过零点开始,等1/4个周期开始采,一共采半个周期,这样平均值也是0

momo_li 发表于 2024-3-1 08:11:55

redroof 发表于 2024-2-29 21:47
1毫秒只占1/20个周期,除非你能算好,按精确的时间采样,否则没戏。
精确的意思是,确保20次采到的东西恰好 ...
(引用自4楼)

这个东西,各个通道的输入之间是分时接通的,同时切换信号的正负极,也就是说通道之间就是隔离的,这种隔离的切换方式速度做不快,再加上通道数量多,实际的采样频率不高。
目前想到的就是在每个通道输入侧使用有源硬件滤波,成本和体积都不太合适,需要每个通道使用隔离DCDC和一套运放。
或者软件控制时序,多周期合成,数据的更新就滞后的太多。没啥好法子。

momo_li 发表于 2024-3-1 08:12:39

yuyu87 发表于 2024-2-29 19:24
FIR啊
(引用自3楼)

数据是不连续的,而且一次凑不够一个完整的周期

PaulDE 发表于 2024-3-1 08:46:26

这有什么好犹豫的,虽然你采样率有100KSps,但每个通道要30ms才有一个片段,从连续性上看就是你的系统目标信号最高频率是低于16.67Hz的。建议你把100个样点里打头的部分样点去掉(避免通道耦合的影响)后算术平均,然后把每个片段得到的这一个点串起来得到一个序列就可以了。

albert_w 发表于 2024-3-1 08:57:17

要用4楼的办法

当然,两次间隔30ms,可以认为正半周和负半周各占一半,平均下还是能减少干扰的
页: [1]
查看完整版本: 每隔30毫秒采集1毫秒的数据,如何进行数字滤波?