logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Program do obliczania widma sygnału: sinus, prostokąt, trójkąt

dj.stachu 15 Lis 2007 15:38 12630 7
REKLAMA
  • #1 4484041
    dj.stachu
    Poziom 15  
    Posty: 187
    Pomógł: 1
    Ocena: 7
    Czy znacie jakiś w miarę przystępny program do obliczenia widma sygnału?
    Chodzi o to, żeby można było w prosty sposób wprowadzic sygnał(sinus, prostokąt, trójkąt, albo wszystko pomieszane)i uzyskac z tego widmo amplitudowe
  • REKLAMA
  • #2 4484181
    Quarz
    Poziom 43  
    Posty: 14357
    Pomógł: 1646
    Ocena: 629
    Witam,
    dj.stachu napisał:
    Czy znacie jakiś w miarę przystępny program do obliczenia widma sygnału?
    Chodzi o to, żeby można było w prosty sposób wprowadzic sygnał(sinus, prostokąt, trójkąt, albo wszystko pomieszane)i uzyskac z tego widmo amplitudowe

    i owszem, program z własnym udziałem pn. Rozwijanie Funkcji Okresowych w Szereg Fouriera... szukaj w podręcznikach do matematyki.

    Pozdrawiam
  • REKLAMA
  • #3 4484220
    dj.stachu
    Poziom 15  
    Posty: 187
    Pomógł: 1
    Ocena: 7
    bardzo śmieszne, z resztą to nie jest odpowiedz na pytanie
  • #4 4484251
    Quarz
    Poziom 43  
    Posty: 14357
    Pomógł: 1646
    Ocena: 629
    dj.stachu napisał:
    bardzo śmieszne, z resztą to nie jest odpowiedz na pytanie

    Posłuchaj mnie uważnie i zechciej zrozumieć: mnie żadne tego typu programy nie są potrzebne do liczenia widna przebiegów okresowych, a to właśnie dlatego, iż znam w sposób biegły analizę fourierowską....
    Ale Wam, Dzieciom Neostrady, to tylko gotową papkę trza podawać, ponieważ samemu to nic nie potraficie.. .nawet skorzystać z niezawodnych Google'i.

    Quarz
  • #5 4484348
    BolzZ
    Poziom 26  
    Posty: 1019
    Pomógł: 56
    Ocena: 67
    W matlabie mozesz jedym poleceniem uzyskac spektrogram a wlasciwie widmowa gestosc mocy, ale rezultat ten sam ;)
  • REKLAMA
  • #6 4484464
    Filip
    Poziom 23  
    Posty: 521
    Pomógł: 34
    Ocena: 54
    Hi hi: Excel, Matlab, Calc (ten od windows - wersja zaawansowana).

    PS zgadzam się z kol. Quarz
  • REKLAMA
  • #7 4484600
    Paweł Es.
    VIP Zasłużony dla elektroda
    Posty: 6981
    Pomógł: 1236
    Ocena: 692
    Spróbuj się pobawić skryptem na tej stronie ("niestety" angielski :) :

    http://home.fuse.net/clymer/graphs/fourier.html

    albo tu:

    http://www.dsptutor.freeuk.com/jsanalyser/FFTSpectrumAnalyser.html

    W tym drugim adresie (niestety podaje tylko kształt przebiegu i widmo ale bez wartości liczbowych, aczkolwiek pozwala zobaczyć jak kształt wejściowy wpływa na wyniki)

    Ustawiamy tam sobie też częstotliwość próbkowania i ilość próbek przebiegu.

    Fala jest reprezentowana jako funkcja czasu t i jest konstruowana przy pomocy standardowej notacji.

    Sinusoida o częstotliwości f (w Hz) jest zapisywana w postaci:

    sin(2*pi*f*t)

    za f wstawiasz odpowiednią wartość liczbową. Nie należy pomijać znaku mnożenia * gdyż nie jest ono domyślne.

    Amplituda uzyskanego przebiegu jest skalowana względem maksymalnej próbki uzyskanego przebiegu. Względne wartości poszczególnych składników są jednak znaczące, co oznacza, że poniższe zapisy dadzą te same wyniki tak w przebiegu fali jak i obliczonym widmie.

    sin(1000*pi*t) + 0.5*sin(2000*pi*t)

    2*sin(1000*pi*t) + sin(2000*pi*t)

    Funkcje dodatkowe

    sqr() - przebieg prostokątny

    sqr(2000*pi*t) da przebieg prostokątny o częstotliwości 1000Hz
    (zastąpienie 2*1000 przez 2000, zmniejsza ilość mnożeń przy obliczeniach)

    tri() - przebieg trójkątny (symetryczny)
    tri(500*pi*t) daje przebieg trójkątny o częstotliwości 250Hz

    saw() - przebieg piłokształtny

    saw(1000*pi*t) daje przebieg piłokształtny o częstotliwości 500 Hz


    noise() - generuje szum (funkcja bezargumentowa)

    szum ma rozkład normalny (Gaussa), wartość średnią równą 0 i jednostkowe odchylenie standardowe.

    Amplitudę szumu uzyskujemy przez mnożenie funkcji
    noise przez jakąś wartość, np.
    0.2*noise().

    Powyższe funkcje mogą być dodawane, mnożone itd przez siebie dla uzyskania żądanej funkcji sumarycznej.

    Przykładowe zapisy

    sin(2000*pi*t) + 0.5 - sinus 1000Hz, amplituda 1V, składowa stała 0.5V
    --------------------------------------------------------------------------
    sin(2000*pi*t) + 0.5*noise() - sinusoida 1000Hz, 1V, zaszumiona przebiegiem o amplitudzie 0.5V
    --------------------------------------------------------------------------
    sin(2000*pi*t) + 2*sin(4000*pi*t) - suma sinusoid 1000Hz i 2000Hz o amplitudach 1V i 2V
    ----------------------------------------------------------------------------
    Modulacja AM bez fali nośnej

    sin(2000*pi*t)*sin(500*pi*t)
    ----------------------------------------------------------------------------
    Modulacja AM z falą nośną

    sin(2000*pi*t)*(1+0.5*sin(200*pi*t))

    ------------------------------------------------------
    sqr(500*pi*t)*sin(2000*pi*t) - fala prostokątna 250 Hz przemnożona przez sinusoidę 1000 Hz
    -------------------------------------------------------------------------
    tri(3000*pi*t)*hann(t) - fala symetryczna trójkątna przemnożona przez
    funkcję okna Hanna (od nazwiska Juliusa von Hann)

    hann(t) - argumentem jest tylko t bez innych składników.

    funkcji tej używa się do "wygładzenia" funkcji przetwarzanej na granicach ona przetwarzania (by nie było gwałtownych skoków wartości, jako, że to co w oknie traktujemy jako 1 pełny okres przebiegu badanego).
  • #8 4491644
    dj.stachu
    Poziom 15  
    Posty: 187
    Pomógł: 1
    Ocena: 7
    Ten skrypt jest całkiem w porządku.
    Dzięki Paweł

Podsumowanie tematu

✨ Poszukiwano programu umożliwiającego obliczenie widma amplitudowego sygnałów okresowych takich jak sinus, prostokąt i trójkąt, z możliwością prostego wprowadzania sygnału. W odpowiedziach wskazano na wykorzystanie analizy Fouriera oraz dostępne narzędzia programowe. Sugerowano użycie MATLABa, który pozwala na szybkie uzyskanie spektrogramu lub gęstości mocy widmowej sygnału. Wspomniano także o możliwościach Excela i Calc (zaawansowana wersja Windows). Podano linki do skryptów online w języku angielskim, które umożliwiają wizualizację widma sygnału na podstawie funkcji czasu, z możliwością definiowania częstotliwości próbkowania i liczby próbek. Jeden ze skryptów pozwala zobaczyć wpływ kształtu sygnału na widmo, choć bez podawania wartości liczbowych. Dyskusja podkreśliła znaczenie znajomości analizy fourierowskiej do samodzielnego obliczania widm sygnałów okresowych.
Wygenerowane przez model językowy.
REKLAMA