Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 7 sty 2025, o 05:55


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 23 kwi 2016, o 18:08 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

Witajcie,

mam problem (a to nowość, prawda?... pewnie już macie mnie tutaj dość). Niemniej jednak do rzeczy. Chcę stworzyć analizator widma dla sygnału audio. 8 kolumn, każda po 10 diod (10 diod sygnalizuje moc prążka). Działam na STM32F0DISCOVERY z mikrokontrolerem STM32F051R8T6.

Program napisałem, niby wszystko fajnie bo build przechodzi bez zająknięcia ale... podczas próby wgrania nagle wszystko się sypie i otrzymuję taki komunikat:

Obrazek

Nie mam bladego pojęcia, czemu tak się dziej. Pierwszy raz spotkałem ten problem. Wszystkie inne programy się wgrywały jak dotąd. Używam System Workbench for STM32. Pewnie coś z programem (kodem) zrobiłem nie tak, lecz nie mam pojęcia nawet czego szukać... Będę wdzięczny za poratowanie.

Kody:

main.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


biblioteka_fourier.h

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


biblioteka_fourier.c

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jest tam jeszcze lekki bałagan, lecz chcę dodać tam np. sterowanie kolumnami poprzez krążącą jedynkę lub zero (jeszcze nie zdecydowałem). Tak samo parę poprawek dodam. Ogółem tablice dla sinusa i cosinusa są wyliczonymi po kolei kątami i wartością tych funkcji pomnożoną o 10000. Miałem już takie tablice gotowe z AVR więc... wykorzystałem.

Stopień wyliczam na podstawie wzoru (2*pi*n*m)/N, czyli klasyczne DFT (o ile dobrze zaimplementowałem to...).

Pozdrawiam wszystkich :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 kwi 2016, o 19:33 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

Szczerze powiedziawszy nie próbowałem, ale mam wrażenie, jak by mi tutaj się pluł o wskaźniki (a raczej ich brak) w linijce: transformata(probki_pobrane, wektory_RE, wektory_IM, n);//wykonuje transformate fouriera i w linijce modul_probek(wektory_RE, wektory_IM, n);//robi wartosc bezwzgledna probek. Spróbuję program na nowo postawić.

Jakim innym programem mógłbym wsad wgrać? Niestety miałem duże problemy z uruchomieniem STM32 i jakoś ten program jako pierwszy u mnie ruszył dobrze więc innego nie znam jeszcze :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 kwi 2016, o 19:37 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

Za niedługo przetestuję, tylko skończę projektować strojnik



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 kwi 2016, o 19:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Zanim będziesz stawiał program na nowo to dodaj nowy projekt np analizator_widma_2, skopiuj do niego swoje pliki: main.c, biblioteka_fourier.c,
biblioteka_fourier.h, no i sprawdz jeszcze raz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 kwi 2016, o 19:56 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

zrobiłem nowy projekt, chyba przeszło bo wgrało. Niestety nie mam pewności bo coś nie działa i nic mi się nie oświeca na diodach. Poszukam, pewnie jest gdzieś błąd.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2016, o 18:56 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

Witajcie ponownie, mam nadzieję że jeszcze ktoś tu zajrzy bo nie chcę nowego posta tworzyć (po co zaśmiecać forum).

Stworzyłem analizator w oparciu o wzór na DFT. Niby wszystko fajnie, ale problem jest taki, że jak puszczam to w ruch to na każdym "widmie" mam to samo ;/ Sprawdzałem na dwóch prążkach (różne konfiguracje) i ciągle skaczą w taki sam sposób.

Kod main.c:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Kod biblioteka.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Kod biblioteka.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Ma ktoś jakiś pomysł?

Wrzucam jeszcze film:
https://www.youtube.com/watch?v=kPYjOOa_tto&feature=youtu.be



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO