abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 00:33 | Nová verze

    Byla vydána OpenIndiana 2026.10. Unixový operační systém OpenIndiana (Wikipedie) vychází z OpenSolarisu (Wikipedie).

    Ladislav Hagara | Komentářů: 1
    dnes 00:22 | IT novinky

    Americký výrobce polovodičů onsemi (ON Semiconductor) zrušil plány na rozšíření výroby v rožnovském závodě v Česku za dvě miliardy dolarů (podle aktuálního kurzu zhruba 43,5 mld. Kč). Důvodem je vývoj na trhu.

    Ladislav Hagara | Komentářů: 1
    včera 13:00 | Bezpečnostní upozornění
    Nové vydání zlib opravuje několik problémů při kompresi a dekompresi dat, přetečení bufferů, čtení mimo vyhrazenou paměť, únik neinicializovaných dat. Zvlášť významné jsou chyby v inflateGetDictionary(), inflateSync() a gzwrite(), které mohou způsobit poškození paměti. Vysoká relevance - zlib používá řada systémových i aplikačních komponent.
    vencour | Komentářů: 1
    včera 12:25 | Bezpečnostní upozornění
    Digicert hlásí neoprávněné čtení archivních zákaznických údajů. Došlo k němu po migraci z února 2025, po níž se interní systém, dříve dostupný jen přes VPN, stal přístupným z internetu. Chyba v oprávněních umožnila nově vytvořeným účtům číst archivní záznamy. K přístupu k datům mělo dojít mezi 27. červnem a 2. červencem 2026. DigiCert neoprávněné čtení potvrdil až 19. října 2026. Problém zpočátku vyhodnotil jako tvorbu účtů, ne jako … více »
    vencour | Komentářů: 1
    včera 04:44 | Pozvánky

    O víkendu probíhá na FIT VUT v Brně konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma. Přednášky lze sledovat i online na VHSky a YouTube.

    Ladislav Hagara | Komentářů: 1
    včera 02:11 | IT novinky

    Qualcomm uzavřel víceletou dohodu se SpaceX. Bude dodávat rádiové technologie, baseband jednotky a software pro plánovanou pozemní 5G síť Starlink Mobile. Výstavba má zahrnovat desítky tisíc základnových stanic v USA. Zahájení nasazování se očekává v roce 2027. Qualcomm dohodu označuje za svůj dosud největší 5G kontrakt.

    vencour | Komentářů: 0
    včera 02:00 | IT novinky

    Google rozšířil Cloud Vulnerability Reward Program. Nově nabízí odměnu až 250 tisíc dolarů za vysoce závažné architektonické bezpečnostní chyby označované jako Root-in-Cloud.

    vencour | Komentářů: 0
    6.11. 12:22 | IT novinky

    V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

    Ladislav Hagara | Komentářů: 0
    6.11. 04:55 | Nová verze

    Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.

    Ladislav Hagara | Komentářů: 3
    6.11. 03:22 | Nová verze

    Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 3003 hlasů
     Komentářů: 35, poslední 6.11. 23:27
    Rozcestník

    Dotaz: fast fourier v Lua

    25.4.2022 10:33 martin
    fast fourier v Lua
    Přečteno: 748×
    Ahoj, Potřebuji využít v jedné aplikaci FFT.
    Něco jsem našel na Rosetta code.
    FFT funguje ale inverzní FFT vrací něco jiného.
    help needed :(
    díky
    complex = {__mt={} }
    
    function complex.new(r, i)
      local new={real=r, imaginary=i or 0}
      setmetatable(new,complex.__mt)
      return new
    end
    
    function complex.__mt.__add(c1, c2)
      return complex.new(c1.real + c2.real, c1.imaginary + c2.imaginary)
    end
    
    function complex.__mt.__sub(c1, c2)
      return complex.new(c1.real - c2.real, c1.imaginary - c2.imaginary)
    end
    
    function complex.__mt.__mul(c1, c2)
      return complex.new(c1.real * c2.real - c1.imaginary * c2.imaginary,
    					 c1.real * c2.imaginary + c1.imaginary * c2.real)
    end
    
    function complex.expi(i)
      return complex.new(math.cos(i),math.sin(i))
    end
    
    function complex.__mt.__tostring(c)
      return "("..c.real..","..c.imaginary..")"
    end
    
    
    --[[---------------------------------------------------------------------
    Cooley–Tukey Fast Fourier Transformation                                -
    Zdroj: https://en.wikipedia.org/wiki/Cooley-Tukey_FFT_algorithm         -
    ]]-----------------------------------------------------------------------
    
    function FFT(vect)
      local n=#vect
      if n<=1 then return vect end
    
      local odd,even={},{}
      for i=1,n,2 do
        odd[#odd+1]=vect[i]
        even[#even+1]=vect[i+1]
      end
    
      FFT(even)
      FFT(odd)
    
      for k=1,n/2 do
        local t=even[k] * complex.expi(-2*math.pi*(k-1)/n)
        vect[k] = odd[k] + t
        vect[k+n/2] = odd[k] - t
      end
      return vect
    end
    
    --[[-----------------------------------------------------------------------
    Inverse Fast Fourier Transformation                                       -
    ]]-------------------------------------------------------------------------
    
    function IFFT(amplitudes)
    
    	local N = #amplitudes
    	local input = 1 / N
    
    	local i=nil
    	for i=1, N do
    		amplitudes[i].imaginary = -amplitudes[i].imaginary
    	end
    
    	FFT(amplitudes)
    
    	for i=1, N do
    		amplitudes[i].imaginary = -amplitudes[i].imaginary
    		amplitudes[i].real = amplitudes[i].real * input
    		amplitudes[i].imaginary = amplitudes[i].imaginary * input
    	end
    
    	return amplitudes
    end
    
    function toComplex(vector)
      vect={}
      for r,i in ipairs(vector) do
        vect[r]=complex.new(i)
      end
      return vect
    end
    
    -- test
    data = toComplex{1, 1, 1, 1, 0, 0, 0, 0}
    
    print("orig:", unpack(data))
    print("fft :", unpack(FFT(data)))
    print("ifft:", unpack(IFFT(data)))
    

    Řešení dotazu:


    Odpovědi

    👻 avatar 25.4.2022 19:48 👻 | skóre: 44 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: fast fourier v Lua

    neumim dělat lulu :D :D :D :D ale ten tvuj lulu zdrojáček mi vrací

    orig:   (1,0)   (1,0)   (1,0)   (1,0)   (0,0)   (0,0)   (0,0)   (0,0)
    fft :   (4,0)   (1,-2.4142135623731)    (0,0)   (1,-0.41421356237309)   (0,0)   (1,0.41421356237309)    (0,0)   (1,2.4142135623731)
    ifft:   (1,-0)  (1,-5.5511151231258e-17)        (1,2.4894981252574e-17) (1,-5.5511151231258e-17)        (5.5511151231258e-17,0) (5.5511151231258e-17,5.5511151231258e-17) (0,-2.4894981252574e-17) (5.5511151231258e-17,5.5511151231258e-17)
    

    noa to é na mínus sedmnáctou (jako nakalkulačce hele :O ;D) sou tak děsně mrňavý čísla že je asi jako mužem považovat za nuly takže to máš asi jako dobře :D ;D

    👻 avatar 25.4.2022 19:49 👻 | skóre: 44 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: fast fourier v Lua

    joa ty mrňavý čisilka se při výpočtech berou z nepřesnosti s děláním s floatama/číslama s plovoucí desetinou tečkou hele :O ;D

    25.4.2022 22:33 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: fast fourier v Lua
    Čísla ináč zapísané. Viď: Vědecký zápis čísel.
    debian.plus@protonmail.com
    26.4.2022 02:56 .
    Rozbalit Rozbalit vše Re: fast fourier v Lua
    On nemluví o zápisu, ale o hodnotě, hňupe.
    Řešení 1× (👻)
    26.4.2022 05:44 martin
    Rozbalit Rozbalit vše Re: fast fourier v Lua
    Ahoj, nějak se mi tu potratil muj další příspěvek
    Nebo jsem dal jen náhled a pak ho neodeslal :/
    co jsem psal hned po tom.
    Bylo to ve spěchu takže jsem si nevšiml že číslo končí
    s e-017. Ve své slepotě jsem viděl jen -5,587543235696549
    To je celé.
    Díky za reakce.

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.