Taula de continguts:

Sintonitzador Ukelele mitjançant LabView i NI USB-6008: 5 passos
Sintonitzador Ukelele mitjançant LabView i NI USB-6008: 5 passos

Vídeo: Sintonitzador Ukelele mitjançant LabView i NI USB-6008: 5 passos

Vídeo: Sintonitzador Ukelele mitjançant LabView i NI USB-6008: 5 passos
Vídeo: ПРОСТОЕ БЛЮДО‼ ПОДОЙДЁТ К МЯСУ РЫБЕ. ХРЕНОВИНА. КОМЕДИЯ 2024, De novembre
Anonim
Sintonitzador Ukelele mitjançant LabView i NI USB-6008
Sintonitzador Ukelele mitjançant LabView i NI USB-6008
Sintonitzador Ukelele mitjançant LabView i NI USB-6008
Sintonitzador Ukelele mitjançant LabView i NI USB-6008

Com a projecte d’aprenentatge basat en problemes per al meu curs LabVIEW & Instrumentation al Humber College (Electrònica d’Enginyeria Tecnològica), vaig crear un sintonitzador d’ukelele que agafaria una entrada analògica (to de corda de ukelele), trobaria la freqüència fonamental, decidia quina nota estava intentant per sintonitzar-lo i digueu-li a l'usuari si cal ajustar la cadena cap amunt o cap avall. El dispositiu que vaig fer servir per traduir l'entrada analògica a entrada digital era el DAQ (dispositiu d'adquisició de dades) de National Instruments USB-6008 i la interfície d'usuari es va implementar amb LabVIEW.

Pas 1: Afinació de ukelele estàndard

Afinació Ukelele estàndard
Afinació Ukelele estàndard
Afinació Ukelele estàndard
Afinació Ukelele estàndard

El primer pas va ser conèixer les freqüències fonamentals de les notes musicals i en quin rang s’acorden normalment les cordes de l’ukelele. He utilitzat aquestes dues cartes i he decidit que faria que el meu to variés entre 262 Hz (C) i 494Hz (Alt B). Qualsevol cosa inferior a 252 Hz es consideraria massa baixa perquè el programa pogués desxifrar quina nota s’intentava reproduir i qualsevol cosa superior a 500 Hz es consideraria massa alta. El programa, però, encara indica a l’usuari a quants Hz es troba lluny de la nota desxifrable més propera i si s’ha d’afinar la cadena (nota massa baixa) o cap avall (nota massa alta) per arribar a una nota disponible.

A més, he creat intervals per a cada nota, en lloc d’una sola freqüència, de manera que el programa trobaria més fàcilment quina nota s’estava reproduint. Per exemple, el programa li diria a l'usuari que s'està reproduint una C si la nota tenia una freqüència fonamental entre 252 Hz (a la meitat de B) i 269Hz (a la meitat de la C #), però per decidir si cal ajustar-la o cap avall, encara es compararia la nota que s'està reproduint amb la freqüència fonamental de C que és de 262Hz.

Pas 2: crear un model teòric purament digital

Creació d’un model teòric purament digital
Creació d’un model teòric purament digital
Creació d’un model teòric purament digital
Creació d’un model teòric purament digital

Abans d’endinsar-me en el costat analògic del projecte, volia veure si podia crear un programa LabVIEW que almenys fes el processament principal d’una mostra de so, com ara llegir una mostra d’àudio.wav, trobar la freqüència fonamental i fer les comparacions necessàries amb el gràfic de freqüències per tal de trobar si el so s’ha d’afinar cap amunt o cap avall.

He utilitzat SoundFileSimpleRead. VI disponible a LabVIEW per llegir un fitxer.wav des d’un camí que he designat, he posat el senyal en una matriu indexada i he introduït aquest senyal al HarmonicDistortionAnalyzer. VI per tal de trobar la freqüència fonamental. També vaig agafar el senyal del SoundFileSimpleRead. VI i el vaig connectar directament a un indicador de gràfics de forma d’ona perquè l’usuari pugui veure la forma d’ona del fitxer al tauler frontal.

Vaig crear 2 estructures de majúscules: una per analitzar quina nota es reproduïa i l’altra per determinar si s’havia de pujar o baixar la corda. Per al primer cas, he creat intervals per a cada nota i, si el senyal de freqüència fonamental de l’HarmonicDistortionAnalyzer. VI es trobava en aquest rang, li diria a l’usuari quina nota s’estava reproduint. Un cop determinada la nota, el valor de la nota reproduïda es va restar per la freqüència fonamental real de la nota i el resultat es va traslladar al segon cas que va determinar el següent: si el resultat és superior a zero, cal ajustar la corda; si el resultat és fals (no superior a zero), el cas comprova si el valor és igual a zero i, si és cert, el programa notificarà a l'usuari que la nota està en sintonia; si el valor no és igual a zero, vol dir que ha de ser inferior a zero i que cal ajustar la cadena. Vaig agafar el valor absolut del resultat per mostrar a l’usuari quants Hz s’allunyen de la nota real.

Vaig decidir que un indicador de mesurador seria el millor per mostrar visualment a l’usuari què s’ha de fer per sintonitzar la nota.

Pas 3: A continuació, el circuit analògic

A continuació, el Circuit Analògic
A continuació, el Circuit Analògic
A continuació, el Circuit Analògic
A continuació, el Circuit Analògic
A continuació, el circuit analògic
A continuació, el circuit analògic

El micròfon que he utilitzat per a aquest projecte és el micròfon electret de condensador CMA-6542PF. A continuació es mostra el full de dades d’aquest micròfon. A diferència de la majoria de micròfons de condensador d’aquest tipus, no em vaig haver de preocupar de la polaritat. La fitxa tècnica mostra que el voltatge de funcionament d’aquest micro és de 4,5 a 10 V, però es recomana 4,5 V i el seu consum actual és de 0,5 mA màxim, de manera que cal tenir precaució a l’hora de dissenyar-ne un circuit de preamplificació. La freqüència de funcionament és de 20Hz a 20kHz, que és perfecta per a l'àudio.

Vaig implementar un senzill disseny de circuits de preamplificadors a la placa de pa i vaig ajustar el voltatge d'entrada, assegurant-me que no hi hagués més de 0,5 mA a través del micròfon. El condensador s’utilitza per filtrar el soroll de CC que es pot acoblar juntament amb els senyals elèctrics (sortida), i el condensador té polaritat, així que assegureu-vos de connectar l’extrem positiu al pin de sortida del micròfon.

Un cop completat el circuit, vaig connectar la sortida del circuit al primer pin d'entrada analògica (AI0, pin 2) de l'USB-6008 i vaig connectar la terra de la placa de connexió al pin de terra analògic (GND, pin 1). Vaig connectar l'USB-6008 al PC amb un USB i era el moment de fer ajustos al programa LabVIEW per prendre un senyal analògic real.

Pas 4: lectura de senyals analògics amb l'Assistent DAQ

Lectura de senyals analògics amb l’assistent DAQ
Lectura de senyals analògics amb l’assistent DAQ
Lectura de senyals analògics amb l’assistent DAQ
Lectura de senyals analògics amb l’assistent DAQ

En lloc d’utilitzar SoundFileSimpleRead. VI i HarmonicDistortionAnalyzer. VI, he utilitzat DAQ Assistant. VI i ToneMeasurements. VI per tractar l’entrada analògica. La configuració de l’assistent DAQ és bastant senzilla i el VI us guia pels passos. El ToneMeasurements. VI té moltes sortides per triar (amplitud, freqüència, fase), de manera que he utilitzat la sortida de freqüència que dóna la freqüència fonamental del to d’entrada (del DAQ Assistant. VI). La sortida del ToneMeasurements. VI s’havia de convertir i posar en una matriu abans de poder utilitzar-la a les estructures de casos, però la resta de programació / indicadors de LabVIEW es van mantenir iguals.

Pas 5: Conclusió

Conclusió
Conclusió

El projecte va ser un èxit, però sens dubte hi va haver molts defectes. Quan treballava el sintonitzador en una aula sorollosa, era molt difícil per al programa determinar què era el soroll i quin era el to que es reproduïa. Probablement, això es deu al fet que el circuit del preamplificador és molt bàsic i que el micròfon és molt barat. Quan va ser tranquil, però, el programa va funcionar amb bona fiabilitat per determinar la nota que s’intentava reproduir. A causa de les limitacions de temps, no vaig fer cap canvi addicional, però si repetís el projecte, adquiriria un micròfon millor i passaria més temps al circuit del preamplificador.

Recomanat: