Relations between DST_IV and DST_II

Contents

Definitions

Result of transform is y=x*T, where y, x are row-vectors T is transform matrix

DST_IV matrix definition

N=8;
DST4=sin(pi/N*((0:N-1)+1/2)'*((0:N-1)+1/2))
DST4 =
    0.0980    0.2903    0.4714    0.6344    0.7730    0.8819    0.9569    0.9952
    0.2903    0.7730    0.9952    0.8819    0.4714   -0.0980   -0.6344   -0.9569
    0.4714    0.9952    0.6344   -0.2903   -0.9569   -0.7730    0.0980    0.8819
    0.6344    0.8819   -0.2903   -0.9952   -0.0980    0.9569    0.4714   -0.7730
    0.7730    0.4714   -0.9569   -0.0980    0.9952   -0.2903   -0.8819    0.6344
    0.8819   -0.0980   -0.7730    0.9569   -0.2903   -0.6344    0.9952   -0.4714
    0.9569   -0.6344    0.0980    0.4714   -0.8819    0.9952   -0.7730    0.2903
    0.9952   -0.9569    0.8819   -0.7730    0.6344   -0.4714    0.2903   -0.0980

DST_II matrix definition

DST2=sin(pi/N*((0:N-1)+1)'*((0:N-1)+1/2))
DST2 =
    0.1951    0.5556    0.8315    0.9808    0.9808    0.8315    0.5556    0.1951
    0.3827    0.9239    0.9239    0.3827   -0.3827   -0.9239   -0.9239   -0.3827
    0.5556    0.9808    0.1951   -0.8315   -0.8315    0.1951    0.9808    0.5556
    0.7071    0.7071   -0.7071   -0.7071    0.7071    0.7071   -0.7071   -0.7071
    0.8315    0.1951   -0.9808    0.5556    0.5556   -0.9808    0.1951    0.8315
    0.9239   -0.3827   -0.3827    0.9239   -0.9239    0.3827    0.3827   -0.9239
    0.9808   -0.8315    0.5556   -0.1951   -0.1951    0.5556   -0.8315    0.9808
    1.0000   -1.0000    1.0000   -1.0000    1.0000   -1.0000    1.0000   -1.0000

Finding relations

We use already derived relation between DCTIII and DCTIV matrices

where

By using transposition relation between DSTII and DSTIII matrices [1]

we can express matrix of DSTIV transform through DSTII transform matrix

B=diag(ones(1,N))+diag(ones(1,N-1),1);
D=2*diag(cos(pi/2/N*((0:N-1)+1/2)));

Check expression of DST_IV through DST_II

Check DSTIV matrix

B'*DST2*inv(D)
ans =
    0.0980    0.2903    0.4714    0.6344    0.7730    0.8819    0.9569    0.9952
    0.2903    0.7730    0.9952    0.8819    0.4714   -0.0980   -0.6344   -0.9569
    0.4714    0.9952    0.6344   -0.2903   -0.9569   -0.7730    0.0980    0.8819
    0.6344    0.8819   -0.2903   -0.9952   -0.0980    0.9569    0.4714   -0.7730
    0.7730    0.4714   -0.9569   -0.0980    0.9952   -0.2903   -0.8819    0.6344
    0.8819   -0.0980   -0.7730    0.9569   -0.2903   -0.6344    0.9952   -0.4714
    0.9569   -0.6344    0.0980    0.4714   -0.8819    0.9952   -0.7730    0.2903
    0.9952   -0.9569    0.8819   -0.7730    0.6344   -0.4714    0.2903   -0.0980

Check computation of DSTIII transform

x=randn(1,N);
y=x*DST4             % true result
y1=x*B'*DST2*inv(D)  % compute DSTIV using DSTII transform
y =
    2.9419   -1.0097    0.9790    3.4707    0.3799   -1.0055    2.0668    2.2381
y1 =
    2.9419   -1.0097    0.9790    3.4707    0.3799   -1.0055    2.0668    2.2381

Check expression of DST_II through DST_IV

Check DSTIV matrix

inv(B')*DST4*D
ans =
    0.1951    0.5556    0.8315    0.9808    0.9808    0.8315    0.5556    0.1951
    0.3827    0.9239    0.9239    0.3827   -0.3827   -0.9239   -0.9239   -0.3827
    0.5556    0.9808    0.1951   -0.8315   -0.8315    0.1951    0.9808    0.5556
    0.7071    0.7071   -0.7071   -0.7071    0.7071    0.7071   -0.7071   -0.7071
    0.8315    0.1951   -0.9808    0.5556    0.5556   -0.9808    0.1951    0.8315
    0.9239   -0.3827   -0.3827    0.9239   -0.9239    0.3827    0.3827   -0.9239
    0.9808   -0.8315    0.5556   -0.1951   -0.1951    0.5556   -0.8315    0.9808
    1.0000   -1.0000    1.0000   -1.0000    1.0000   -1.0000    1.0000   -1.0000

Check computation of DSTIV transform

y=x*DST2             % true result
y1=x*inv(B')*DST4*D  % compute DSTIV using DSTII transform
y =
    3.1918   -1.0852    2.7970    2.6310   -0.6952    0.4823    2.9646   -0.1100
y1 =
    3.1918   -1.0852    2.7970    2.6310   -0.6952    0.4823    2.9646   -0.1100

Reference

[1] Markus Pueschel, Jose M.F. Moura. The Algebraic Approach to the Discrete Cosine and Sine Transforms and their Fast Algorithms SIAM Journal of Computing 2003, Vol. 32, No. 5, pp. 1280-1316.