apcmreal.m

来自「matlab 通信仿真。好」· M 代码 · 共 56 行

M
56
字号
function y=Apcmreal(x)

% 本函数实现国际通用的PCM量化A律13折线特性近似
% x为输入的序列,变换后的值赋给序列y

x=x/max(x);
z=sign(x);
x=abs(x);

for i=1:length(x)
    if((x(i)>=0)&(x(i)<1/64))
        y(i)=16*x(i);
        plot(x(i),y(i),'bo');
        hold on;
    else if (x(i)>=1/64&x(i)<1/32)
            y(i)=8*x(i)+1/8;
            plot(x(i),y(i),'ro');
            hold on;
            
        else if (x(i)>=1/32&x(i)<1/16)
                y(i)=4*x(i)+2/8;
                plot(x(i),y(i),'bo');
                hold on;
                
            else if (x(i)>=1/16&x(i)<1/8)
                    y(i)=2*x(i)+3/8;
                    plot(x(i),y(i),'go');
                     hold on;
                    
                else if (x(i)>=1/8&x(i)<1/4)
                        y(i)=x(i)+4/8;
                        plot(x(i),y(i),'mo');
                         hold on;
                        
                    else if (x(i)>=1/4&x(i)<1/2)
                            y(i)=(1/2)*x(i)+5/8;
                            plot(x(i),y(i),'yo');
                            hold on;
                            
                        else if (x(i)>=1/2&x(i)<=1)
                                y(i)=(1/4)*x(i)+6/8;
                                plot(x(i),y(i),'ko');
                                hold on;
                                
                            end
                        end
                    end
                end
            end
        end
    end
end
y=z.*y;

grid on;

⌨️ 快捷键说明

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