Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2019:hb100-radar

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
2019:hb100-radar [2020/01/20 11:12]
Tuan Ha
2019:hb100-radar [2020/01/20 16:48] (aktuální)
Tuan Ha
Řádek 7: Řádek 7:
 =====Realizace===== =====Realizace=====
 ====Destička==== ====Destička====
-Na obrázku je schéma externí destičky. Velikost zesílení byla zvolena tak, aby bylo možné detekovat pohyb v přímé blízkosti senzoru pro jednodušší testování.\\+Na obrázku je schéma externí destičky. Velikost zesílení byla zvolena tak, aby bylo možné detekovat pohyb v přímé blízkosti senzoru pro jednodušší testování.Výsledný analogový signál ze senzoru je přiveden na AD převodník ADC 1 (pin PA1)\\
 {{2019:​tha:​schema.png?​350}} ​  ​{{2019:​tha:​tha_deska.png?​250}}\\ {{2019:​tha:​schema.png?​350}} ​  ​{{2019:​tha:​tha_deska.png?​250}}\\
 ====FFT==== ====FFT====
-K vytvoření firmwaru sloužil nástroj STM32CubeMX,​ schopný generovat kód s již nakonfigurovanými ​periferiemy ​(ADC, VCP ..). Jako uživatelské rozhraní posloužilo IDE od IAR EW, které ​mají knihovnu CMSIS - DSP v základu.\\ +K vytvoření firmwaru sloužil nástroj STM32CubeMX,​ schopný generovat kód s již nakonfigurovanými ​periferiemi ​(ADC, VCP ..). Jako uživatelské rozhraní posloužilo IDE od IAR EW, které ​má knihovnu CMSIS - DSP v základu.\\ 
-CMSIS nabízí mnoho způsobů výpočtu spektra mezi nejpoužívanější patří výpočet komplexní (CFFT) a reálného (RFFT) FFT kódu jsou implementovány oba způsoby a na následujících obrázcích je jejich srovnání. Obě dvě spektra jsou měřeny bez pohybu ve vnějším okolí.\\+CMSIS nabízí mnoho způsobů výpočtu spektramezi nejpoužívanější patří výpočet komplexní (CFFT) a reálného (RFFT) FFT. V kódu jsou implementovány oba způsoby a na následujících obrázcích je jejich srovnání. Obě dvě spektra jsou měřeny bez pohybu ve vnějším okolí.\\
  
 {{2019:​tha:​RFFT.png?​350}} ​  ​{{2019:​tha:​CFFT.png?​350}}\\ {{2019:​tha:​RFFT.png?​350}} ​  ​{{2019:​tha:​CFFT.png?​350}}\\
-Na levém obrázku je spektrum RFFT a na pravém CFFT (resp. jeho modul). Oproti CFFT má RFFT jednodušší výpočet, ale vykazuje vyšší zašumění spektra. Pro realizaci byl vybrán CFFT s výpočtem modulu Data byly vyextrahovány z debuggeru IAR a vykresleny v matlabu.\\+Na levém obrázku je spektrum RFFT a na pravém CFFT (resp. jeho modul). Oproti CFFT má RFFT jednodušší výpočet, ale vykazuje vyšší zašumění spektra. Pro realizaci byl vybrán CFFT s výpočtem moduluData byly vyextrahovány z debuggeru IAR a vykresleny v matlabu.\\
  
-Pro přesné určení frekvence z modulu je nutné nastavit rozlišení spekrta. Toto rozlišení je dané velikostí tzv. "​Binu"​. Bin je disktrétní elementátrní hodnota vypočteného spektra . Výpočet binu se realizuje podílem ​= (vzorkovací frekvence/​počet prvků), kde maximální hodnota prvků je 2048 a vzorkovací frekvence je dána nstavenou rychlostí ADC. Miniální ​vzorkovací frekvence ADC je 1,3125 MHz (předdělička 16 pro PCLK2 a 8 pro samotné ADC). +Pro přesné určení frekvence z modulu je nutné nastavit rozlišení spekrta. Toto rozlišení je dané velikostí tzv. "​Binu"​. Bin je disktrétní elementátrní hodnota vypočteného spektra. Výpočet binu se realizuje podílem ​vzorkovací frekvence/​počet prvků, kde maximální hodnota prvků je 2048 a vzorkovací frekvence je dána nstavenou rychlostí ADC. Minimální ​vzorkovací frekvence ADC je 1,3125 MHz (předdělička 16 pro PCLK2 a 8 pro samotné ADC). 
-S touto frekvencí vychází velikost binu (tedy i minimální rozlišení) na 641 Hz, takto hrubá velikost je nevhodná (chůze = 100Hz). Proto je mezi vzorky vloženo úmělé zpoždění k snížení vzorkovací frekvence. Nevýhodou je, že nelze přesně určit velikost vzorkovací frekvence, ta je nyní dána zpožděním HAL_delay a dobou provedení instrukcí (navzorkování ADC, uložení atd.). Předpokládám vyšší uplatnění doby zpoždění HAL_delay(0.8).Vzorkovací frekvence bude tedy 1250 Hz a velikost binu 0.61 Hz.+S touto frekvencí vychází velikost binu (tedy i minimální rozlišení) na 641 Hz, takto hrubá velikost je nevhodná (chůze = 100Hz). Proto je mezi vzorky vloženo úmělé zpoždění k snížení vzorkovací frekvence. Nevýhodou ​této metody ​je, že nelze přesně určit velikost vzorkovací frekvence, ta je nyní dána zpožděním HAL_delay a dobou provedení instrukcí (navzorkování ADC, uložení atd.). Předpokládám vyšší uplatnění doby zpoždění HAL_delay(0.8). Vzorkovací frekvence bude tedy 1250 Hz a velikost binu 0.61 Hz.
 <code c> <code c>
     for(int i = 0;i < TEST_LENGTH_SAMPLES;​i++){ ​ //delka 2048     for(int i = 0;i < TEST_LENGTH_SAMPLES;​i++){ ​ //delka 2048
Řádek 64: Řádek 64:
 Ukázka videa:​https://​www.youtube.com/​watch?​v=JGoTKWbEG4E&​feature=youtu.be Ukázka videa:​https://​www.youtube.com/​watch?​v=JGoTKWbEG4E&​feature=youtu.be
  
-Pro kontrolu byly navzorkovány data stejného pohybu a transformována do spektra v Matlabu. Na obrázku je znázorněné spektrum pohybu větráku. Spektrální čára 654.bin odpovídá rychlosti 20,48 km/h a 327.bin odpovídá 10,24 km/h. Na binu 1024 dochází k zrcadlení spektra. Detektor není vytvořen k detekci kruhového pohybu, proto dochází ke generaci dvou harmonickách ​signálů.+Pro kontrolu byly navzorkovány data stejného pohybu a transformována do spektra v Matlabu. Na obrázku je znázorněné spektrum pohybu větráku. Spektrální čára 654.bin odpovídá rychlosti 20,48 km/h a 327.bin odpovídá 10,24 km/h. Na binu 1024 dochází k zrcadlení spektra. Detektor není vytvořen k detekci kruhového pohybu, proto dochází ke generaci dvou harmonických ​signálů.
 {{ 2019:​tha:​spektrum.png }} {{ 2019:​tha:​spektrum.png }}
 ====Zdrojové kódy==== ====Zdrojové kódy====
 https://​mega.nz/#​F!L0cUwKLJ!BFwxEzVCoT_sDPsceQKR3Q https://​mega.nz/#​F!L0cUwKLJ!BFwxEzVCoT_sDPsceQKR3Q
2019/hb100-radar.1579515138.txt.gz · Poslední úprava: 2020/01/20 11:12 autor: Tuan Ha