Съдържание:
- Стъпка 1: Проблемът
- Стъпка 2: Решението
- Стъпка 3: EasyFIR
- Стъпка 4: Филтриране
- Стъпка 5: Насладете се
Видео: FIR филтриране за по -надеждно откриване на честота: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Аз съм наистина голям фен на инструкциите на akellyirl за надеждно откриване на честота, използващи DSP техники, но понякога техниката, която използва, не е достатъчно добра, ако имате шумни измервания.
Едно лесно решение за получаване на по -чист вход за честотния детектор е да приложите някакъв филтър около честотата, която искате да откриете.
За съжаление, създаването на цифров филтър не е лесно и има доста математика. Затова се замислих да създам някаква програма за опростяване на създаването на такива филтри, за да позволя на всеки да ги използва в своите проекти, без да се задълбочава в детайлите.
В тази инструкция ще открия синусова вълна от 50Hz при шумно измерване с Arduino Uno (Arduino всъщност не е необходимо).
Стъпка 1: Проблемът
Представете си, че измерените входни данни изглеждат като горната крива - доста шумна.
Ако конструираме обикновен честотен детектор като този в akellyirl's Instructable, резултатът е "-inf" или в случая с кода по-долу: "Да, твърде много шум …"
Забележка: Използвах почти целия код на akellyirl, но добавих масив rawData в горната част, съдържащ шумните измервания.
По -долу можете да намерите целия код във файл, наречен "unfiltered.ino".
Стъпка 2: Решението
Тъй като входните данни са шумни, но знаем честотата, която търсим, можем да използваме създаден от мен инструмент easyFIR, за да създадем лентов филтър и да го приложим към входните данни, което води до много по -чист вход за честотния детектор (изображението по -горе).
Стъпка 3: EasyFIR
Инструментът easyFIR е доста лесен за използване, просто изтеглете хранилището на GitHub и стартирайте файла easyFIR.py с една извадка от вашите измервания (във формат CSV).
Ако отворите файла easyFIR.py, ще намерите 5 параметъра (вижте изображението по -горе), които можете и трябва да промените в зависимост от резултата, който искате да постигнете. След като промените 5 -те параметъра и изпълните файла python, ще видите изчислените коефициенти във вашия терминал. Тези коефициенти са от решаващо значение за следващата стъпка!
Повече информация за точната употреба можете да намерите тук:
Стъпка 4: Филтриране
Сега, ако сте изчислили необходимите коефициенти на филтър, е доста лесно да приложите действителния пълнител към честотния детектор.
Както можете да видите на изображението по -горе, трябва само да добавите коефициентите, функцията applyFilter и след това да филтрирате входните измервания.
По -долу можете да намерите целия код във файл, наречен "filtered.ino".
Забележка: голяма благодарност към тази публикация за препълване на стека за страхотния алгоритъм за приложение на филтър!
Стъпка 5: Насладете се
Както можете да видите, сега можем да открием 50Hz сигнал дори в шумна среда?
Моля, не се колебайте да адаптирате моята идея и код към вашите нужди. Ще бъда много благодарен да включа вашите подобрения!
Ако ви харесва моята работа, ще съм много благодарен, ако подкрепите работата ми със звезда в GitHub!
Благодаря за подкрепата!:)
Препоръчано:
Придобиване, усилване и филтриране на схема на основна електрокардиограма: 6 стъпки
Придобиване, усилване и филтриране на схема на основна електрокардиограма: За да завършите тази инструкция, единствените необходими неща са компютър, достъп до интернет и някои софтуер за симулация. За целите на този дизайн всички схеми и симулации ще се изпълняват на LTspice XVII. Този симулационен софтуер съдържа
Филтриране на интернет съдържание чрез DNS: 10 стъпки
Филтриране на интернет съдържание чрез DNS: Актуализирано на 3 февруари 2021 г., за да включи допълнителна информация в Стъпки 8 & 9. Широко известно е, че в интернет има много съдържание, което не е точно подходящо за гледане от деца. Това, което обаче не е толкова широко известно, е фактът, че
Измерването на сърдечната честота е на върха на пръста ви: Фотоплетизмографски подход за определяне на сърдечната честота: 7 стъпки
Измерването на сърдечната честота е на върха на пръста ви: Фотоплетизмографски подход за определяне на сърдечната честота: Фотоплетизмографът (PPG) е проста и евтина оптична техника, която често се използва за откриване на промени в обема на кръвта в микроваскуларно легло от тъкан. Използва се предимно неинвазивно за извършване на измервания на повърхността на кожата, обикновено
Откриване на замърсяване на въздуха + въздушно филтриране: 4 стъпки
Откриване на замърсяване на въздуха + филтриране на въздуха: Учениците (Aristobulus Lam, Victor Sim, Nathan Rosenzweig и Declan Loges) от немското швейцарско международно училище са работили с персонала на MakerBay, за да създадат интегрирана система за измерване на замърсяването на въздуха и ефективността на филтрацията на въздуха. Това
Настройте филтриране на уеб съдържание в 4 стъпки с Ubuntu: 5 стъпки
Настройте филтриране на уеб съдържание в 4 стъпки с Ubuntu: Като IT специалист едно от най -често срещаните неща, които колегите ме питат, е как могат да контролират кои сайтове децата им имат достъп онлайн. Това е много лесно да се направи и безплатно с помощта на Ubuntu linux, dansguardian и tinyproxy