Warning: Illegal string offset 'name' in [path]/includes/functions.php on line 6439
Audio kontrolieris
+

thread: Audio kontrolieris

  1. #1
    Junior Member
    Aug 2006
    18

    Audio kontrolieris

    Pirms kāda laika uzrakstīju kodu un notestēju priekš audio kontroliera - Wm8731.
    WM8731 - 24 bitu adc/dac var izvēlēties dažādas diskretizācijas frekvences, pat līdz 96khz
    skaņu var regulēt gan ieejā, gan izejā (noderīga lieta, ja ieejā nāk pārāk spēcīgs signāls, var vājināt, lai nepārslogotu ADC),
    balanss, ir baypass mode utt.
    kopumā priekš spēlēšanās tīri jauks instrumentiņš
    Kontrolieri var konfigurēt gan caur I2c gan SPI (bet DE1 development board WM8731 nokonfigurēts tā, ka atbalsta tikai I2C virknes protokolu), tamdēļ tika uzrakstits kods tieši priekš I2C

    Tātad, kas ir izdarīts :
    1) I2C virknes interface;
    2) left justified interface, lai iegūtu ciparotos datus (no labā un kreisā kanāla) (WM8731 atbalsta arī right justified, DSP, I2S saskarnes);
    3) pārveidoju virknes ciparotos datus paralēlajos datos;
    3) tad bija uztaisīti filtri (megawizard) izvēlējos virknes FIr filtrus, jo tie mazāk resusrsu aizņem (manā gadījumā bija 96khz un 24 biti, tamdēļ filtra frekvence bija jāuzceļ 96khz*25, lai filtrs spētu saformēt/apstrādāt datus);
    4) pedējais bija paralēlos datus atkal pārveidot virknes datos un barot iekšā DAC;
    5) ā un protams ir podziņas, ar kurām var mainīt skaļumu :P
    Kopējā bilde ir pārāk liela (no quartus block diagrammas viedokļa, tamdēļ nolēmu nelikt)

    Pēc kāda mēneša varbūt sākšu upgrade savam projektam, pieliekot FFT
    Doma ir izveidot raksturlīkni priekš FFT, kuru var mainīt, tad veic IFFT un no tās viņš rēķina filtra koeficientus un ielādē FIR filtrā, respektīvi filtram jābūt ar augstu kārtu, piemēram, sākot no 1024 kārtas, tad pie 96khz diskretizācijas frekvences spektra izšķirtspēja būs ap 92 Hz, ja nemaldos
    tādā veidā būtu reāli izveidot vienu filtru (priekš viena kanāla), ar kura palīdzību varētu kontrolēt frekvences

    kopumā kopējā bilde man ir skaidra, kas un kā jādara, bet ja ir ieteikumi lūdzu, svaiga kritika nenāk par ļaunu

    Varbūt kādam noderēs
    Ja ir kādi jautājumi mēģināšu atbildēt un izstāstīt, kā tas tika panākts
     

  2. #2
    Moderator
    Mar 2008
    Ogre
    1,445

    Re: Audio kontrolieris

    divi jautājumi:
    *) aizture?
    *) un fāzu nobīde?
    If it's worth doing, it's worth overdoing, right? / Tory Belleci, Mythbusters /

  3. #3
    Senior Member
    Sep 2006
    Riga
    3,053

    Re: Audio kontrolieris

    man tāds čista primitīvs jautājums - ko es varu izdarīt tik uberkrutu ar šo iekārtu? resp. jēga no tā pasākuma [praktiskā pielietojuma piemērs]?

  4. #4
    Junior Member
    Aug 2006
    18

    Re: Audio kontrolieris

    Ansius
    Aizture katram kanālam ir viena takts (96khz), to es parbaudīju, kad formēju datus no virknes uz paralelo un pēc tam no paralēla uz virknes
    Fāze nobīde ir, jo izmantoju battervorta filtrus


    Delfins

    Emm tu jautā par to altera DE1 development board?
    Ja tā, tad vari apgūt daudz maz FPGA valodas kā verilog un VHDL, ā un tur var ielikt nios proci sanāk ka vari rakstīt progas jau priekš proča
    Šīs protams nav tas labākais boards, bet iesākumam atliektiem galiem pietiek, gan VGA (4 biti uz krāsu) moduli var uzrakstīt, gan MP3, kameru
    tad, kad esi uz tā boarda daudz maz notestēji, vari veidot autonomu ierīci, kurai būs tikai tādas detaļas, kuras tu izmantoji savā projektā, manā gadījumā FPGa mikrene audio kodaks Wm8731 pogas, lcd nu kkaa ta

  5. #5
    Moderator
    Mar 2008
    Ogre
    1,445

    Re: Audio kontrolieris

    fāzu nobīdes ir slikta lieta. ar to ari atšķiras draņķīga tehnika no labas. laba fāzes signāliem nečakarē.

    par latency, nu neticu kad sāksies nopietna apstrāde tik mazu latency dabūsi. Krutākajai digitālajai skaņu pultij ir 3ms ne mazāk, lai gan vidēji tas svārstās no 5-7ms citiem ražotājiem. pie tam atceries ka tev gadījumā ja apstrādā vienu kanālu un otru nē, un pēc tam miksē kopā, tev jāņem vērā apstrādes laiks un jāaiztur arī otrs kanāls, savādāk radusies fāzu nobīde miksējot signālus radīs frekvenču līknes kropļojumus. Iepazīsties ar efektu Chorus, flanger un phaser darbības principiem, uz reiz paliks skaidrs.
    If it's worth doing, it's worth overdoing, right? / Tory Belleci, Mythbusters /

  6. #6
    Junior Member
    Aug 2006
    18

    Re: Audio kontrolieris

    Cik man zināms cilvēks taču fāzes izmaiņas nedzird.
    To problēmu varētu atrisināt pielietojot nevis battervorta, bet gan Beseļa filtru, ja nemaldos, tad tieši šim bija lineāra fāzes frekvenču raksturlīkne
    runājot par to aizturi, ka biju teicis auzturi biju izmērījis tieši FPGA iekšienē, kad datus saformēju no virknes uz pralalēlo un otrādāk , gan jau, ka pašā čipā ir aizture
    bet tieši, ka filtrā rodas aizture vajadzētu iedziļināties, jo izmantoju virknes fir filtrus tur ir augstāka clk frekvence, līdz ar to tas varētu paspēt laikā saformēt izejas signālus, žēl, ja nebūtu web edition versija, varētu caur signal tap analyzer paskatīties, nevajadzētu man te spriedelēt

    Vispār jau laba doma par to, ka varētu apstrādāt tikai vienu kanālu tad summēt utt (nebiju līdz tam aizdomājies) un klāt vēl pievienot kkādas fīčas, bet tas ar laiku, pagaidām būs jātiek skaidrībā ar FFT un IFFT, lai varētu uztaisīt ekvalaizeru

    P.S. paldies par ideju un padomu

  7. #7
    Moderator
    Mar 2008
    Ogre
    1,445

    Re: Audio kontrolieris

    Cik man zināms cilvēks taču fāzes izmaiņas nedzird.
    Jā un nē. Cilvēks nedzird kā aizbīdās fāze, taču fāzes nobīdes kā jau teicu izraisa frekvenču līknes kropļojumus ja tiek jaukti signāli kopā (kas notiek kaut vai akustiski, ja cilvēks dzird abas tumbas un vienaa pusē piem. fāze bīdās kādam komponentam). Tā pat cilvēks uztver fāzu nobīdi vienādiem signāliem, jo pēc tā + frekvenču raksturlīknes mūsu smadzenes nosaka objekta atrašanās vietu. Tie kas nodarbojas ar apskaņošanu vai mūziku uz reiz sapratīs ka fāzu nobīdes ir ļoti riebīga lieta. lai arī lielākā daļa tautas tiešām nedzird.
    If it's worth doing, it's worth overdoing, right? / Tory Belleci, Mythbusters /

  8. #8
    Junior Member
    Aug 2006
    18

    Re: Audio kontrolieris

    mkey ņemšu vērā, ja kko tādu veidošu!

  9. #9
    Moderator
    May 2007
    Rīga
    1,862

    Re: Audio kontrolieris

    Katrā ziņā interesants projekts. Būtu interesanti apskatīt bdf faila screenshotu.
    Ir 10 veidu cilvēki - tādi, kas saprot bināro kodu un tādi, kas nesaprot.

  10. #10
    Junior Member
    Aug 2006
    18

    Re: Audio kontrolieris

    [attachment=2:18ratye4]serial_to_parallel.jpg[/attachment:18ratye4]
         

+

  1. : 503
    : 04-12-2010, 00:43
  2. : 9
    : 30-03-2010, 18:23
  3. : 15
    : 20-11-2009, 13:33
  4. : 48
    : 14-02-2009, 17:44
  5. : 1
    : 22-06-2007, 12:54