Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
杉下大河
EmbeddedANC-STM32F767
Commits
99754569
Commit
99754569
authored
Aug 31, 2020
by
杉下大河
Browse files
readme書いた。
parent
20040ea0
Changes
1
Hide whitespace changes
Inline
Side-by-side
readme.md
0 → 100644
View file @
99754569
# EmbeddedANC-STM32F767
このシステムは組み込み用開発ボードNUCLEO STM32F767にANC機能を組み込んだ試作品である。
またWikiにはその他試作に利用したボードのメモ書きと開発を中止した理由を掲載している。場合によってはSTM32である必要がないため、一度目を通して貰えるとありがたい。詳しくはWikiへ。
## システム構成
||||
|:----|:----|:----|
|ボード|NUCLEO-STM32F767ZI|https://www.st.com/en/evaluation-tools/nucleo-f767zi.html?ecmp=tt9470_gl_link_feb2019&rt=db&id=DB3171#resource|
|テキストエディタ|VisualStudioCode(Arduino環境)|https://qiita.com/mmt/items/7dd1a2f312334a6cd600|
|IDE|ArduinoIDE| |
|ライブラリ|Arduino_Core_STM32|https://github.com/stm32duino/Arduino_Core_STM32|
| |ArduinoSTL|https://github.com/mike-matera/ArduinoSTL|
||SMSIS|https://arm-software.github.io/CMSIS_5/General/html/index.html|
# NUCLEO STM32F767採用理由
-
RAMが512kbyteもあり、容量が大きくなりなすいオーディオデータとフィルタを格納できるため
-
FPUを搭載しており、対応ライブラリで書くことで高速な実数計算が可能になるため
-
ベースはArduino言語で書け、複雑な設定はHALライブラリにアクセスすることで補えるため
-
もしArduino言語では設定できない部分があってもSTM純正のCUBE IDEならば簡単に設定でき、応用が効きやすいため
-
安い
# 回路
以下にポート表を示す
|対応ピン|ポート名|目的|
|:----|:----|:----|
|PB1|A6|audioInErrPin|
|PC2|A7|audioInRefPin|
|PB2|D27|biasPin|
|PA4|A13|audioOutPin|
## テキストで簡単回路図
外部から入ってきた生の信号をADCで変換し、767内部でLMSを適応している。ADCに入力するため交流に7500Hz程度のローパスフィルタをかけた後(ADCは3.3V_MAXなので)+1.65Vバイアスをかけているが、本来ならオペアンプやトランジスタで構成すべき回路である(電圧レベルが落ちるため)
-
F767-A6pin <= [+バイアス1.65V,D27,10kΩ
*
2] <= [簡易ローパスフィルタ7500Hz(0.1μF,220Ω)] <=audioInErr
-
F767-A7pin <= [+バイアス1.65V,D27,10kΩ
*
2] <= [簡易ローパスフィルタ7500Hz(0.1μF,220Ω)] <=audioInRef
-
F767-A13 => [十分な容量のコンデンサ] => audioOut
# 何が出来ているのか
二次経路及びハウリング経路の補正を行っていない、2マイク運用ANCにて正弦波のノイズキャンセルを確認したが、Cancel後の波形のRMSが0に近づくに従ってフィルタが発散してしまう。ただし、このバグは正規化LMSアルゴリズムの欠陥なので修正可能
# TODOリスト
-
2次経路の補正を加えたANCを実装する
-
IMCフィードバックも実装する
-
回路をオペアンプに置き換える
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment