Image
Image

stm32jy

+ 关注

粉丝 4     |     主题 44     |     回帖 1118

基于STM32单片机IIR滤波器设计
2023-1-21 13:55
  • ST MCU
  • 98
  • 9498
  单片机IIR高通滤波后图像  
  将串口数据在matlab上进行图像绘制,如下图所示,与原始混合信号相比,可以看出滤除掉了1.2KHZ的正弦信号部 ...  
  将IIR滤波高通滤波后的数据通过串口的形式打印出来,下图是串口打印的一些列的数据。 单片机IIR高通滤波后 ...  
  将STM32单片机工程中的b a参数重新修改,编译完成后重新烧写到开发板中。具体参数如下: 得到相关B A系数 ...  
  修改matlab工具fdatool参数,将其设置为高通滤波器,重新生成b a参数。设计界面如下: ...  
  将串口数据在matlab上进行图像绘制,如下图所示,与原始混合信号相比,可以看出滤除掉了2.8KHZ的正弦信号部 ...  
  将IIR滤波后的数据通过串口的形式打印出来,下图是串口打印的一些列的数据。 ...  
  增加采样频率之前的混合信号  
  将串口数据在matlab上进行图像绘制,如下图所示,与与示波器的波形相比,绘制的波形波动很大,在增加采样频 ...  
  将IIR滤波低通滤波后的数据通过串口的形式打印出来,下图是串口打印的一些列的数据。 ...  
  工程中main.c文件: #include "stm32f10x.h" #include "./dac/bsp_dac.h" #include "iir.h" #include "bsp_ ...  
  工程中iir.c文件: #include "iir.h" float B[3] = {1,2,1}; float A[3] = {1,-0.753537,0.406307}; float ...  
  IIR函数具体实现如下: void IIR_Filter(float x[],int len) { unsigned char i; w_x[0]=w_x[1]=w_x[2]=0 ...  
  得到相关B A系数: B: 1,2,1 A: 1, -0.753537, 0.406307 Gain : 0.163192 在C语言中,首先声明数组 ...  
  通过matlab的fdatool工具设计一个IIR的低通滤波器,将大于1KHZ的波形滤掉。  
  接下来设计一个IIR滤波器来将其滤波,滤除一种频率的波形,工程代码中需要加入ADC功能,对自身输出的DAC的 ...  
  将两个不同频率的正弦波叠加在一起,即将PA4和PA5短接一起输出,得到的波形如下图所示 ...  
  通过按键触发产生两种频率的正弦波电压波形。 为了方便后面进行IIR滤波测试,选择使用按键产生1.3KHZ 和2.8 ...  
  示波器2.8KHZ正弦波  
  示波器探头连接开发板  
2
3
近期访客