Obsah:

Vzorkovací frekvence/aliasing podle pokynů: 8 kroků (s obrázky)
Vzorkovací frekvence/aliasing podle pokynů: 8 kroků (s obrázky)

Video: Vzorkovací frekvence/aliasing podle pokynů: 8 kroků (s obrázky)

Video: Vzorkovací frekvence/aliasing podle pokynů: 8 kroků (s obrázky)
Video: Aliasing in audio 2024, Listopad
Anonim
Vzorkovací frekvence/Aliasing instruovatelné
Vzorkovací frekvence/Aliasing instruovatelné

Chtěl bych vytvořit vzdělávací projekt, který demonstruje aliasing (a vzorkovací sazby) a je určen k umístění na web jako zdroj pro studenty, kteří se o aliasingu učí.

Krok 1: Rozložení obvodu

Rozložení obvodu
Rozložení obvodu
Rozložení obvodu
Rozložení obvodu

Arduino

Arduino je základem obvodu; podporující servomotor (s namontovaným kodérem) a polohový snímač Hallova jevu.

-Kolo enkodéru: Úkolem kodéru je pozastavit magnet, který se otáčí v kruhové dráze a vznáší se nad umístěným snímačem Hallova efektu.

-Nastavení senzoru: Senor Hallova jevu je umístěn pod dráhou otáčení magnetu, jeho účelem je sledovat průchod magnetu pomocí různých rychlostí otáčení a rychlosti sběru dat.

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

Dílčí kroky:

  1. Získejte materiály:

    Arduino (+ chlebová deska), dráty, enkodérové kolečko, magnet, snímač Hallova efektu, servomotor, aplikace Matlab, aplikace Arduino

  2. Vyřízněte kolečko kodéru, nasaďte na servo, zatlačte magnet do slotu.
  3. Připojte snímač Hallova efektu pod dráhu magnetu (může být vyžadováno prodloužení senzoru).
  4. Sestavte obvod.

Krok 2: Arduino kód

Arduino kód
Arduino kód

Způsob sběru dat

Kód Arduino používá [řádek 41] ke shromažďování informací prostřednictvím senzoru Hallova efektu prostřednictvím portu A0 „Analog In“

Způsob sériového přenosu dat

  • [Řádek 43] Zobrazí na sériovém monitoru proměnnou „časovač“, která implementuje funkci „milis ()“, aby po dobu trvání programu udržel běžící časovač v milisekundách.
  • [Řádek 45] Zobrazuje na sériovém monitoru proměnnou „Hallsensor“, která implementuje „analogRead“, aby získala informace ze snímače Hallova efektu během běhu programu.

Účel parametru delay ()

Účelem parametru delay () je změnit dobu odezvy sběru dat, která jsou přijímána ze senzoru Hallova jevu

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

Dílčí kroky:

Zadejte kód Arduino v aplikaci Arduino

Krok 3: Kód Matlab (soubor HallRT)

Kód Matlab (soubor HallRT)
Kód Matlab (soubor HallRT)
Kód Matlab (soubor HallRT)
Kód Matlab (soubor HallRT)
Kód Matlab (soubor HallRT)
Kód Matlab (soubor HallRT)
Kód Matlab (soubor HallRT)
Kód Matlab (soubor HallRT)

-Metoda příjmu dat - [Obrázek 3: Řádek 77]

Získávání dat z ArduinoStep

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

Dílčí kroky:

Vstupní kód Matlabu je nad čísly, uložte do souboru HallRT

Krok 4: Matlab Code (thresh_analyze)

Kód Matlab (thresh_analyze)
Kód Matlab (thresh_analyze)
Matlab Code (thresh_analyze)
Matlab Code (thresh_analyze)

Metoda počítání píků [Obrázek 2: Řádky 45–53]

  • Použití příznaku v tomto kódu Matlabu je takové, že jakmile smyčka for narazí na 'aRval', který je větší než přednastavený počet hodnot 'thresh', zvýší se o jednu, vrchol bude označen hvězdičkami a příkaz if [řádek 45–50] se přeruší, protože příznak = 1. Druhý příkaz if s příznakem [řádek 51–53] indikuje, že jakmile je vrchol dosažen a hodnoty začnou kolem vrcholu klesat, pak příznak = 0 a smyčka for pokračuje v hledání dalších špiček.
  • Parametry/nezbytné hodnoty:

    • 'aRval': Shromážděná data ze zkušebního provozu.
    • 'mlátit': Vybraná hodnota pro označení čehokoli nad ním v aRval jako vrchol.

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

Dílčí kroky:

Vytvořte druhý soubor Matlab „thresh_analyze“

Krok 5: Pokus 1: Žádné aliasing

Pokus 1: Žádné aliasing
Pokus 1: Žádné aliasing
Pokus 1: Žádné aliasing
Pokus 1: Žádné aliasing

Obrázek 1: Data Trial @ Delay 200 Obrázek 2: Obnovit analyzovaná data

-Parametr zpoždění: 200

vrcholy:

Počet = 45

-Počet otáček za minutu:

45 otáček/minutu

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

Dílčí kroky:

  1. Připojte Arduino k notebooku.

    Nastavte zpoždění v kódu Arduino na „200“. Stiskněte Nahrát (v levém horním rohu aplikace)

  2. Přejděte do svého souboru Matlab HallRT [řádek 37] a změňte proměnnou 'delayTime' na 200.
  3. Spusťte program HallRT.
  4. Uložte soubor Matlab pod „delay_200“. (Uložit obrázek)
  5. Načtěte soubor delay_200.mat.
  6. Spusťte program thresh_analyze. (Uložit obrázek)

Krok 6: Trial 2: Aliasing of Sensor (i)

Trial 2: Aliasing of Sensor (i)
Trial 2: Aliasing of Sensor (i)
Trial 2: Aliasing of Sensor (i)
Trial 2: Aliasing of Sensor (i)

Obrázek 1: Data Trial @ Delay 50

Obrázek 2: Vymazat analyzovaná data

Parametr zpoždění: 50 vrcholů:

Počet = 52

Počet otáček za minutu:

52 otáček/minutu

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

Dílčí kroky:

  1. Připojte Arduino k notebooku.

    Nastavte zpoždění v kódu Arduino na „50“. Stiskněte Nahrát (v levém horním rohu aplikace)

  2. Přejděte do svého souboru Matlab HallRT [řádek 37] a změňte proměnnou 'delayTime' na 50.
  3. Spusťte program HallRT.
  4. Uložte soubor Matlab pod „delay_50“. (Uložit obrázek)
  5. Načtěte soubor delay_50.mat.
  6. Spusťte program thresh_analyze. (Uložit obrázek)

Krok 7: Pokus 3: Aliasing senzoru (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)

Obrázek 1: Data Trial @ Delay 100 Obrázek 2: Obnovit analyzovaná data

Parametr zpoždění: 100 vrcholů:

Počet = 54

Počet otáček za minutu:

54 otáček za minutu

-------------------------------------------------------- ---------------------------------------------------------- ------- Dílčí kroky:

  1. Připojte Arduino k notebooku.

    Nastavte zpoždění v kódu Arduino na „100“. Stiskněte tlačítko Odeslat (v levém horním rohu aplikace). '

  2. Přejděte do svého souboru Matlab HallRT [řádek 37] a změňte proměnnou 'delayTime' na 100.
  3. Spusťte program HallRT.
  4. Uložte soubor Matlab pod „delay_100“. (Uložit obrázek)
  5. Načtěte soubor delay_100.mat.
  6. Spusťte program thresh_analyze. (Uložit obrázek)

Krok 8: Trial 4: Aliasing of Sensor (iii)

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

Obrázek 1: Data Trial @ Delay 300 Obrázek 2: Obnovit analyzovaná data

-Parametr zpoždění: 300

vrcholy:

Počet = 32

Počet otáček za minutu:

32 otáček/minutu

---------------------------------------------------------- ---------------------------------------------------------- ------- Dílčí kroky:

  1. Připojte Arduino k notebooku.

    Nastavte zpoždění v kódu Arduino na „300“. Stiskněte Nahrát (v levém horním rohu aplikace)

  2. Přejděte do svého souboru Matlab HallRT [řádek 37] a změňte proměnnou 'delayTime' na 300.
  3. Spusťte program HallRT.
  4. Uložte soubor Matlab pod „delay_300“. (Uložit obrázek)
  5. Načtěte soubor delay_300.mat.
  6. Spusťte program thresh_analyze. (Uložit obrázek)

Doporučuje: