adconverter2.m

来自「两个函数都是用hopfield神经网络实现4位的A/D转换。采用不同的结构得到不」· M 代码 · 共 52 行

M
52
字号
function ADConverter2()

BitNum = 4;
X = rand(1,1000)*(2^BitNum);
Y = zeros(1,1000);
m = zeros(1,BitNum);
for i = 1:BitNum
    m(i) = 2^(i-1);
end

T = zeros(BitNum);
I = zeros(1,BitNum);
for i = 1:BitNum-1
    for j = i + 1 :BitNum
        T(i,j) = 2^(j-1);
    end
end

for i =  1:BitNum
    I(i) = 2^(i-1);
end
    
for k = 1:1000
    Vs = X(k);

    V1 = ones(1,BitNum);
    V = zeros(1,BitNum);
    while(~isequal(V1,V))
        V1 = V;
        for i = 1:BitNum
            if(i<BitNum)
                V(i) = sum(T(i,i+1:BitNum) .* V1(i+1:BitNum)) + I(i) - Vs;
            else
                V(i) = I(i) - Vs;
            end

            if(V(i) > 0)
                V(i) = 0;
            else
                V(i) = 1;
            end
        end
    end
    
    Y(k) = sum(V.*m);
end
scatter(X,Y,0.001);


   

⌨️ 快捷键说明

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