Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
2019:audio-visualizer [2020/01/19 22:57] Dominik Indrák [Závěr] vložen obsah |
2019:audio-visualizer [2020/01/20 19:42] (aktuální) Dominik Indrák [Výpočet frekvenčního spektra] |
||
---|---|---|---|
Řádek 84: | Řádek 84: | ||
arm_max_f32(magnitude_db, FFT_SIZE, &maxValue, &testIndex); | arm_max_f32(magnitude_db, FFT_SIZE, &maxValue, &testIndex); | ||
- | DrawSpectrum(magnitude_db, maxValue, scale_y_inc3db, dB_per_px); | + | DrawSpectrum(magnitude_db, scale_y_inc3db, dB_per_px); |
//New data for FFT can be saved | //New data for FFT can be saved | ||
Řádek 139: | Řádek 139: | ||
Pro vykreslování na LCD displej je třeba nakopírovat do složky projektu zdrojové soubory STemWinu, který lze buďto stáhnout samostatně ([[https://www.st.com/en/embedded-software/stemwin.html|STemWin]]) a nebo je součástí Cube MX v adresáři CubeMX\Middlewares\ST\STemWin. STemWin je profesionální grafická knihovna, ze které se využily pouze základní funkce pro kreslení geometrických tvarů. Tato knihovna byla zvolena, protože bylo třeba otočit orientaci displeje (hlavně textu) o 90°, což nebylo s BSP knihovnou k LCD možné. GUI, které je součástí CubeMX nebylo použito z časových důvodů. | Pro vykreslování na LCD displej je třeba nakopírovat do složky projektu zdrojové soubory STemWinu, který lze buďto stáhnout samostatně ([[https://www.st.com/en/embedded-software/stemwin.html|STemWin]]) a nebo je součástí Cube MX v adresáři CubeMX\Middlewares\ST\STemWin. STemWin je profesionální grafická knihovna, ze které se využily pouze základní funkce pro kreslení geometrických tvarů. Tato knihovna byla zvolena, protože bylo třeba otočit orientaci displeje (hlavně textu) o 90°, což nebylo s BSP knihovnou k LCD možné. GUI, které je součástí CubeMX nebylo použito z časových důvodů. | ||
+ | |||
+ | Na následujícím obrázku je nastavení pro displej z CubeMX. Displej byl nastavován podle videa [8] a kromě LTDC bylo nutné nastavit FMC (Flexible Memory Controller) a SPI (Serial Peripheral Interface) | ||
+ | |||
+ | {{ :2019:audio-visualizer:ltdc_conf.png?direct&600 }} | ||
Makra používaná při vykreslování osy X a Y a jejich popisů. | Makra používaná při vykreslování osy X a Y a jejich popisů. | ||
Řádek 288: | Řádek 292: | ||
Pro vstup audio signálu byl použit filtr typu horní propust, který ovšem nebyl ideální (frekvence větší jak f<sub>vz</sub> by způsobovaly aliasing) a z časových důvodů nebyl předělán. Lepší by by byla pásmová propust nalazená na slyšitelné spektrum, tzn. 20 Hz - 20 kHz. | Pro vstup audio signálu byl použit filtr typu horní propust, který ovšem nebyl ideální (frekvence větší jak f<sub>vz</sub> by způsobovaly aliasing) a z časových důvodů nebyl předělán. Lepší by by byla pásmová propust nalazená na slyšitelné spektrum, tzn. 20 Hz - 20 kHz. | ||
Aby bylo možné vykreslovat na displej na šířku, na poslední chvíli byla použita část knihovny STemWin. Lepší by ovšem bylo využití kompletní knihovny STemWin s GUI například přímo v CubeMX. vylepšením by mohlo být, aby frekvenční spektrum nebylo vykreslováno celé, ale bylo rozděleno na oktávy. Každá oktáva by pak zahrnovala spektrum z okolních frekvencí. Šlo by pak lépe vidět rozložení spektra na nižších frekvencích (cca 20 Hz - 1kHz). | Aby bylo možné vykreslovat na displej na šířku, na poslední chvíli byla použita část knihovny STemWin. Lepší by ovšem bylo využití kompletní knihovny STemWin s GUI například přímo v CubeMX. vylepšením by mohlo být, aby frekvenční spektrum nebylo vykreslováno celé, ale bylo rozděleno na oktávy. Každá oktáva by pak zahrnovala spektrum z okolních frekvencí. Šlo by pak lépe vidět rozložení spektra na nižších frekvencích (cca 20 Hz - 1kHz). | ||
+ | |||
+ | [[http://leteckaposta.cz/647359699|Zdrojové soubory]] | ||
+ | |||
+ | {{youtube>SbM17JHXQDU?medium}} | ||
+ | |||
===== Zdroje ===== | ===== Zdroje ===== |