国产电影一区二区三区,,欧美大片免费观看,伊人久久大香线蕉av,国产日韩成人内射视频

STM32單片機片上數字濾波器操作文檔-XJIE

大家好,我是工程師看海,很高興和各位一起分享我的130原創文章,喜歡和支持我的工程師,一定記得給我點贊、收藏、分享喲。

加微信[chunhou0820]與作者進群溝通交流。

本文來自看海的四代目徒弟:XJIE

//blog.csdn.net/NANY_ying?type=blog

//github.com/xiaojie25

大家好,這個文檔,是為了幫助大家快速入門數字濾波器在單片機上的實現。當然,大家在閱讀完之后可能還會有一些疑問,大家可以自行去查閱資料。

上節課我們在STM32F103C8T6上實現了頻率計的功能,我們在上次的基礎上進行下一步的操作。

首先,關于數字濾波器分為FIR和IIR兩種(如果不明白,需要去查閱資料),在這里我們關心我們怎么得到我們想要濾波器的參數。

我們打開matlab。

在命令行窗口中輸入filterDesigner。

我現在想設計一個IIR的低通濾波器,他的截止頻率是10Hz,巴特沃斯型,這里的采樣頻率需要根據我們之前上課的時候設計的ADC的采樣頻率一致(250Hz)

這個濾波器設計器有很多的功能,這個留給大家探索。

依次點擊目標->生成c頭文件

直接點擊生成,(記住自己保存在哪里了),然后我們找到我們保存STM32CubeMX生成的.ioc文件,接下來把剛剛生成的文件保存在如圖所示的文件中。

我們用記事本打開fdacoefs.h文件,他會告訴我們還需要添加一個.h文件

我們找到這個文件,也復制到這個文件夾下。

到這里基本的參數有關的生成以及,文件的移動已經完成了。接下來我們開始代碼的操作。

(本文來自看海的四代目徒弟:XJIE

//blog.csdn.net/NANY_ying?type=blog

//github.com/xiaojie25)

在main.c中包含剛剛我們添加的這兩個文件。然后編譯這個工程。

右鍵這個fdacoefs.h文件。打開它

我們把里面的4個數組都剪切到mian.c中。

我們先定義兩個結構體,用來記錄我們的濾波器的參數。

其中,Biquad是各個節(這個數字濾波器的知識)中的參數,IIRFilter是整個濾波器的結構體,然后我們在代碼合適的地方寫下這兩個函數。

IIRFilter_Init是對濾波器的初始化,就是把我們剛剛生成的參數填入我們定義的濾波器,

IIRFilter_Process是有數據來的時候,對數據進行濾波。

先定義一個iir濾波器并對其進行初始化。

我們把ADC采集到的電壓通過濾波器濾波,我們來看看效果吧!

我左邊給的是5Hz的信號,右邊給的是15Hz的信號,都是100mVpp,由于低通濾波的截至頻率是10Hz,因此5Hz的信號通過了濾波器,而15Hz的信號被濾波器衰減。

By the way,整個代碼對初學者來說可能不是這么好理解,這是對你們的一個挑戰也是機遇

本文來自看海的四代目徒弟:XJIE

//blog.csdn.net/NANY_ying?type=blog

//github.com/xiaojie25

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 0
收藏 2
關注 695
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧