Агуулгын хүснэгт:

LabView болон NI USB-6008 ашиглан Ukelele тааруулагч: 5 алхам
LabView болон NI USB-6008 ашиглан Ukelele тааруулагч: 5 алхам

Видео: LabView болон NI USB-6008 ашиглан Ukelele тааруулагч: 5 алхам

Видео: LabView болон NI USB-6008 ашиглан Ukelele тааруулагч: 5 алхам
Видео: Strain Gauge with Ni USB 6008 2024, Долдугаар сарын
Anonim
LabView болон NI USB-6008 ашиглан Ukelele тааруулагч
LabView болон NI USB-6008 ашиглан Ukelele тааруулагч
LabView болон NI USB-6008 ашиглан Ukelele тааруулагч
LabView болон NI USB-6008 ашиглан Ukelele тааруулагч

Хамбер коллежийн (Electronics Engineering Technology) LabVIEW & Instrumentation курсынхаа асуудалд суурилсан сургалтын төслийн хувьд би аналог оролт (ukulele string tone) авах үндсэн давтамжийг олж, ямар тэмдэглэл оролдож байгааг шийдэх укулеле тааруулагчийг бүтээсэн. тааруулж, мөрийг дээш эсвэл доош тааруулах шаардлагатай эсэхийг хэрэглэгчид хэлээрэй. Миний аналог оролтыг тоон оролт руу хөрвүүлэх төхөөрөмж бол National Instruments USB-6008 DAQ (өгөгдөл цуглуулах төхөөрөмж) байсан бөгөөд хэрэглэгчийн интерфэйсийг LabVIEW ашиглан хэрэгжүүлсэн.

Алхам 1: стандарт Ukelele тааруулалт

Стандарт Ukelele тааруулалт
Стандарт Ukelele тааруулалт
Стандарт Ukelele тааруулалт
Стандарт Ukelele тааруулалт

Эхний алхам бол хөгжмийн нотын үндсэн давтамж, укулеле мөрийг ихэвчлэн ямар мужид тааруулдаг болохыг олж мэдэх явдал байв. Би эдгээр хоёр диаграмыг ашигласан бөгөөд 262 Гц (С) ба 494 Гц (Өндөр В) хооронд хэлбэлзүүлэх болно гэж шийдсэн. 252 Гц -ээс бага хэмжээтэй зүйл нь ямар нот тоглуулахыг оролдож буйг програм ойлгоход хэтэрхий бага гэж тооцогдох бөгөөд 500 Гц -ээс дээш бол хэт өндөр гэж үзэх болно. Гэсэн хэдий ч програм нь хамгийн ойрын шифрлэх боломжтой тэмдэглэлээс хэдэн Гц -ийн зайтай байгааг, мөн боломжтой тэмдэглэлд хүрэхийн тулд мөрийг тохируулах (хэтэрхий бага тэмдэглэх) эсвэл доош нь (хэт өндөр тэмдэглэл) оруулахыг хэрэглэгчдэд хэлсээр байна.

Нэмж дурдахад, би ганц давтамж биш харин тэмдэглэл тус бүрт хүрээ үүсгэсэн бөгөөд ингэснээр програмд аль нот тоглож байгааг олоход хялбар болно. Жишээлбэл, програм нь хэрэв тэмдэглэл нь 252 Гц (В хүртэлх хагас) ба 269 Гц (C#хүртэл) хүртэл үндсэн давтамжтай байсан бол үүнийг тоглуулах шаардлагатай эсэхийг шийдэхийн тулд хэрэглэгч C хэл дээр тоглож байгааг хэлнэ. эсвэл доошоо, энэ нь тоглож буй нотыг С -ийн үндсэн давтамжтай 262 Гц -тэй харьцуулах болно.

Алхам 2: Цэвэр дижитал онолын загварыг бий болгох

Цэвэр дижитал онолын загварыг бий болгох
Цэвэр дижитал онолын загварыг бий болгох
Цэвэр дижитал онолын загварыг бий болгох
Цэвэр дижитал онолын загварыг бий болгох

Төслийн аналог тал руу шумбахаасаа өмнө би дууны дээжийн үндсэн боловсруулалт болох аудио.wav дээжийг унших, үндсэн давтамжийг олох, хийх гэх мэт LabVIEW програмыг бүтээж чадах эсэхийг харахыг хүссэн юм. Дууг дээш эсвэл доош тааруулах эсэхийг олж мэдэхийн тулд давтамжийн хүснэгтийг харьцуулах шаардлагатай.

Би LabVIEW -д байдаг SoundFileSimpleRead. VI -ийг ашиглан өөрийн тогтоосон замаас.wav файлыг уншиж, дохиог индексжүүлсэн массивт оруулаад үндсэн давтамжийг олохын тулд тэр дохиог HarmonicDistortionAnalyzer. VI -д өгсөн. Би бас SoundFileSimpleRead. VI -ээс дохиог аваад долгионы хэлбэрийн диаграммын индикатор руу шууд холбосон бөгөөд ингэснээр хэрэглэгч урд талын самбар дээрх файлын долгионы хэлбэрийг харах боломжтой болно.

Би 2 кейсийн бүтэц үүсгэсэн: нэг нь ямар нот тоглож байгааг шинжлэх, нөгөө нь мөрийг дээш эсвэл доош эргүүлэх шаардлагатай эсэхийг тодорхойлох. Эхний тохиолдолд би тэмдэглэл бүрийн хувьд хүрээ үүсгэсэн бөгөөд хэрэв HarmonicDistortionAnalyzer. VI -ийн үндсэн давтамжийн дохио энэ мужид байсан бол хэрэглэгч ямар тэмдэглэл тоглож байгааг хэлж өгөх болно. Тэмдэглэлийг тодорхойлсны дараа тоглосон тэмдэглэлийн утгыг тэмдэглэлийн бодит үндсэн давтамжаар хасч, дараа нь үр дүнг хоёр дахь тохиолдолд шилжүүлж дараах зүйлийг тодорхойлсон болно: хэрэв үр дүн тэгээс дээш байвал мөрийг тааруулах шаардлагатай болно; хэрэв үр дүн худал (тэгээс дээш биш) байвал тухайн утга нь тэгтэй тэнцүү эсэхийг шалгадаг бөгөөд хэрэв үнэн бол програм нь хэрэглэгчид тэмдэглэл таарч байгааг мэдэгдэх болно; хэрэв утга нь тэгтэй тэнцүү биш бол энэ нь тэгээс бага байх ёстой бөгөөд мөрийг тааруулах шаардлагатай гэсэн үг юм. Би жинхэнэ тэмдэглэлээс хэдэн Гц -ийн зайтай байгааг хэрэглэгчдэд харуулахын тулд үр дүнгийн үнэмлэхүй утгыг авсан.

Тэмдэглэлийг тааруулахын тулд юу хийх ёстойг хэрэглэгчдэд харуулахын тулд тоолуурын үзүүлэлт хамгийн сайн байх болно гэж би шийдсэн.

Алхам 3: Дараа нь аналог хэлхээ

Дараа нь аналог хэлхээ
Дараа нь аналог хэлхээ
Дараа нь аналог хэлхээ
Дараа нь аналог хэлхээ
Дараа нь аналог хэлхээ
Дараа нь аналог хэлхээ

Миний энэ төсөлд ашигласан микрофон бол CMA-6542PF конденсаторын цахилгаан микрофон юм. Энэ микрофоны мэдээллийн хүснэгтийг доор өгөв. Энэ төрлийн ихэнх конденсатор микрофонуудаас ялгаатай нь би туйлшралын талаар санаа зовох хэрэггүй байсан. Мэдээллийн хүснэгтэд энэ микрофоны ажиллах хүчдэл 4.5 - 10В боловч 4.5 В -ийг ашиглахыг зөвлөж байгаа бөгөөд одоогийн хэрэглээ нь хамгийн ихдээ 0.5 мА байна. Ашиглалтын давтамж нь 20 Гц -ээс 20 КГц хүртэл байдаг бөгөөд энэ нь аудио ашиглахад тохиромжтой.

Би талхны самбар дээр энгийн preamp хэлхээний загварыг хэрэгжүүлж, оролтын хүчдэлийг тохируулж, микрофон дээр 0.5 мА -аас ихгүй байгаа эсэхийг шалгасан. Конденсаторыг цахилгаан дохио (гаралт) -тай холбож болох тогтмол гүйдлийн дуу чимээг шүүхэд ашигладаг бөгөөд конденсатор нь туйлшралтай байдаг тул эерэг төгсгөлийг микрофоны гаралтын зүүтэй холбох хэрэгтэй.

Хэлхээ дууссаны дараа би хэлхээний гаралтыг USB-6008-ийн анхны аналог оролтын зүү (AI0, зүү 2) -тэй холбож, талхны хавтангийн газардуулгыг аналог газардуулгын зүү (GND, зүү 1) -тэй холбов. Би USB-6008-ийг USB-тэй компьютерт холбосон бөгөөд бодит аналог дохиог авахын тулд LabVIEW програмд тохируулга хийх цаг болжээ.

Алхам 4: DAQ туслахын тусламжтайгаар аналог дохиог унших

DAQ туслахын тусламжтайгаар аналог дохиог унших
DAQ туслахын тусламжтайгаар аналог дохиог унших
DAQ туслахын тусламжтайгаар аналог дохиог унших
DAQ туслахын тусламжтайгаар аналог дохиог унших

SoundFileSimpleRead. VI болон HarmonicDistortionAnalyzer. VI -ийг ашиглахын оронд би аналог оролттой ажиллахын тулд DAQ Assistant. VI болон ToneMeasurements. VI -ийг ашигласан. DAQ туслахын тохиргоо нь маш энгийн бөгөөд VI нь таныг алхам алхамаар дамжуулдаг. ToneMeasurements. VI нь сонгох олон гаралттай байдаг (далайц, давтамж, үе шат), тиймээс би оролтын дууны үндсэн давтамжийг өгдөг давтамжийн гаралтыг ашигласан (DAQ Assistant. VI -аас). ToneMeasurements. VI -ийн гаралтыг кейс бүтцэд ашиглахаас өмнө хөрвүүлж массивт оруулах ёстой байсан боловч LabVIEW програмчлал/шалгуур үзүүлэлтүүдийн үлдсэн хэсэг нь хэвээр үлджээ.

Алхам 5: Дүгнэлт

Дүгнэлт
Дүгнэлт

Төсөл амжилттай болсон боловч маш олон алдаа дутагдал байсан. Намайг чимээ шуугиантай ангид ажиллуулж байхад програмын хувьд дуу чимээ юу, ямар өнгөөр тоглож байгааг тодорхойлоход маш хэцүү байсан. Энэ нь урьдчилсан хэлхээний хэлхээ нь маш энгийн бөгөөд микрофон нь маш хямд байсантай холбоотой юм. Гэсэн хэдий ч нам гүм байх үед уг програмыг тоглуулах гэж буй тэмдэглэлийг тодорхойлохын тулд маш найдвартай ажиллаж байсан. Цаг хязгаарлагдмал байдлаас шалтгаалан би нэмэлт өөрчлөлт хийгээгүй, гэхдээ хэрэв би энэ төслийг давтах юм бол би илүү сайн микрофон худалдаж аваад урьдчилсан хэлхээнд илүү их цаг зарцуулах болно.

Зөвлөмж болгож буй: