⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 code.m

📁 一个matlab写的golomb coder
💻 M
字号:
%a golomb coder write by linghan liu 2008
%first to encode the code to numbers count by nomuber of 0's
clear
a = input('code');
y=length(a);
count0=0;
count1=0;

z(1)=0;
c=2;
for i=1:y
    if (a(i)==0)
        count0=count0+1;
        count1=0;
    else
        count1=count1+1;

    end
    if (count1 ==1)&&(count0>0)
        z(c)=count0;
        c=c+1;
        count0=0;
    end
end
finalcode=[];
%the second part to encode the rise code
for d= 1:length(z);
    x=z(d);
    m=3;
    b=ceil(log2(m));
    q=floor((x-1)/m);
    r=rem(x,m);   %find out the q and the remander

    if q>=1
        for i=1:q

            v(i)=1;      %write q onesand 
        end
        v(i+1)=0;       %write one zero

    else
        v=0;
    end
    if r < 2b - m
        bits=b-1;
    else
        bits=b;
    end
    c=bits;
    for i=1:bits
        if r>=1
            k=rem(r,2);
            r=floor(r/2);
        else k=0;
        end
        re(c)=k;
        c=c-1;
    end
    encode =[v re];
    
    finalcode=[finalcode,encode];
end
finalcode1=num2str(finalcode);
finalcodes=strrep(finalcode1,' ','')

⌨️ 快捷键说明

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