20 channels system (with active cross over)

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
I want to design and create a 7.1 system.

I want 4 way L/R and a 3 way for the center channel.
The rest 4 channel will be 2 way, and finally the .1 will be one channel.

Bandwidth will be >20x200Khz x 24 bit=96 Mbits/sec

I plan to use a Pc with an open source player to play 1080p matroska files.
I will add code to the player in order to have DRC and digital cross over.
Then I will send the data to the gigabit Ethernet port using a private protocol.

The protocol will include block of data, each one will be 3bytes x20 channel

One device will receive the data. This device wiil be a FPGA with gigabit ethernet that will send the data to the ESS DAC with minimum jitter.
One ESS for the L and another for the R. (Another module for the center)
So L,R,C will be use the same design for the DAC, (but I will use only 3 channel for the central instead of 4). For the rest channel I will use another ESS DAC (4 speaker with 2 ways= 8 channel.)

So in the end for the DACs I will have 2 designs and 4 boards (L,R,C -> same design)
The L,R,C board will be close to the associate Speakers. The 4 board will have power from special car audio batteries in order to have clean power. Special care will be in the jitter issue.
For the twiter I will use Class A, DIY amplifier using power from the special car audio batteries
Off course I will design the speakers...
My dedicate playroom is 4m x 7 m x 2.7 m

I will start with the fpga selection.


I am open to discussion & suggestion






PS
1)I will post all the information regarding this project
2)Sorry for my English,
 
General block diagramm

So far the general block diagram is presented in the attached pdf file.

Is it anybody interested in this project?
I really like to have few other diyres to participate in this project.




PS
I am not a professional, It is a hoby :)
the license of this work/project is General Public License ( GPL )
 

Attachments

  • block diagram.pdf
    21.9 KB · Views: 93
Thank you for yours advice :)

I understand the complexity of this project,
The ideal solution would be to design and build an DIY AV receiver with at least, 7.1 (HDMI 1.3) input and 20 channels I2s output plus control lines. (The AV receiver must Powerful enough ( fpa ) in order to calculate DRC and cross over , in real time )
I have to find a solution for the encryption :-(


No need for vista/Xp/Linux audio drivers/programing
Universal player


The control of the device would be nice to be using web interface (wireless and or wire ethernet)


I will continue the search ... If i have any progress in the design, I will post.

PS
a) The design must have maximum flexibility
b) There is no DIY / AV receiver sub forum in the diyAudio Forum....
 
This is my idea of the device. I am just a linux guy, no FPGA experience. Thus I would avoid the programmable arrays part, and use a suitable linux PC instead.

The filters would use CUDA (not that I could program it now, I just know it is relatively easily doable), I believe the performance is at least comparable to the fastest arrays, with much easier programming using regular PC development tools.

Output - 20 channels means 10 I2S lines. I do not know of any sound card with so many outputs (perhaps some of the RME brand, maybe some of the partially supported EMU cards?). I like the fully documented ICE1724 cards with 4xI2S and their well-tested and verified linux driver. Getting 3 of the cheapest cards available (ebay?), synchronizing their clock like in http://quicktoots.linuxaudio.org/toots/el-cheapo/ and creating a single virtual multichannel device should do the job. ICE1724 offers a number of GPIOs, the ice1724.c driver is already prepared for adding a GPIO control element for user-space control.

I know it would be an ugly beast with no smart PCBs, on the other hand it would use regular technology available to many people, requiring no special equipment and knowledge.

But the input - proprietary protocol means proprietary driver for the major OSes, incl. the various Windows clones. No easy job I guess. Unfortunately there is no standardized multiplatform protocol for raw audio data transmission. Perhaps netjack could be ported to windows, but using jackdmp in windows takes some knowledge.

Pulseaudio should run on windows now, but not as a client connecting to linux server. Though google reveals some posts about streaming from windows to linux pulseaudio via netcat.exe, it is using LineInCode, capturing the analog output - uff. The virtual pulseaudio sound card for windows is sorely needed.


Just my 2 cents...
 
Yeah you are right at 11.5 megabytes/second with 20 channels @ 192/24. This is at the limit of 100mbps ethernet. It is most likely that this will saturate the line when other network traffic and tcp overhead is taken into account. There is an option of using gigabit ethernet. You could install a gig-e card in the computer, connect it to a gig-e hub, and create 2 seperate dac boards with 10x 24-bit dacs on them, each operating at 100mbps. The cuda solution for doing the FIR is probably your best one, as the code for generating the custom packets could be integrated into the same application. Still, the most difficult task is writing vhdl code for the fpga boards and designing the output circuitry, although offloading the actual fir filtering on the CUDA architecture makes this task 2 orders of magnitude easier.
 
FIR resources

192000 x 32768 (tap) x (4 ways) x (2 L/R)
192000 x 32768 (tap) x (3 ways) x (1 C)
192000 x 32768 (tap) x (2 ways) x (4 surround [7.1] )


So 120 GMACs .... :-(

Is it possible to have 120Gmac with CUDA ?
Or I need the state of the art FPGA ? (Expensive ... [Xilinx Virtex-5 FPGA ?])
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.