View Single Post
Old 9th June 2006, 04:26   #19  |  Link
Rockaria
nobody's nobody
 
Join Date: Mar 2005
Location: The Sun, somewhere around
Posts: 553
Well, I don't have the matlab, nor could find a corresponding plugin for avisynth yet.
Which is why I want to share my idea looking for positive contributions from anybody talented and equipped.
Below is my draft plan to figure out the closest DPL II model for s/w emulations, possibly in a very OPEN, independant, objective, fair and fully reflected but economic way.

Now some more tests are included such as 'the verification of the Hilbert() algo' as well as many other essential considerations to go through the proper approach & procedure.
If the minimum test environment is not setup soon, I am going to add the results in my original thread when available.

1. prepare proper tools & organize the test.
. s/w tools : matlab or avisynth/sox with proper plugin(esp. for 90 deg phase shift)
. resource orgarnizer : an independant user with proper DPL II understanding, s/w tools, h/w equips, resources.
. refined model : the orgarnizer refines the test procedures & models
. prepare, test, report and share the results

2. prepare a 6ch mixed original source for full channel complexity and easy identification
The DPL II encoding with avisynth is listed in the below thread.(for models m12, m22)
http://forum.doom9.org/showpost.php?...0&postcount=82
<avs 6ch clips mixing example>
spk=DirectShowSource("SSWAV06.m4a")
muz=DirectShowSource("6chmusic.m4a")
...
mxx=MixAudio(spk, muz, 0.4, 1)
..
dpl2Enc(mxx, 0.7071, 0.7071, 0.866, -0.5, -0.5, 0.866)
...

3. identify the weights of orginal matrices : including the coefficients on rears to be shared on each channel, with no phase shifts(passive)
Code:
<mxA> : widely used for s/w encoding
DPL II   Lf      Rf      C        Ls      Rs 
Lt        1.000 0.000  0.7071  0.866    0.5 
Rt        0.000 1.000  0.7071  0.5      0.866 

<mxB> : Wikipedia one, possibly from Dolby
DPL II   Lf      Rf      C        Ls      Rs 
Lt        1.000 0.000  0.707   0.8165   0.5774 
Rt        0.000 1.000  0.707   0.5774   0.8165
4. identify target DPL II models(formula) to compare
<m11>
Lt = mix(Lf.0°, C.0°, Ls1.-90°, Rs2.-90°) == mix(mix(Lf, C), mix(Ls1, Rs2).-90°)
Rt = mix(Rf.0°, C.0°, Ls2.+90°, Rs1.+90°) == mix(mix(Lf, C), mix(Ls2, Rs1).+90°)
<m12> rears(m11).-90°
Lt = mix(Lf.0°, C.0°, Ls1.-180°, Rs2.-180°) == mix(mix(Lf, C),-mix(Ls1, Rs2))
Rt = mix(Rf.0°., C.0°., Ls2.0°, Rs1.0°} == mix(Rf, C, Ls2, Rs1)
<m13> m11.-90° == m11?
Lt = mix(Lf.-90°, C.-90°, Ls1.-180°, Rs2.-180°) == mix(mix(Lf, C).-90°,-mix(Ls1, Rs2))
Rt = mix(Rf.-90°, C.-90°, Ls2.0°, Rs1.0°) == mix(mix(Rf, C).-90°, mix(Ls2, Rs1))
...
<m21>
Lt = mix(Lf.0°, C.0°, Ls1.+90°, Rs2.-90°) == mix(mix(Lf, C), Ls1.+90°, Rs2.-90°)
Rt = mix(Rf.0°, C.0°, Ls2.-90°, Rs1.+90°) == mix(mix(Rf, C), Ls2.-90°, Rs1.+90°)
<m22> rears(m21).-90°
Lt = mix(Lf.0°, C.0°, Ls1.0°, Rs2.-180°) == mix(mix(Lf, C, Ls1),-Rs2)
Rt = mix(Rf.0°, C.0°, Ls2.-180°, Rs1.0°) == mix(mix(Rf, C, Rs1),-Ls2)
...

When -180° = -, +90° = Hilbert(), -90° = -180°.+90° = -.+90°

5. perform the verification of Hilbert() algo if any useful, with m12 * mxA
<m12>
Lt = mix(Lf.0°, C.0°, Ls1.-180°, Rs2.-180°) == mix(mix(Lf, C), -mix(Ls1, Rs2)})
Rt = mix(Rf.0°, C.0°, Ls2.0°, Rs1.0°) == mix(Rf, C, Ls2, Rs1)
<-180° = -(+90°.+90°) == -Hilbert().Hilbert()>
Lt = mix(Lf.0°, C.0°, Ls1.-90°.-90°, Rs2.-90°.-90° == mix(mix(Lf, C), -mix(Ls1, Rs2).+90°.+90°)
Rt = mix(Rf.0°, C.0°, Ls2.0°, Rs1.0°)

6. verify if m13 == m11 with mxA
.discard m13 if identical or refine the 'phase shift' concept

7. verify if different phase shift degrees makes any difference with (m11, m12) * mxA
.discard the worse model

8. prepare & perform the seperation fidelity comparison with remaining candidates combination(matrices, models)
m11 * mxA : <reference1>
m11 * mxB :
m12 * mxA : <reference2>
m13 * mxA :

m21 * mxA : <reference3>
m21 * mxB :
m22 * mxA : <reference4>

9. conclusions
. the test orgarnizer share & report the test results
. users evaluate & verify the results(polls and/or posts)

Thanks,
__________________
u know everything in the end, or now if aligned... no right(x).right(y) pls. it's confusing... : phase-shift /Jun.2006
Rockaria is offline   Reply With Quote