Mundarija:

LabView va NI USB-6008 yordamida 5-qadamli Ukelele tyuneri
LabView va NI USB-6008 yordamida 5-qadamli Ukelele tyuneri

Video: LabView va NI USB-6008 yordamida 5-qadamli Ukelele tyuneri

Video: LabView va NI USB-6008 yordamida 5-qadamli Ukelele tyuneri
Video: Lab VIEW: Tarjeta NI USB-6008 (Adquisicion señal analogica de potenciometro) 2024, Iyul
Anonim
LabView va NI USB-6008 yordamida Ukelele tyuneri
LabView va NI USB-6008 yordamida Ukelele tyuneri
LabView va NI USB-6008 yordamida Ukelele tyuneri
LabView va NI USB-6008 yordamida Ukelele tyuneri

Humber kollejidagi LabVIEW & Instrumentation kursi uchun muammoli o'quv loyihasi sifatida (elektron muhandislik texnologiyasi) men analogli kirishni (ukulele simli ohangini) oladigan, asosiy chastotani topadigan va qaysi eslatmani sinab ko'rayotganini aniqlaydigan ukulele tyuner yaratdim. sozlanishi va foydalanuvchiga satrni yuqoriga yoki pastga sozlash kerakligini ayting. Men analog kirishni raqamli kirishga aylantirgan qurilma National Instruments USB-6008 DAQ (ma'lumotlarni yig'ish moslamasi) bo'lib, foydalanuvchi interfeysi LabVIEW yordamida amalga oshirilgan.

1 -qadam: standart Ukelele sozlash

Ukelele standart sozlash
Ukelele standart sozlash
Ukelele standart sozlash
Ukelele standart sozlash

Birinchi qadam musiqiy notalarning asosiy chastotalarini va ukulele torlari odatda qaysi diapazonda sozlanishini aniqlash edi. Men bu ikkita jadvaldan foydalandim va 262 Gts (S) va 494 Gts (Yuqori B) oralig'ida ovoz chiqarishga qaror qildim. 252 Gts dan past bo'lgan har bir narsa, dasturni qaysi notani ijro etishga urinayotganini aniqlash uchun juda past, 500 Gts dan yuqori bo'lgan narsa esa juda yuqori deb hisoblanadi. Ammo dastur hali ham foydalanuvchiga eng yaqin shifrlanadigan eslatmadan necha Gts masofada joylashganligini va agar mavjud eslatmani olish uchun satrni yuqoriga (juda past) yoki pastga (juda baland eslatib) sozlash kerakligini aytadi.

Bundan tashqari, men bitta chastota emas, balki har bir nota uchun diapazonlar yaratdim, shunda dasturga qaysi nota ijro etilganini topish osonroq bo'ladi. Masalan, dastur foydalanuvchiga eslatma 252 Gts (B yarmigacha) va 269 Gts (C#gacha) oralig'ida, lekin uni sozlash kerakligini aniqlash uchun C chastotasi o'ynalishini aytadi. yoki pastda, u hali ham ijro etiladigan notani C ning asosiy chastotasi bilan taqqoslaydi, bu 262 Gts.

2 -qadam: Sof raqamli nazariy modelni yaratish

Sof raqamli nazariy modelni yaratish
Sof raqamli nazariy modelni yaratish
Sof raqamli nazariy modelni yaratish
Sof raqamli nazariy modelni yaratish

Loyihaning analog tomoniga sho'ng'ishdan oldin, men hech bo'lmaganda audio.wav namunasini o'qish, asosiy chastotani topish va yaratish kabi tovush namunasini asosiy qayta ishlashini bajaradigan LabVIEW dasturini yaratishim mumkinmi yoki yo'qligini bilmoqchi edim. tovushni yuqoriga yoki pastga sozlash kerakligini aniqlash uchun chastota jadvalini kerakli taqqoslash.

Men belgilagan yo'ldan.wav faylini o'qish, signalni indekslangan qatorga qo'yish va asosiy chastotani topish uchun bu signalni HarmonicDistortionAnalyzer. VI ga yuborish uchun LabVIEW -da mavjud SoundFileSimpleRead. VI -dan foydalandim. Bundan tashqari, SoundFileSimpleRead. VI -dan signalni oldim va uni to'g'ridan -to'g'ri to'lqin shakli grafik indikatoriga uladim, shunda foydalanuvchi old panelda faylning to'lqin shaklini ko'ra oladi.

Men ikkita kassa tuzilmasini yaratdim: biri qanday notada o'ynalayotganini tahlil qilish uchun, ikkinchisi esa torni yuqoriga yoki pastga burish kerakligini aniqlash uchun. Birinchi holda, men har bir eslatma uchun diapazonlar yaratdim va agar HarmonicDistortionAnalyzer. VI dan asosiy chastotali signal shu diapazonda bo'lsa, u foydalanuvchiga qanday nota ijro etilganini aytib beradi. Nota aniqlangandan so'ng, notaning haqiqiy asosiy chastotasi chalindi, so'ngra natija ikkinchi holatga o'tkazildi, bu quyidagini aniqladi: agar natija noldan yuqori bo'lsa, unda simni sozlash kerak; agar natija noto'g'ri bo'lsa (noldan yuqori emas), u holda ish qiymati nolga tengligini tekshiradi va agar rost bo'lsa, dastur foydalanuvchiga eslatmani sozlanganligini bildiradi; agar qiymat nolga teng bo'lmasa, demak u noldan kichik bo'lishi kerak va mag'lubiyatni sozlash kerak. Men foydalanuvchiga haqiqiy eslatmadan qancha Hz masofada ekanligini ko'rsatish uchun natijaning mutlaq qiymatini oldim.

Men hisoblagichni ohangda yozish uchun nima qilish kerakligini vizual tarzda ko'rsatish uchun hisoblagich ko'rsatkichi eng yaxshi bo'lardi deb qaror qildim.

3 -qadam: Keyin, analog davr

Keyinchalik, analog davr
Keyinchalik, analog davr
Keyinchalik, analog davr
Keyinchalik, analog davr
Keyinchalik, analog davr
Keyinchalik, analog davr

Men bu loyihada ishlatgan mikrofon-CMA-6542PF kondensatorli elektr mikrofon. Bu mikrofon uchun ma'lumotlar jadvali quyida. Bu turdagi kondensatorli mikrofonlarning ko'pchiligidan farqli o'laroq, kutupluluk haqida xavotir olmasdim. Ma'lumotlar varag'i shuni ko'rsatadiki, ushbu mikrofonning ishchi kuchlanishi 4,5 - 10V, lekin 4,5 V tavsiya qilinadi va uning maksimal iste'moli 0,5 mA ni tashkil qiladi, shuning uchun uni oldindan yig'ish sxemasini loyihalashda ehtiyot bo'lish kerak. Ishlash chastotasi 20 Gts dan 20 kHz gacha, bu ovoz uchun juda mos keladi.

Men non panelida oddiy preamp sxemasini joriy qildim va mikrofonda 0,5 mA dan oshmasligiga ishonch hosil qilib, kirish voltajini rostladim. Kondansatör elektr signallari (chiqish) bilan birlashtirilishi mumkin bo'lgan shahar shovqinini filtrlash uchun ishlatiladi va kondansatör kutupluluğa ega, shuning uchun ijobiy uchini mikrofon chiqish piniga ulang.

O'chirish tugagandan so'ng, men kontaktlarning chiqishini USB-6008 ning birinchi analog kirish piniga (AI0, 2-pin) uladim va non taxtasining erini analog topraklama piniga (GND, pin 1) uladim. Men USB-6008 ni kompyuterga USB bilan uladim va haqiqiy analog signalni qabul qilish uchun LabVIEW dasturiga o'zgartirishlar kiritish vaqti keldi.

4 -qadam: DAQ yordamchisi yordamida analog signallarni o'qish

DAQ yordamchisi yordamida analog signallarni o'qish
DAQ yordamchisi yordamida analog signallarni o'qish
DAQ yordamchisi yordamida analog signallarni o'qish
DAQ yordamchisi yordamida analog signallarni o'qish

SoundFileSimpleRead. VI va HarmonicDistortionAnalyzer. VI -ni ishlatish o'rniga, analog kirish bilan shug'ullanish uchun DAQ Assistant. VI va ToneMeasurements. VI -dan foydalandim. DAQ Assistant-ni sozlash juda sodda va VI o'zi sizni qadamlarni bosib o'tadi. ToneMeasurements. VI ko'plab chiqishlarni (amplitudasi, chastotasi, fazasi) tanlashi mumkin, shuning uchun men kirish ohangining asosiy chastotasini beradigan chastota chiqishini ishlatardim (DAQ Assistant. VI dan). ToneMeasurements. VI ning chiqishini konstruktsiyalarda ishlatishdan oldin konvertatsiya qilish va qatorga qo'yish kerak edi, lekin LabVIEW dasturlash/indikatorlarining qolgan qismi o'zgarishsiz qoldi.

5 -qadam: Xulosa

Xulosa
Xulosa

Loyiha muvaffaqiyatli o'tdi, lekin kamchiliklar ko'p edi. Men tyunerni shovqinli sinfda ishlaganimda, dastur shovqin nima ekanligini va qanday ohangda ijro etilishini aniqlash juda qiyin edi. Bu, ehtimol, preamp sxemasi juda oddiy va mikrofon juda arzon. Jim bo'lganda, dastur ijro etiladigan notani aniqlash uchun yaxshi ishonch bilan ishladi. Vaqt cheklanganligi sababli men hech qanday qo'shimcha o'zgartirishlar kiritmadim, lekin agar men loyihani takrorlasam, yaxshiroq mikrofon sotib olardim va preamp zanjirida ko'proq vaqt o'tkazardim.

Tavsiya: