Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Parametrický equalizér v Cčku

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Miniaturní počítače (Arduino, Raspberry a další)
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
ghost07



Založen: Feb 19, 2020
Příspěvky: 51

PříspěvekZaslal: pá prosinec 02 2022, 19:14    Předmět: Parametrický equalizér v Cčku Citovat

Zdravím, neporadí někdo jak vytvořit filtr v C, který je vlastně jako equalizér na mixážním pultu? Nebo navést co bych si k tomu měl nastudovat?
Zatím vím, že na to budu potřebovat asi IIR nebo FIR filtr. Na wikipedii je sice popis co to je, ale netuším jak to iplementovat do Cčka. Mají se spočítat nějaké koeficienty impulzní odezvy a těmi se pak budou postupně násobit nově příchozí vzorky? Nebo tam budou složitější matematické operace (pro každý vzorek), takže by to mikroprocesor s rychlostí 160 MHz nestíhal pro zvuk se vzorkováním 48 kHz počítat v reálném čase? - A tím pádem to nemusím dál řešit? Very Happy
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
bdn



Založen: Jan 16, 2020
Příspěvky: 467

PříspěvekZaslal: pá prosinec 02 2022, 21:49    Předmět: Citovat

Asi bys ses měl více rozepsat o finální aplikaci, kde to bude sloužit a proč děláš, to co děláš. Jestli jde o diplomku nebo to má nějak v reálu sloužit...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
HF_Tech



Založen: Apr 25, 2022
Příspěvky: 622

PříspěvekZaslal: so prosinec 03 2022, 8:26    Předmět: Citovat

Implementace FIR nebo IIR filtru je o násobení a sčítání vzorků. Máš buffer ve kterém jednotlivé vzorky násobíš koefecienty a pak je sečteš a pustíš do výstupu. V každém taktu posuneš vzorky o jedno místo a nejstarší zahodíš.
FIR má výhodu, že je jednodušší na výpočet koeficientů a není citlivý na zaokrouhlovací chyby. Nevýhodu má, že pokud má trochu lépe filtrovat, tak z principu funkce vzniká velké zpoždění mezi vstupem a výstupem.
Pro představu nejjednodušší příklad FIR filtru je klouzavý nebo vážený průměr - koeficienty jsou vlastně jednotlivé váhy.
IIR filtr má zpoždění podstatně menší, ale je kritický na výpočet koeficientů a zaokrouhlovací chyby. Vtip je jenom v tom jak se přičítají vzorky - je tam něco jako zpětná vazba. Může se tedy rozkmitat.
Vlastní výpočet je o tom vzít vzorkovací frekvenci, navrhnou parametry filtrace a hodit to do matlabu. Vlastní přepsání do C při pochopení principu výpočtu už je to úplně nejmenší.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ghost07



Založen: Feb 19, 2020
Příspěvky: 51

PříspěvekZaslal: út prosinec 06 2022, 19:05    Předmět: Citovat

bdn
Chtěl bych si udělat malý digitální mixáček. Pro začátek klidně jeden vstup a aplikovat na něj základní funkce mixu - předzesílení (to by se asi řešilo pomocí PGA v A/D převodníku), parametrický EQ a výstupní hlasitost.

HF_Tech
Díky za shrnutí jak to přibližně funguje. Takže IIR vypadá že je cesta Very Happy
Akorát bych potřeboval, aby to umělo spočítat koeficienty samo, když zadám frekvenci, zesílení/zeslabení a Q. Řád filtru (počet koeficientů) asi bude záležet na tom Q, že?
A pokud není k dispozici Matlab, tak se ty koeficienty dají získat z inverzní FFT?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
eleferner



Založen: Jun 04, 2016
Příspěvky: 538
Bydliště: Brno

PříspěvekZaslal: út prosinec 06 2022, 19:41    Předmět: Citovat

Zacal bych zde:

https://www.un4seen.com/forum/?topic=1004.0

Pokud bys chtel neco jednodussiho, tak tady je implementace tzv. peaking filtru, ktere se k tomu typicky pouzivaji:

https://github.com/dimtass/DSP-Cpp-filters

Z popisu vsak soudim, ze nejdou preladovat za behu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Atlan



Založen: May 10, 2004
Příspěvky: 4507
Bydliště: Košice

PříspěvekZaslal: út prosinec 06 2022, 21:21    Předmět: Citovat

A ma to zmysel robit na beznom uP ked koli tomu sa vyrabaju DSP aby to stihali prepocitavat? S ESAI zbernicou.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Miniaturní počítače (Arduino, Raspberry a další) Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.25 sekund