首先是生成不同周期的正弦波:
由于定时器设置为250us进入一次中断,每秒可进入中断4000次,为了生成25HZ的正弦信号,一个周期内生成160个数据;为了生成200HZ的正弦信号,一个周期内生成20个数据,故代码如下:
sin_1=arm_sin_f32(3.141592654*i/80)+1;//25HZ 信号
sin_2=arm_sin_f32(3.141592654*i/10)+1;//200HZ 干扰
if(i==161)
{
i=1;
}
然后将200HZ_sin缩小0.4倍以后同25HZ_sin混合到一起:
通过matlab设计所需滤波器参数,然后生成所需数组,并导入单片机:
然后将滤波器的输入值设置为每次混合波形的计算值,将输出数据发送至上位机,并显示成波。文章来源:https://www.toymoban.com/news/detail-624357.html
2023/05/10于西安文章来源地址https://www.toymoban.com/news/detail-624357.html
到了这里,关于STM32 FIR实时数字滤波器实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!