Innehållsförteckning:

Samplingsfrekvens/Aliasing instruerbar: 8 steg (med bilder)
Samplingsfrekvens/Aliasing instruerbar: 8 steg (med bilder)

Video: Samplingsfrekvens/Aliasing instruerbar: 8 steg (med bilder)

Video: Samplingsfrekvens/Aliasing instruerbar: 8 steg (med bilder)
Video: Aliasing in audio 2024, Juli
Anonim
Samplingshastighet/Aliasing Instruerbar
Samplingshastighet/Aliasing Instruerbar

Jag vill skapa ett pedagogiskt projekt som visar alias (och samplingsfrekvenser) och är avsett att placeras på en webbplats som en resurs för studenter som lär sig om alias.

Steg 1: Ciruit -layout

Ciruit -layout
Ciruit -layout
Ciruit -layout
Ciruit -layout

Arduino

Arduino är basen i kretsen; stödja servomotorn (med monterat givarhjul) och den placerade halleffektgivaren.

-Kodarhjul: Koderhjulets syfte är att hänga upp en magnet som roterar i en cirkulär bana och svävar över en placerad hall -effektsensor.

-Sensorinställning: Hall -effekt -senorn är placerad under magnetens rotationsbana, dess syfte är att spåra magnetens passering med olika rotationshastigheter och datainsamlingshastigheter.

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

Delsteg:

  1. Skaffa material:

    Arduino (+ brödbräda), ledningar, kodarhjul, magnet, hall -effektsensor, servomotor, Matlab -applikation, Arduino -applikation

  2. Klipp ut givarhjulet, montera på servon, skjut in magneten i spåret.
  3. Fäst hall -effekt senor under magnetvägen (trådförlängning av sensorn kan behövas).
  4. Bygg krets.

Steg 2: Arduino -kod

Arduino -kod
Arduino -kod

Metod för datainsamling

Arduino -koden använder [Linje 41] för att samla information, via "Analog In" A0 -porten, från hall -effektsensorn

Metod för seriell dataöverföring

  • [Linje 43] Visar i den seriella monitorn en variabel "timer" som implementerar funktionen "millis ()" för att hålla en löpande timer i millisekunder under programmets varaktighet.
  • [Linje 45] Visar i den seriella monitorn en variabel "hallsensor" som implementerar "analogRead" för att få information från hall -effektensorn när programmet körs.

Syftet med fördröjning () -parametern

Syftet med fördröjning () -parametern är att variera responstiden för datainsamling som tas emot från hall -effektsensorn

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

Delsteg:

Mata in Arduino -kod i Arduino -applikationen

Steg 3: Matlab -kod (HallRT -fil)

Matlab -kod (HallRT -fil)
Matlab -kod (HallRT -fil)
Matlab -kod (HallRT -fil)
Matlab -kod (HallRT -fil)
Matlab -kod (HallRT -fil)
Matlab -kod (HallRT -fil)
Matlab -kod (HallRT -fil)
Matlab -kod (HallRT -fil)

-Metod för datamottagning - [Figur 3: rad 77]

Skaffa data från ArduinoStep

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

Delsteg:

Matlab -kod är över siffror, spara i HallRT -fil

Steg 4: Matlab -kod (thresh_analyze)

Matlab -kod (thresh_analyze)
Matlab -kod (thresh_analyze)
Matlab -kod (thresh_analyze)
Matlab -kod (thresh_analyze)

Metod för att räkna toppar [Figur 2: Linjer 45-53]

  • Användningen av flaggan i denna Matlab-kod är så att när for-slingan snubblar på en 'aRval' som är större än det förinställda 'tröskvärdet' kommer att öka med en, markeras toppen med en asterisk, och if-satsen [rad 45-50] bryts eftersom flagga = 1. Den andra if-satsen med en flagga [linje 51-53] indikerar att när toppen är uppnådd och värdena börjar sjunka runt toppen, då flagga = 0 och for -slingan fortsätter att söka efter fler toppar.
  • Parametrar/nödvändiga värden:

    • 'aRval': Den insamlade informationen från en provkörning.
    • 'trösk': Ett valt värde för att ange något ovanför det i aRval som en topp.

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

Delsteg:

Skapa en andra Matlab -fil "thresh_analyze"

Steg 5: Trial 1: No Aliasing

Trial 1: No Aliasing
Trial 1: No Aliasing
Trial 1: No Aliasing
Trial 1: No Aliasing

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

-Fördröjningsparameter: 200

Toppar:

Räkna = 45

-Antal varv per minut:

45 Varv/minut

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

Delsteg:

  1. Anslut Arduino till din bärbara dator.

    Ställ in fördröjningen i Arduino -koden till "200". Tryck på Ladda upp (i det övre vänstra hörnet av programmet)

  2. Gå till din Matlab -fil HallRT [rad 37] och ändra variabeln 'delayTime' till 200.
  3. Kör HallRT -programmet.
  4. Spara Matlab -filen under "delay_200". (Spara figur)
  5. Ladda filen delay_200.mat.
  6. Kör programmet thresh_analyze. (Spara figur)

Steg 6: Trial 2: Aliasing av sensor (i)

Test 2: Aliasing av sensor (i)
Test 2: Aliasing av sensor (i)
Test 2: Aliasing av sensor (i)
Test 2: Aliasing av sensor (i)

Figur 1: Data Trial @ Delay 50

Figur 2: Tröskanalyserade data

Fördröjningsparameter: 50-toppar:

Räkna = 52

Antal varv per minut:

52 Varv/minut

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

Delsteg:

  1. Anslut Arduino till din bärbara dator.

    Ställ in fördröjningen i Arduino -koden till "50". Tryck på Ladda upp (i det övre vänstra hörnet av programmet)

  2. Gå till din Matlab -fil HallRT [rad 37] och ändra variabeln 'delayTime' till 50.
  3. Kör HallRT -programmet.
  4. Spara Matlab -filen under "delay_50". (Spara figur)
  5. Ladda filen delay_50.mat.
  6. Kör programmet thresh_analyze. (Spara figur)

Steg 7: Trial 3: Aliasing av sensor (ii)

Trial 3: Aliasing of Sensor (ii)
Trial 3: Aliasing of Sensor (ii)
Trial 3: Aliasing of Sensor (ii)
Trial 3: Aliasing of Sensor (ii)

Figur 1: Data Trial @ Delay 100 Figur 2: Thresh Analyzed Data

Fördröjningsparameter: 100-toppar:

Räkna = 54

Antal varv per minut:

54 Varv/minut

--------------------------------------------------------- ---------------------------------------------------------- ------- Delsteg:

  1. Anslut Arduino till din bärbara dator.

    Ställ in fördröjningen i Arduino -koden till "100". Tryck på Ladda upp (i det övre vänstra hörnet av programmet). '

  2. Gå till din Matlab -fil HallRT [rad 37] och ändra variabeln 'delayTime' till 100.
  3. Kör HallRT -programmet.
  4. Spara Matlab -filen under "delay_100". (Spara figur)
  5. Ladda filen delay_100.mat.
  6. Kör programmet thresh_analyze. (Spara figur)

Steg 8: Test 4: Aliasing of Sensor (iii)

Test 4: Aliasing of Sensor (iii)
Test 4: Aliasing of Sensor (iii)
Test 4: Aliasing of Sensor (iii)
Test 4: Aliasing of Sensor (iii)

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

-Fördröjningsparameter: 300

Toppar:

Räkna = 32

Antal varv per minut:

32 Varv/minut

---------------------------------------------------------- ---------------------------------------------------------- ------- Delsteg:

  1. Anslut Arduino till din bärbara dator.

    Ställ in fördröjningen i Arduino -koden till "300". Tryck på Ladda upp (i det övre vänstra hörnet av programmet)

  2. Gå till din Matlab -fil HallRT [rad 37] och ändra variabeln 'delayTime' till 300.
  3. Kör HallRT -programmet.
  4. Spara Matlab -filen under "delay_300". (Spara figur)
  5. Ladda filen delay_300.mat.
  6. Kör programmet thresh_analyze. (Spara figur)

Rekommenderad: