Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

przestrajanie czestotlisci, przebiegi kwadratowy i trójkątny

20 Apr 2008 23:25 1610 3
  • Level 10  
    pisze program w C++ gdzie między innymi jest charakterystyka Bodego (amplitudowa) i potrzebuje jakiegoś wzoru/sposobu na logarytmiczne przestrajanie częstotliwości :)
    program ma także generować różne przebiegi brakuje mi kwadratowego i trójkątnego, więc jeśli ktoś zna takie wzorki to proszę o podanie, chodzi mi o takie które nadają się do wykorzystania w programie ( w pętli) :)

    ps. ogólnie znam się na programowaniu (troszkę :) ), na elektronice trochę słabiej wiec przepraszam za niski poziom pytań :)
    [Szkolenie 22.06.2021, g.9.30] Zabezpieczenia Internetu Rzeczy (IoT) programowe i sprzętowe. Zarejestruj się za darmo
  • Level 25  
    Przebieg prostokątny jest bardzo prosto z generować, po prostu między dwie instrukcje wrzucasz jakieś opóźnienie (zrealizowane na pętli typu for czy dowolnej innej, nie wiem jak dokładnie w C++ sie taka pętla nazywa), z generowanie przebiegu trójkątnego jest już nieco trudniejsze, potrzebujesz przetwornika D/A. Napisz na jaki uC piszesz, bo to tez jest bardzo istotne. (rozumiem ze na uC to robisz)
    Pozdrawiam
  • Level 10  
    Pzebiegi które wygeneruje mają sie odgrywać (interfejs DirectSound - DirectSDK),
    wiem że wygenerowanie przebiegu prostokątnego nie jest trudne (wystarczy mieć jakiś współczynnik wypełnienia i na przemian albo amplituda + albo -), z tym że nie chce mi za bardzo to grać.
  • VIP Meritorious for electroda.pl
    Tylko zważ, że przebiegi typu prostokąt (symetryczny i wąskoimpulsowy), piła czy (w mniejszym stopniu) trójkąt symetryczny, mają bardzo szerokie widmo częstotliwości wykraczające daleko za połowę częstotliwości próbkowania (tw. o próbkowaniu) i tak na prawdę to co generujejsz to sygnał z aliasingiem (pojawiają się składowe nieharmoniczne nieistniejące w przebiegu oryginalnym.

    Teoretycznie powinieneś dla danej częstotliwości generować przebieg o obciętym widmie, tj. generować sumę przebiegów sinusoidalnych (np. przez IFFT) tylko do harmonicznej nie przekraczającej fs/2.

    a przestrajanie to robisz mnożąc poprzednią wartość częstotliwości przez:

    - 10^(1/N) - N punktów na dekadę

    - 2^(1/N) - N punktów na oktawę