崂山清茶 发表于 2024-1-11 15:30:46

数字提取某个信号的方法原理

各位坛友,下面有这样一个习题,怎样解答啊

某噪声带交变信号群之中, 已知必含有一个三相交流电信号   并且它被淹没在噪声中
还知道这个三相交流电信号的频率大致在1 Hz ---3 Hz之间。

现在的任务是:   使用32位单片机的数字滤波的办法   把被淹没的信号找出来(主要关心频率   例如2.46Hz)

从数学,到单片机编程   该使用哪些技术和算法 。

补充内容 (2024-1-14 05:20):
信号的频率是固定的,
之所以还有 1--3的说法,是因为他会在这个范围缓慢飘移。

JuncoJet 发表于 2024-1-11 15:39:30

你这频率也太低了,滤波器都滤不了

崂山清茶 发表于 2024-1-11 15:43:43

JuncoJet 发表于 2024-1-11 15:39
你这频率也太低了,滤波器都滤不了

您说的滤波器大概是模拟电路吧是不行。
我说的是单片机数字滤波   是否可行?

guizi676 发表于 2024-1-11 15:44:57

对信号进行调理后进ADC,然后对转换后的信号做FFT运算,就可以找出主频了

chipset009 发表于 2024-1-11 15:54:48

不干这个行业,不过看到别人干过。感觉4楼说的对,找本波形分析的书或文档看看。固定的波形,傅立叶变换,非固定的波形,小波分析。

luosifu 发表于 2024-1-13 09:06:18

没亲自做过,大概道听途说过方法。有个前提,是被淹没的信号不能被淹的太深。
首先要有一个采样率足够高的ADC,这个ADC不仅仅是针对目标信号采样,干扰信号也在采样范围之内。
然后将数据进行傅里叶变换,在处理器中一般使用快速傅里叶变换(FFT)的方法,在80C196上能做,现在的ARM更没问题了。变换之后,就能得到各个频阈的数据。不过,如果有效信号是一个范围,而不是一个确定的数值,而噪声也在这范围内,就麻烦些了,也就是前面提到的不能被淹的太深……

代洪波 发表于 2024-1-13 09:36:36

如果信号频率很稳定,可以使用一个外部标准的数字信号源和带噪声的2.46HZ做相关,就会过滤掉噪声。如果信号在2.46HZ附近漂移,或者不是那么稳定。只能使用数字带通滤波器。一般我熟悉FIR的多节滤波器。希望对你有帮助,需要进一步操作可以私信我

iffi123 发表于 2024-1-13 12:51:24

本帖最后由 iffi123 于 2024-1-13 13:09 编辑

stm32 dsp库有数字滤波器

基本步骤: 先用matlab按设计要求算出数字滤波器的系数表,然后调用dsp库的数字滤波器就可以,具体看下网上教程
如果用stm32G47x系列,内置硬件数字滤波器,速度更快,还支持中断

作为举例,FIR带通滤波器,79阶
蓝色是幅频特性,绿色是相频特性


如果用IIR滤波器,阶数更少,运算更快,如果不需要相位信息可以用


bis 发表于 2024-1-21 16:48:09

DSP就是干这个用的。

崂山清茶 发表于 2024-1-21 21:25:49

bis 发表于 2024-1-21 16:48
DSP就是干这个用的。

单片机软件还没学通,正在积极学习 。虽然不太懂,但是远大目标必须树立。

最后在向DSP发起进攻,哈;P
页: [1]
查看完整版本: 数字提取某个信号的方法原理