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í 

sound pomocí PWM
Jdi na stránku 1, 2  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Řešení problémů s různými konstrukcemi
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
pitrssimi



Založen: Jun 22, 2009
Příspěvky: 8

PříspěvekZaslal: po červen 22 2009, 16:53    Předmět: sound pomocí PWM Citovat

Ahoj,
potřebuji ubastlit velice jednoduchý přehrávač wavu. Zvuk bude uložen ve flash paměti AVR procesu a pomocí PWM a RC filtru 1. řádu bych měl generovat zvuk.
Jelikož mám zvuk ve wavu vzorkovaný 8kHz, je mi jasné, že každých 1,25 ms bych měl změnit střídu PWM signálu podle daného vzorku v datovém souboru. Problém je, že perioda PWM v AVR je 320ms, takže počet period na jeden vzorek zvuku je pouze 4. To se ani nestihne ustálit stejnosměrná hodnota na konzátoru na PWM. Nebo by to mělo pracovat na jiném principu a mě něco uteklo. Za jakékoliv rady budu vděčný.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Bernard



Založen: May 27, 2005
Příspěvky: 3647

PříspěvekZaslal: po červen 22 2009, 18:44    Předmět: Citovat

pitrssimi napsal(a):
....vzorkovaný 8kHz, je mi jasné, že každých 1,25 ms .....

Možná i častěji, 125 us.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: po červen 22 2009, 19:06    Předmět: Citovat

Jo a taky s 320ms periodou toho moc nepřehraješ, chtělo by to udělat si nejprve jasno v jednotkách.

Kromě vzorkovací frekvence je u signálu ještě důležitý parametr šířka pásma, od toho se dále odvíjí požadavky na rekonstrukční filtr. Předem se rozluč s tím, že bude stačit RC článek. Takže je potřeba, abys udal šířku pásma toho navzorkovaného signálu, tj. jakou maximální frekvenci ten signál před navzorkováním obsahoval, resp. jakou max. frekvenci chceš při tom přehrávání zachovat nepotlačenou.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
coat



Založen: Jun 13, 2007
Příspěvky: 68
Bydliště: BRNO

PříspěvekZaslal: po červen 22 2009, 19:09    Předmět: Citovat

A co to máš za zvuk že se ti vleze do flashky? Možná by bylo lepší použít D-A převodník R-R2 a za ním až dolní propust.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pitrssimi



Založen: Jun 22, 2009
Příspěvky: 8

PříspěvekZaslal: út červen 23 2009, 5:43    Předmět: Citovat

S těma 320ms je to samozřejmě špatně, měl jsem si to po sobě přečíst, jedná se o 32us. Vzorky se mění každých 125us. Poměr je pořád stejný (4x).
Ohledně šířky pásma. Nároky na kvalitu mám minimální. Jedná se o dva kratičké příkazy, dlouhé cca 1s.
R-R2 převodník jsem již použil a přehrávání fungovalo. Momentálně však nemám k dispozici dostatek IO a tak jsem na netu našel přehrávání zvuku pomocí PWM. Nikde jsem však nenašel vysvětlení, spíše jen předvedení výsledku.
Díky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
McLareniak
Neregistrovaný





PříspěvekZaslal: út červen 23 2009, 6:55    Předmět: Citovat

Skus pozret toto.

Priponu suboru premenuj na zip a rozbal si to niekde na disk



Zvuk v PIC.pdf
 Komentář:

Stáhnout
 Soubor:  Zvuk v PIC.pdf
 Velikost:  488.73 kB
 Staženo:  184 krát

Návrat nahoru
caven



Založen: Aug 15, 2006
Příspěvky: 417

PříspěvekZaslal: út červen 23 2009, 8:49    Předmět: Citovat

nevím, ale nějak mi to pdf nejde stáhnout. Jde to někomu otevřít ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mira2830



Založen: Nov 05, 2006
Příspěvky: 238
Bydliště: Praha

PříspěvekZaslal: út červen 23 2009, 8:58    Předmět: Citovat

jj, jde Wink musis na to kliknout pravym mysitkem a dat "ulozit jako" (nebo obdobne) a, kdyz to budes mit na disku, zmenit priponu, jak psal McLareniak
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
caven



Založen: Aug 15, 2006
Příspěvky: 417

PříspěvekZaslal: út červen 23 2009, 9:21    Předmět: Citovat

nj kdybych si to alespoň přečetl Wink Díky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pitrssimi



Založen: Jun 22, 2009
Příspěvky: 8

PříspěvekZaslal: út červen 23 2009, 10:22    Předmět: Citovat

Na tento článek a projekt už jsem při svém hledání také narazil. Pořád ale nechápu princip. Když jsem to stavěl pomocí R-2R, tak to bylo jasné, každých 125us jsem na výstupu převodníku vytvořil požadované napětí podle daného vzorku a prohlal skrz rekonstrukční filtr. Zde mi je princip naprosto jasný.
Ale v případě toho PWM ne. Nechápu jak PWM může stihnout vytvořit na svém vystupu nějaký stejnossměrný vzorek, když na to má v případě AVR jsem 4 periody.
Kdyby mi to někdo vysvětlil, tak bych byl rád. Nechci stavět něco, čemu moc nerozumím.
Díky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: út červen 23 2009, 10:24    Předmět: Citovat

pitrssimi napsal(a):
Ale v případě toho PWM ne. Nechápu jak PWM může stihnout vytvořit na svém vystupu nějaký stejnossměrný vzorek, když na to má v případě AVR jsem 4 periody.
Kdyby mi to někdo vysvětlil, tak bych byl rád. Nechci stavět něco, čemu moc nerozumím.
Díky

A co mu brání to stihnout?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pitrssimi



Založen: Jun 22, 2009
Příspěvky: 8

PříspěvekZaslal: út červen 23 2009, 12:00    Předmět: Citovat

No nějakou dobu trvá, než se kondenzátor na výstupu PWM nabije. Jestliže mám k dispozici jen 4 periody na jeden vzorek, nemusí se na kondenzátoru ustálit požadované napětí.
Podle mě tedy, neříkám ale, že mám pravdu. Kvůli tomu jsem založil toto vlákno.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: út červen 23 2009, 12:25    Předmět: Citovat

pitrssimi napsal(a):
No nějakou dobu trvá, než se kondenzátor na výstupu PWM nabije. Jestliže mám k dispozici jen 4 periody na jeden vzorek, nemusí se na kondenzátoru ustálit požadované napětí.
Podle mě tedy, neříkám ale, že mám pravdu. Kvůli tomu jsem založil toto vlákno.

Doba potřebná na nabití kondenzátoru snad závisí na časové konstantě, tj. na jeho kapacitě a odporu, přes který se nabíjí. Když vhodně zvolíš časovou konstantu, není důvod, aby to nefungovalo.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pitrssimi



Založen: Jun 22, 2009
Příspěvky: 8

PříspěvekZaslal: út červen 23 2009, 14:11    Předmět: Citovat

Tak na to mám zase námitku Smile
Když mám chci rychlé nabíjení z důvodu nedostatku času na vzorek, tak zvolím malou T (podle R a C). Je pravda že kondenzátor se pak rychle nabije, jenže se také rychle vybije v době, kdy PWM výstup bude v nule. Když čas. konstantu zvětším, pak se zas nestihne nabít.
Nemám pravdu?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: út červen 23 2009, 14:45    Předmět: Citovat

pitrssimi napsal(a):
Tak na to mám zase námitku Smile
Když mám chci rychlé nabíjení z důvodu nedostatku času na vzorek, tak zvolím malou T (podle R a C). Je pravda že kondenzátor se pak rychle nabije, jenže se také rychle vybije v době, kdy PWM výstup bude v nule. Když čas. konstantu zvětším, pak se zas nestihne nabít.
Nemám pravdu?

Ten RC článek funguje jako filtr, který slouží k získání střední hodnoty z PWM průběhu. Ale jak už jsem napsala na začátku, RC článek nestačí, je potřeba filtr vyššího řádu. RC článek by se dal použít, kdybys měl frekvenci PWM třeba 200kHz. Když máš frekvenci PWM jen 32kHz, budeš potřebovat strmější filtr.

Stejně tak když máš vzorkovací frekvenci 8kHz a chtěl bys přehrávat signál obsahující frekvence do 3kHz, potřeboval bys rekonstrukční filtr, který by na 3kHz ještě netlumil a na 8-3=5kHz už měl dostatečný útlum. To taky neuděláš RC článkem, na to potřebuješ filtr tak 8.řádu. Pokud bys ten signál převzorkoval na 32kHz (a použil PWM 64kHz), dosáhl bys stejného výsledku s filtrem 2. řádu.

Je to bráno pro dosažení kvality zvuku alespoň trochu připomínající analogový záznam. Pokud ti stačí, když mcu přehraje jakési polosrozumitelné sekundové "zachrochtání" smixované s 8kHz pískáním, možná si vystačíš jen s RC článkem se zlomem na 3kHz Smile
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 -> Řešení problémů s různými konstrukcemi Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
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.18 sekund