Innholdsfortegnelse:

Sampling Rate/Aliasing Instructable: 8 trinn (med bilder)
Sampling Rate/Aliasing Instructable: 8 trinn (med bilder)

Video: Sampling Rate/Aliasing Instructable: 8 trinn (med bilder)

Video: Sampling Rate/Aliasing Instructable: 8 trinn (med bilder)
Video: Generate Studio Quality Realistic Photos By Kohya LoRA Stable Diffusion Training - Full Tutorial 2024, November
Anonim
Samplingsfrekvens/Aliasing Instruerbar
Samplingsfrekvens/Aliasing Instruerbar

Jeg ønsker å lage et pedagogisk prosjekt som demonstrerer aliasing (og samplingsfrekvenser) og er ment å bli plassert på et nettsted som en ressurs for studenter som lærer om aliasing.

Trinn 1: Kretsoppsett

Ciruit -oppsett
Ciruit -oppsett
Ciruit -oppsett
Ciruit -oppsett

Arduino

Arduino er grunnlaget for kretsen; støtter servomotoren (med montert koderhjul) og den plasserte hall -effektsensoren.

-Koderhjul: Koderhjulets formål er å suspendere en magnet som roterer i en sirkulær bane, og svever over en plassert hall -effektsensor.

-Sensoroppsett: Hall -effekt -senoren er plassert under magnetens rotasjonsbane, formålet er å spore magnetens passering med forskjellige rotasjonshastigheter og datainnsamlingshastigheter.

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

Deltrinn:

  1. Skaff materialer:

    Arduino (+ brødbrett), ledninger, encoderhjul, magnet, hall -effektsensor, servomotor, Matlab -applikasjon, Arduino -applikasjon

  2. Klipp ut koderhjulet, monter det på servoen, skyv magneten inn i sporet.
  3. Fest hall -effekt senor under magnetbanen (trådforlengelse av sensoren kan være nødvendig).
  4. Bygg krets.

Trinn 2: Arduino -kode

Arduino -koden
Arduino -koden

Metode for datainnsamling

Arduino -koden bruker [linje 41] til å samle informasjon, via 'Analog In' A0 -porten, fra hall -effektsensoren

Metode for seriell dataoverføring

  • [Linje 43] Viser i serienummeret en variabel 'timer' som implementerer funksjonen 'millis ()' for å beholde en løpende timer i millisekunder i løpet av programmet.
  • [Linje 45] Viser en variabel 'hallsensor' i seriell monitor som implementerer 'analogRead' for å få informasjon fra hall -effekt -senoren mens programmet kjøres.

Formålet med parameteren forsinkelse ()

Formålet med parameteren delay () er å variere responstiden for datainnsamling som mottas fra hall -effektsensoren

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

Deltrinn:

Skriv inn Arduino -kode i Arduino -applikasjonen

Trinn 3: Matlab -kode (HallRT -fil)

Matlab -kode (HallRT -fil)
Matlab -kode (HallRT -fil)
Matlab -kode (HallRT -fil)
Matlab -kode (HallRT -fil)
Matlab -kode (HallRT -fil)
Matlab -kode (HallRT -fil)
Matlab -kode (HallRT -fil)
Matlab -kode (HallRT -fil)

-Metode for datamottak - [Figur 3: Linje 77]

Innhenting av data fra ArduinoStep

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

Deltrinn:

Inndata Matlab -kode er over tall, lagre i HallRT -fil

Trinn 4: Matlab -kode (thresh_analyze)

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

Metode for å telle topper [Figur 2: Linje 45-53]

  • Bruken av flagget i denne Matlab-koden er slik at når for-sløyfen snubler over en 'aRval' som er større enn det forhåndsinnstilte 'tresk'-verditallet vil øke med en, vil toppen bli markert med en stjerne, og if-setningen [Linje 45-50] vil bryte fordi flagg = 1. Den andre if-setningen med et flagg [Linje 51-53] indikerer at når toppen er nådd og verdiene begynner å synke rundt toppen, så flagg = 0 og for -løkken fortsetter å søke etter flere topper.
  • Parametere/Nødvendige verdier:

    • 'aRval': De innsamlede dataene fra en prøvekjøring.
    • 'tersk': En valgt verdi for å indikere alt over det i aRval som en topp.

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

Deltrinn:

Lag en annen Matlab -fil "thresh_analyze"

Trinn 5: Prøve 1: Ingen aliasing

Forsøk 1: Ingen aliasing
Forsøk 1: Ingen aliasing
Forsøk 1: Ingen aliasing
Forsøk 1: Ingen aliasing

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

-Forsinkelsesparameter: 200

Topper:

Antall = 45

-Antall omdreininger per minutt:

45 Omdreininger/minutt

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

Deltrinn:

  1. Koble Arduino til den bærbare datamaskinen.

    Sett forsinkelsen i Arduino -koden til "200". Trykk på Last opp (øverst til venstre i programmet)

  2. Gå til din Matlab -fil HallRT [Linje 37] og endre variabelen 'delayTime' til 200.
  3. Kjør HallRT -programmet.
  4. Lagre Matlab -filen under "delay_200". (Lagre figur)
  5. Last inn filen delay_200.mat.
  6. Kjør programmet thresh_analyze. (Lagre figur)

Trinn 6: Prøve 2: Aliasing av sensor (i)

Forsøk 2: Aliasing av sensor (i)
Forsøk 2: Aliasing av sensor (i)
Forsøk 2: Aliasing av sensor (i)
Forsøk 2: Aliasing av sensor (i)

Figur 1: Datatest @ forsinkelse 50

Figur 2: Tersk analyserte data

Forsinkelsesparameter: 50-topper:

Antall = 52

Antall omdreininger per minutt:

52 Omdreininger/minutt

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

Deltrinn:

  1. Koble Arduino til den bærbare datamaskinen.

    Sett forsinkelsen i Arduino -koden til "50". Trykk på Last opp (øverst til venstre i programmet)

  2. Gå til din Matlab -fil HallRT [Linje 37] og endre variabelen 'delayTime' til 50.
  3. Kjør HallRT -programmet.
  4. Lagre Matlab -filen under "delay_50". (Lagre figur)
  5. Last inn filen delay_50.mat.
  6. Kjør programmet thresh_analyze. (Lagre figur)

Trinn 7: Prøve 3: Aliasing av sensor (ii)

Prøve 3: Aliasing av sensor (ii)
Prøve 3: Aliasing av sensor (ii)
Prøve 3: Aliasing av sensor (ii)
Prøve 3: Aliasing av sensor (ii)

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

Forsinkelsesparameter: 100-topper:

Antall = 54

Antall omdreininger per minutt:

54 Omdreininger/minutt

------------------------------------------------ -------------------------------------------------- ------- Deltrinn:

  1. Koble Arduino til den bærbare datamaskinen.

    Sett forsinkelsen i Arduino -koden til "100". Trykk på Last opp (øverst til venstre i programmet). '

  2. Gå til din Matlab -fil HallRT [Linje 37] og endre variabelen 'delayTime' til 100.
  3. Kjør HallRT -programmet.
  4. Lagre Matlab -filen under "delay_100". (Lagre figur)
  5. Last inn filen delay_100.mat.
  6. Kjør programmet thresh_analyze. (Lagre figur)

Trinn 8: Prøve 4: Aliasing av sensor (iii)

Prøve 4: Aliasing av sensor (iii)
Prøve 4: Aliasing av sensor (iii)
Prøve 4: Aliasing av sensor (iii)
Prøve 4: Aliasing av sensor (iii)

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

-Forsinkelsesparameter: 300

Topper:

Antall = 32

Antall omdreininger per minutt:

32 Omdreininger/minutt

-------------------------------------------------- -------------------------------------------------- ------- Deltrinn:

  1. Koble Arduino til den bærbare datamaskinen.

    Sett forsinkelsen i Arduino -koden til "300". Trykk på Last opp (øverst til venstre i programmet)

  2. Gå til din Matlab -fil HallRT [Linje 37] og endre variabelen 'delayTime' til 300.
  3. Kjør HallRT -programmet.
  4. Lagre Matlab -filen under "delay_300". (Lagre figur)
  5. Last inn filen delay_300.mat.
  6. Kjør programmet thresh_analyze. (Lagre figur)

Anbefalt: