vqcode.m

来自「wav声音文件的通过多脉冲激励编码器」· M 代码 · 共 38 行

M
38
字号
function codeBook=VQcode(codeNum,CodeBoundary,parameter,dim1,dim2,filename)
codeBook=zeros(dim1,dim2,codeNum);
fidin=fopen(filename,'w'); 

    for i=1:dim1
        for j=1:dim2
            if CodeBoundary(1)<0 & CodeBoundary(2)>0
            parameter(i,j)
            parameterEnlarge(i,j)=round(parameter(i,j)*10000);
            CodeBoundarylow=round(CodeBoundary(1)*10000);
            parameterEnlarge(i,j)=parameterEnlarge(i,j)-CodeBoundarylow;
            code=dec2base(parameterEnlarge(i,j),2)
            else
            parameter(i,j)
              if parameter(i,j)>CodeBoundary(1)
                  parameter(i,j)=parameter(i,j)-CodeBoundary(1);
              else
                  parameter(i,j)=0;
              end
            code=dec2base(parameter(i,j),2)
            end
             if length(code)<codeNum
                  for k=1:codeNum-length(code)
                      code=['0',code];
                  end
             end
             code
             fprintf(fidin,'%s\n',code); 
        
        end
    end

fclose(fidin); 



    

⌨️ 快捷键说明

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