Friday 29 December 2017

Ruch średni dspic


Ta witryna korzysta z Javascriptu Używamy Javascriptu w celu poprawy doświadczeń użytkowników i umożliwienia lepszej konserwacji naszej witryny. Aby móc prawidłowo przeglądać tę witrynę, musisz włączyć obsługę Javascript lub kliknąć opcję zezwalaj na zablokowaną zawartość. Obiecujemy, że robimy nie na zawartość, której nie chcesz. wybierz wszelkie informacje z Twojego komputera. do uszkodzenia danych na komputerze. narządzanie oprogramowaniem na komputerze z lub bez Twojej zgody. allow ktoś inny na komputerze zdalnie. DSP z aplikacjami dsPIC. DSP. Advantages cyfrowych. Zalety programowalnych sygnałów. Sygnały cyfrowe jako rzeczy. Rozmiary i jednostki. Signal structure. Signal i Noise. Signal to Noise Ratio. Noise Floor. Processing Gain. Figures of Merit. Processing Gain. Equivalent Noise Bandwidth. Scalloping Loss. Analiza widmowa. Częstotliwość w twierdzeniu DSP. Fouriera. Fourier Transforms. Time i częstotliwości. Teźń widelec analizator widelec. Ear jako widma analyzer. FT równań. Conwolucja w frequency. Convolution ze względu na samplingpl ex frequency. Angular frequency. Negative frequencyplex numbersplex addplex multiplikatypleks oscyloskrętne frequency. Real wycenione sygnały. Spectral symmetry. Window functions. Short Fourier Transforms. Spectral leakage. Window zniekształceń. Window kernels. Coherent gain. Equivalent Noise Bandwidth. Scalloping Loss. Window funkcje. Sygnały cyfrowe. Nie idealny sampling. Timing error. Sampling interwals. Impulse response. Multirate aliasing. Multirate sampling. Signal i noise. Signal to noise ratio. Noise floor. Quantization noise. Quantization szum i głębokości bitowej. Processing gain. Equivalent Noise Band - Width. ADC głębokości bitowej. ADC przykład głębokości bitowej. Ręczna szybkość przykład. Filter długość. Ręczne długości przykład. Anmetyczna głębokości bitowej. Bit przykład głębokości. CPU bitowej model. Kodę transformacji przykładu costplexity. CPU wyborze. Discrete Fourier transform. DFT równań. DFT implementations. DFT resolution. DFT Processing Gain. DFT obliczeń złożonych. DFT applications. Moving average. Corlekcji ważone średnica ruchoma. Gonwolucja i korelacja. Pozwiązanie korelacji jako porównanie. Gonwolucja do gładkości. Przykład równania filtru liniowego. Przykład równania filtru jako opóźnione kopie. Konwolucja w częstotliwości. Filtracja jako operacja na częstotliwościach. Specyfikacja filtra cyfrowego. Filtracja w częstotliwości. Filtracja jako convolution. Filter odpowiedź częstotliwościowa. Flitter impulse response. Impulse response jako opóźnione kopie. Finite Impulse Response filter. Infinite Impulse Response filters. Filter implementations. Filter resolution. Filter Processing Gain. Filtering w celu zwiększenia współczynnika sygnału do szumu. Signal uśrednianie. Signal uśrednianie Processing Gain. Filter Processing Gain. Matched Filters. Matched Filter Processing Gain. Filtering applications. Effects filtrowania. Filter jako opóźnione kopie. Reverb jak opóźnione copy. Transmission jako filtr. Sound field virtualization. FIR filtr design. Finite Filtr odpowiedzi Impulse. FIR filtr implement. Filter długość Przykład długości filtra. FIR częstotliwość odpowiedzi. FIR współczynniki. FIR design nave. FIR projektowane truncated. FIR des ign windowing. FIR projektowania okna metoda. FIR projektowania ograniczeń windows. FIR projektu okna kernels. FIR projekt equiripple. Autocorrelation do oddzielnych signal. Autocorrelation Processing Gain. Cross korelacji, aby zlokalizować signal. Cross korelacji do identyfikacji signal. Cross korelacji Processing Gain. LED LYT Meter LED, Mikrokontroler PIC i Moving Average Code. Hello everyone, dziękuję za sprawdzenie mojego pierwszego Instructable, z którego korzystałem widząc Twoje dzieła przez lata i kocham wszystko, co przyczyniasz się Ten projekt jest odłamkiem jednego że niedawno widziałem tutaj i muszę dać krzyk do Bot1398, ponieważ pokazał mi w Instructable, że można użyć diody LED w celu wykrycia zmian natężenia światła w środowisku i używać go do włączania innej diody LED lub wiedziałem wiedziałem że jeśli dostarczisz trochę energii do diody, to emituje światło Nigdy nie myślałem, że może być używany w drugą stronę po tym, jak zobaczyłem jego Instructable Light Sensing LED to miało sens, ale ja chciałem zobaczyć to faktycznie działa dla siebie. Piszę ten Instructable, ponieważ Bot1398 użył Arduino i nigdy ich nie używałem Nie mam przeciwko nim nic, kiedy zacząłem używać mikrokontrolerów około 3 lat temu szukałem szybkości i mocy dla konkretny wniosek I osadzony na mikrokontrolerze PIC serii przez Microchip To jest niesamowite, co można zrobić z mikrokontrolerów, można pozwolić wyobraźni dzika i trochę twórczego programowania osiągnąć dokładnie to, co chcesz Istnieje wiele języków programowania tam jako ale kiedy zacząłem chciał szybkość i dokładnie wiedzieć, co się dzieje na każdym kroku, dlatego wybrałem Assembly Language, ponieważ wydawało się to bardzo podobne do BASIC, czego dowiedziałem się na IBM PC Jr w latach osiemdziesiątych, gdy ja był dorastający To, co jest wymagane przez instruktorkę, wymaga mikrokontrolerów PIC i języka assemblera, aby użyć diody LED emitującej diodę w celu wykrycia ilości światła otaczającego i wyświetlenia liczbowej miary ti jak i bargrafu na ekranie LCD. Nie wyprodukowałem pierwszej wersji tego urządzenia opartego na świetle światłoczułym, które działało, kłopot, który zauważyłem to, że wartości skoczyły dokoła nieco dlatego szukałem rozwiązania do tego problemu pomyślałem o uśrednieniu wartości, ale jak Binary math robi się trochę trudniej, ale zawsze istnieje jakiś sposób, aby to zrobić W trakcie wyszukiwania rozwiązań natrafiłem na wielką stronę poświęconą Moving Averages i jak to zrobić skutecznie, aby nawet 8-bitowe mikrokontrolery mogły z łatwością sobie z tym poradzić Łącze do strony znajduje się tutaj Efektywnie obliczeniowo średnie kroki i to działa bardzo dobrze Ta implementacja pokazuje średnią ruchu ostatniego 256 odczytów światła i wyświetla tę wartość wraz z bargrafem na ekranie LCD Przeciętny kod ruchu uniemożliwia wyświetlanie wartości odczytywanych przez diody LED, co znacznie poprawia wyniki. Po podłączeniu diody LED do mikrokontrolera, y robi to, aby je rozjaśnić W tym przypadku jednak stosujemy dodatnie napięcie do ujemnego końca elektrody. Tak więc możemy skorzystać z czegoś nazywanego pasożytniczą pojemnością Zastosowanie tego dodatniego napięcia wzbudzi małe zasoby ładunkowe w internecie powiedzieć w ciągu około 100-200 nanosekund w tej pasożytniczej pojemności LED, że używamy Rzeczywistą pojemność nie jest bardzo ważne, ale online twierdzi, że jest około 10-15 pF Następnie będziemy przełączać pin mikrokontrolera dołączone do ujemnego końca elektrody z OUTPUT do INPUT i czekać, aż ładunek opróżni się Gdy ładunek spłynie wystarczająco, pin będzie teraz odczytywał poziom Logic 0 lub Low, gdzie wyłączymy timer i użyjemy tej wartości do obliczenia średnia ruchoma i wyświetlanie wyników na ekranie Zajmiemy więcej odczytów i wyświetli je na ekranie w przedziale zapisanym w kodzie zestawu W gotowym kodzie mam to ustawione na przeanalizuj co około 20 minut Mikrosekundy Występuje 50 razy, dzięki czemu zaktualizowany wynik jest wyświetlany na ekranie w przybliżeniu co sekundę Czas potrzebny na przeczytanie różni się trochę ponieważ zajmuje więcej czasu na ładowanie w ciemnym otoczeniu, a to odbywa się szybciej w środowiskach świetlnych Obciążenie diody LED jest w jakiś sposób bezpośrednio związane z liczbą fotonów lub ilością światła uderzającego w elementy generujące światło LED Nie jest to. Teraz, jak wiemy, jak to działa, przejdźmy do kroku 1.Step 1 Zbierz komponenty i zmontuj Circuit. First zbierz następujące elementy, które trzeba zbudować mikrokontroler LED LYT METER. PIC Użyłem ekranów LCD 18F4550 2x20 lub 2x16 LED Breadboard Wires Power Source. Now powinieneś być w stanie postępować zgodnie ze schematem, aby zebrać obwód na desce rozdzielczej lub w jakikolwiek inny sposób, który chcesz umieścić swoje obwody razem Ten jest dość łatwy i ma minimalne części I dołączyć dwa różne schematyczne, ma światło pomiarowe LED podłączone do dwóch różnych szpilki mikrokontrolera, a druga ma tę diodę z katodą lub ujemnym końcem podłączonym do pina mikrokontrolera i anodą lub dodatnim końcem diody LED podłączonej do uziemienia To wydaje się wsteczne, Pamiętaj, nie używamy LED do produkcji światła, ale zmierzyć to zamiast tego dlatego jest podłączony w ten sposób Na moich zdjęciach zobaczysz, że dioda LED jest podłączona do dwóch styków mikrokontrolera To dlatego, że chciałem być dzięki czemu można sprawdzić, czy działa on poprawnie, gdy program zostanie uruchomiony. Jeśli wybierzesz podłączyć diodę LED do 2 styków mikrokontrolera, musisz pamiętać o tym, aby praca Nie mogłem znaleźć tego udokumentowane gdziekolwiek, więc to trochę eksperymentowanie, aby go do pracy W celu umożliwienia zapalenia diody LED oba mikrokontrolery szpilki będą musiały być ustawione jako OUTPUTS Następnie, aby LED świecić, ustawisz anodę lub dodatnią koniec LED wysokiej tak, że prąd przepływa przez LED do produkcji światła Na początku myślałem, że będę musiał ustawić katodę lub negatywny koniec diody LED jako INPUT, ale to nie działało. Teraz masz componenets, umieścić je razem na desce do krojenia, wykonując schemat, który chcesz podążać Po zmontowaniu, powinien wyglądać nieco podobny do zdjęć poniżej Używam 5 Volt Regulator do zasilania 5 V do zasilania obwodu Używam brodawki naścienne, które dostarcza około 9 V do regulatora. Ekran LCD, którego używam jest wyświetlaczem Newhaven NHD C0220AZ FSW FTW COG na szybie szklanym wyświetlaczem ciekłokrystalicznym Używałem wyświetlaczy LCD HD44780, które wielu innych osób używa Możesz bez problemu użyć wyświetlaczy HD44780 i tam jest o wiele więcej kodu źródłowego, aby je uruchomić Wyświetlacz Newhaven nie miał kodu źródłowego, ale siedząc z kartą danych i używając kodu źródłowego HD44780, natknąłem się na kod, który sprawi, wyświetlanie z kilku powodów Kontrast jest bardzo łatwy do ustawienia i do tej pory nie musiałem zmieniać go w ogóle w różnych porach roku, zawsze pozostaje jasny i bardzo łatwy do odczytania Ma również mniejszy ślad i był dokładnie tym, czego potrzebowałem na ogromny projekt, nad którym pracuję, gdzie dostępna przestrzeń jest na premium Jest mniejsza i niż na wyświetlaczach HD44780 i nadal wyświetla 20 znaków na każdej z dwóch linii Wreszcie jest tańsza niż wyświetlacze HD44780, a także wybrałem kilka z nich z Digikey i tylko w cenie 10 25 każda Sprawdź je tutaj Wyświetlacz LCD Newhaven w Digikey Pamiętaj, że ten wyświetlacz wymaga od 3 do 5 5 woltów, więc pamiętaj o tym przy wyborze źródła zasilania Źródło dostarczony kod powinien również działać na wyświetlaczach HD44780 bez żadnych problemów. To jest tak, że mam to skonfigurować Możesz umieścić komponenty na diffent szpilki mikrokontrolera Tylko pamiętaj, które szpilki mikrokontrolera można połączyć dodatni i ujemny koniec diody LED do wykrywania światła Można również podłączyć ekran LCD do pracy w trybie 4-bitowym zamiast trybu 8-bitowego, jak zilustrowano, co wymagałoby czterech mniej połączeń w obwodzie, ale programowanie nieco bardziej skomplikowane. Po kolejnym kroku Zapisywanie Programu. Próbowałem kilku uruchomionych uśrednionych technik, aby wygładzić zmianę danych ADC w programie AtMega48 do sterowania lampkami PWM podczas obracania puli ADC. Filtry pseudo codes. I zauważyłem, że filtry są bardzo ładne, ale powoli w odpowiedzi, która jest oczekiwana. Ja szukam technik, takich jak Exponential ruchomą średnią Said być bardziej elastyczne Czy jest inny taki jak ten Jak mówi. where jest między 0 a 1.Jak kod i optymalizacji tych kodów bez użycia pływaków Or Jak konwertować pływaków do odpowiadających liczb całkowitych dla małych kodów małych i szybkich i reagujących one. and I przechowywane 1.Inne niż to, że nie działa zgodnie z oczekiwaniami Ponieważ I ve ve zmienić wszystkie zmienne float. Please nie c oncentrate na następującym oświadczeniu na razie, ale notatka Utrzymanie pływaków w mojej bazie kodu wypełnia pamięć programu w zakresie od 45 do 137, w przypadku. Możesz wykonać. z minimalnym narzutem przez ograniczenie do frakcji binarnych Użyłem tego z dobrych wyników. Przejmij istniejący wynik, przesuń N, umieść w prawo, aby podzielić przez 2 N Odejmij go z istniejącego wyniku Dodawanie nowych danych. Jest to nie tak szybkie, jak przy zmianach wprowadzonych danych wejściowych, ale jest łatwe do wdrożenia i wystarczająco skuteczny jako filtr w wielu przypadkach. Możesz przyspieszyć reakcję, podejmując nieformalne decyzje co do jego zachowań w sprawach, które są zbyt różne, np. utrzymać liczbę kolejnych wejść, których wartość przekracza pewien limit różny od istniejącego wyniku Liczbę przekracza pewien próg, a następnie zmienia współczynnik podziału N na pewien współczynnik. pr N zazwyczaj wynosi 4 wyniki przesuwając się w prawo 4 razy na 16 podziałów Jeśli wejście jest większe niż xxx od odpowiedzi, wykonaj tylko dwa przesunięcia w prawo i pomnożyć nową próbkę o 4 przed dodaniem. odpowiedzi 4 października 12 w 6 08.

No comments:

Post a Comment