Ma megint eltöltöttem egy kis időt (nagyjából 6 órát) egy kis "zajongással". Konkrétan, az egész onnan indult, hogy találtam egy olyan példát, ahol úgy próbáltak meg sávkorlátozott fehér zajt csinálni, hogy egy konstans frekvenciájú szinuszhullámot összeszoroztak egy szintén konstans frekvenciájú, de "véletlen amplitúdójú" jelgenerátorral (ez a bizonyos "véletlen amplitúdójú generátor" azt jelenti, hogy szabályos időközönként generál egy új pontot -1 és 1 között, és az új, valamint a legutóbbi generált pontok között interpolál a generátor). Azt állították nekem, hogy ami így kijön, az egy olyan sávkorlátos fehér zaj lesz, aminek a sávközepe a szinuszgenerátor frekvenciája, a sávszélessége pedig a véletlen jel frekvenciája lesz. Hogy őszinte legyek, nem teljesen értem, hogy ez miért lesz pont így, de leellenőriztem, és valóban olyasmi jel jön ki ebből, mint ami az általam megszokott sávkorlátos fehér zaj. Azaz, hogy nem pontosan. Ha az ember figyelmesen hallgatja (mondjuk 10 percet, vagy többet, nyilván hosszabb–rövidebb megszakításokkal), akkor rájön, hogy amit így kap, az mintha "pattogna", de legalábbis egy jellegzetes recsegést lehet felfedezni a rendes jel mellett. Tipikusan olyasmit, mint amikor egy bármilyen közönséges DSP rendszert (mondjuk az otthoni CD-lejátszót) valaki finoman túlvezérli. Egy ideig azt hittem, hogy a hangfallal nem stimmel valami, de aztán megfejtettem, hogy a probléma az előző rendszerbeli interpolációnál van. Egy lineáris interpolációnál ugyanis már első rendben sem lesznek simák az illesztések, és végső soron ez vezet a pattogáshoz. Ezt kivédendő, implementáltam egy olyan verziót a véletlen generátorból, ahol nem szakaszokkal kötöm össze a véletlen pontokat, hanem szinuszgörbékkel (ezek ugyanis első rendben is simán illeszkednek, legalábbis akkor, ha a szinusz-szakasz, amit az interpoláláshoz használok, olyan alakú, mint a –pi/2 és pi/2 között a szinusz). Valóban, ebben a verzióban tényleg eltűnik az idegesítő kattogás.

Már csak két dolog marad ezzel:

  1. Még mindig nem értem, hogy ez a módszer miért ad sávkorlátos fehér zajt. Ezt két okból is jó lenne érteni, egyrészt azért, hogy biztos lehessek benne, hogy amit így kapok, az tényleg fehér zaj, és nem valami más, másrészt azért, mert hátha kis módosításokkal el tudnék érni a fehér zajtól eltérő zajokat is úgy, hogy közben az egész folyamatot kontroll alatt tarthassam.
  2. Rájönni, hogy ezt pontosan hol is fogom tudni felhasználni.
Utoljára módosította SAdam 2008.II.14 02:24-n
PermaLink
Tagek: