INHOUDSOPGAWE:

Monstertempo/Aliasing Instrueerbaar: 8 stappe (met foto's)
Monstertempo/Aliasing Instrueerbaar: 8 stappe (met foto's)

Video: Monstertempo/Aliasing Instrueerbaar: 8 stappe (met foto's)

Video: Monstertempo/Aliasing Instrueerbaar: 8 stappe (met foto's)
Video: Какую частоту дискретизации звука использовать? Что означает частота дискретизации? 2024, Julie
Anonim
Monstertempo/Aliasing Instrueerbaar
Monstertempo/Aliasing Instrueerbaar

Ek wil 'n opvoedingsprojek skep wat aliasing (en steekproefkoerse) toon en bedoel is om op 'n webwerf geplaas te word as 'n bron vir studente wat leer oor aliasing.

Stap 1: Ciruit -uitleg

Ciruit -uitleg
Ciruit -uitleg
Ciruit -uitleg
Ciruit -uitleg

Arduino

Die Arduino is die basis van die kring; ondersteun die servomotor (met gemonteerde encoderwiel) en die geposisioneerde saal -effek sensor.

-Encoder -wiel: Die encoder -wiel se doel is om 'n magneet wat in 'n sirkelvormige draai draai, op te hang, wat oor 'n geposisioneerde saal -effek sensor beweeg.

-Sensoropstelling: die senor -effek -senor word onder die draaipad van die magneet geplaas.

---------------------------------------------------------------------------------------------------------

Substappe:

  1. Verkry materiaal:

    Arduino (+ broodbord), drade, encoderwiel, magneet, saaleffek sensor, servomotor, Matlab toepassing, Arduino toepassing

  2. Knip die encoderwiel uit, monteer dit op die servo, druk die magneet in die gleuf.
  3. Bevestig senor -effek senor onder die magneetbaan (draadverlengings van die sensor kan nodig wees).
  4. Bou kringloop.

Stap 2: Arduino -kode

Arduino -kode
Arduino -kode

Metode van data -insameling

Die Arduino -kode gebruik [Line 41] om inligting te versamel, via die 'Analog In' A0 -poort, van die hall -effek sensor

Metode van reeksoordrag van data

  • [Reël 43] Toon in die seriële monitor 'n veranderlike 'timer' wat die funksie 'millis ()' implementeer om 'n lopende timer in millisekondes te hou vir die duur van die program.
  • [Reël 45] Toon in die seriële monitor 'n veranderlike 'hallsensor' wat 'analogRead' implementeer om inligting van die hall -effek senor te verkry terwyl die program uitgevoer word.

Doel van die parameter delay ()

Die doel van die parameter delay () is om die reaksietyd van data -insameling wat van die saal -effek sensor ontvang word, te verander

---------------------------------------------------------------------------------------------------------

Substappe:

Voer Arduino -kode in in die Arduino -toepassing

Stap 3: Matlab -kode (HallRT -lêer)

Matlab -kode (HallRT -lêer)
Matlab -kode (HallRT -lêer)
Matlab -kode (HallRT -lêer)
Matlab -kode (HallRT -lêer)
Matlab -kode (HallRT -lêer)
Matlab -kode (HallRT -lêer)
Matlab -kode (HallRT -lêer)
Matlab -kode (HallRT -lêer)

-Metode van ontvangs van data - [Figuur 3: Reël 77]

Verkry data van die ArduinoStep

---------------------------------------------------------------------------------------------------------

Substappe:

Invoer Matlab -kode is bo syfers, stoor in HallRT -lêer

Stap 4: Matlab -kode (thresh_analyze)

Matlab -kode (thresh_analyze)
Matlab -kode (thresh_analyze)
Matlab -kode (thresh_analyze)
Matlab -kode (thresh_analyze)

Metode om pieke te tel [Figuur 2: Lyne 45-53]

  • Die gebruik van die vlag in hierdie Matlab-kode is so dat sodra die for-lus op 'n 'aRval' val wat groter is as die vooraf ingestelde 'dors' waardetelling met een sal toeneem, die piek gemerk sal word met 'n sterretjie, en die if-statement [Line 45-50] sal breek omdat vlag = 1. Die tweede if-statement met 'n vlag [Line 51-53] dui aan dat sodra die piek bereik is en die waardes om die piek begin daal, dan vlag = 0 en die for -lus gaan voort om meer pieke te soek.
  • Parameters/Nodige Waardes:

    • 'aRval': die versamelde data van 'n proeflopie.
    • 'dors': 'n gekose waarde om enigiets daarbo in aRval as 'n piek aan te dui.

---------------------------------------------------------------------------------------------------------

Substappe:

Skep 'n tweede Matlab -lêer "thresh_analyze"

Stap 5: Proef 1: Geen aliasing nie

Proef 1: Geen aliasing nie
Proef 1: Geen aliasing nie
Proef 1: Geen aliasing nie
Proef 1: Geen aliasing nie

Figuur 1: Data Trial @ Delay 200 Figuur 2: Thresh Analyzed Data

-Vertraagparameter: 200

Pieke:

Tel = 45

-Aantal omwentelinge per minuut:

45 Omwentelinge/minute

---------------------------------------------------------------------------------------------------------

Substappe:

  1. Koppel die Arduino aan u skootrekenaar.

    Stel die vertraging in die Arduino -kode op "200". Druk op Laai op (in die linker boonste hoek van die aansoek)

  2. Gaan na u Matlab -lêer HallRT [Reël 37] en verander die veranderlike 'delayTime' na 200.
  3. Begin die HallRT -program.
  4. Stoor die Matlab -lêer onder "delay_200". (Stoor figuur)
  5. Laai die delay_200.mat -lêer.
  6. Begin die thresh_analyze -program. (Stoor figuur)

Stap 6: Proef 2: Aliasing van sensor (i)

Proef 2: Aliasing van sensor (i)
Proef 2: Aliasing van sensor (i)
Proef 2: Aliasing van sensor (i)
Proef 2: Aliasing van sensor (i)

Figuur 1: Data Trial @ Vertraging 50

Figuur 2: Drom geanaliseerde data

Vertraagparameter: 50-pieke:

Tel = 52

Aantal omwentelinge per minuut:

52 Omwentelinge/minute

---------------------------------------------------------------------------------------------------------

Substappe:

  1. Koppel die Arduino aan u skootrekenaar.

    Stel die vertraging in die Arduino -kode op "50". Druk op Laai op (in die linker boonste hoek van die aansoek)

  2. Gaan na u Matlab -lêer HallRT [Reël 37] en verander die veranderlike 'delayTime' na 50.
  3. Begin die HallRT -program.
  4. Stoor die Matlab -lêer onder "delay_50". (Stoor figuur)
  5. Laai die delay_50.mat -lêer.
  6. Begin die thresh_analyze -program. (Stoor figuur)

Stap 7: Proef 3: Aliasing van sensor (ii)

Proef 3: Aliasing van sensor (ii)
Proef 3: Aliasing van sensor (ii)
Proef 3: Aliasing van sensor (ii)
Proef 3: Aliasing van sensor (ii)

Figuur 1: Data Trial @ Delay 100 Figuur 2: Thresh Analysed Data

Vertraagparameter: 100-pieke:

Tel = 54

Aantal omwentelinge per minuut:

54 Omwentelinge/minute

------------------------------------------------ -------------------------------------------------- ------- Substappe:

  1. Koppel die Arduino aan u skootrekenaar.

    Stel die vertraging in die Arduino -kode op "100". Druk Upload (in die linker boonste hoek van die aansoek). '

  2. Gaan na u Matlab -lêer HallRT [Reël 37] en verander die veranderlike 'delayTime' na 100.
  3. Begin die HallRT -program.
  4. Stoor die Matlab -lêer onder "delay_100". (Stoor figuur)
  5. Laai die delay_100.mat -lêer.
  6. Begin die thresh_analyze -program. (Stoor figuur)

Stap 8: Proef 4: Aliasing van sensor (iii)

Proef 4: Aliasing van sensor (iii)
Proef 4: Aliasing van sensor (iii)
Proef 4: Aliasing of Sensor (iii)
Proef 4: Aliasing of Sensor (iii)

Figuur 1: Data Trial @ Delay 300 Figuur 2: Thresh Analyzed Data

-Vertraagparameter: 300

Pieke:

Tel = 32

Aantal omwentelinge per minuut:

32 Omwentelinge/minute

-------------------------------------------------- -------------------------------------------------- ------- Substappe:

  1. Koppel die Arduino aan u skootrekenaar.

    Stel die vertraging in die Arduino -kode op "300". Druk op Laai op (in die linker boonste hoek van die aansoek)

  2. Gaan na u Matlab -lêer HallRT [Reël 37] en verander die veranderlike 'delayTime' na 300.
  3. Begin die HallRT -program.
  4. Stoor die Matlab -lêer onder "delay_300". (Stoor figuur)
  5. Laai die delay_300.mat -lêer.
  6. Begin die thresh_analyze -program. (Stoor figuur)

Aanbeveel: