codeword16_512.m

来自「基于哈德码变换域的快速矢量量化编码Matlab程序」· M 代码 · 共 83 行

M
83
字号
clear all;
load codebook16_512;
k=256;
N=512;
%哈德码变换
HY=hadamard(k);
Y=[];
y=[];
%码字
for j=1:N
    for i=1:k
        y(j,i)=I10(j,i);
    end
end
y=y';
Y1=HY*y;
Y=Y1;

%按各码字哈德码变换的第一维分量大小对码书进行升序排列
for i=1:N-1
    for j=i+1:N
        if Y(1,j)<Y(1,i)
            for s=1:k
                t=Y(s,j);
                Y(s,j)=Y(s,i);
                Y(s,i)=t;
            end
        end
    end
end
Q=[];
for i=1:N
    q=i;
    for j=1:N
        if Y(1:k,i)==Y1(1:k,j)
            q=j;
            break;
        end
    end
    Q=[Q,q];
end

U=[];
R=Q;
for i=1:N
    U=[U,Y1(1:k,R(i))];
end


        
%Q=[];
%for i=1:N-1
%    q=i;
%    for j=i+1:N
%        if Y(1,j)<Y(1,q)
%            q=j;
%            for s=1:k
%                t=Y(s,q);
%                Y(s,q)=Y(s,i);
%                Y(s,i)=t;
%            end
%        end
%    end
%    Q=[Q,q];
%end
%Q=[];
%for i=1:N-1
%    q=i;
%    for j=i+1:N
%        if Y(1,j)<Y(1,i)
%            q=j;
%            for s=1:k
%                t=Y(s,j);
%                Y(s,j)=Y(s,i);
%                Y(s,i)=t;
%            end
%        end
%    end
%    Q=[Q,q];
%end

    
        

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?