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

📄 rsframe.java

📁 reed-solomon编码的java实现
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        blackboard.append(str + "\n");
        str = "i is the data information before encoding.";
        blackboard.append(str + "\n");
        str = "Press ENTER for validate your value !";
        blackboard.append(str + "\n");
        break;
      case 11 : 
        str = "--- What is I ? ---";
        blackboard.append(str + "\n");
        str = "I is the data information after decoding.";
        blackboard.append(str + "\n");
        break;
      case 12 : 
        str = "--- What is c ? ---";
        blackboard.append(str + "\n");
        str = "c is the code word.";
        blackboard.append(str + "\n");
        str = "That means c is the data information after coding.";
        blackboard.append(str + "\n");
        break;
      case 13 : 
        str = "--- What is e ? ---";
        blackboard.append(str + "\n");
        str = "e is the code error.";
        blackboard.append(str + "\n");
        str = "Press ENTER for validate your value !";
        blackboard.append(str + "\n");
        break;
      case 14 : 
        str = "--- What is d ? ---";
        blackboard.append(str + "\n");
        str = "d is the code word + code error.";
        blackboard.append(str + "\n");
        break;
      case 15 : 
        str = "--- What is D ? ---";
        blackboard.append(str + "\n");
        str = "D is the code word corrected.";
        blackboard.append(str + "\n");
        break;
      case 16 : 
        str = "--- What is i(x) ? ---";
        blackboard.append(str + "\n");
        str = "i(x) is the data information polynomial before encoding.";
        blackboard.append(str + "\n");
        break;
      case 17 : 
        str = "--- What is I(x) ? ---";
        blackboard.append(str + "\n");
        str = "I(x) is the data information polynomial after decoding.";
        blackboard.append(str + "\n");
        str = "We have : I(x) = D(x) / X^2t .";
        blackboard.append(str + "\n");
        break;
      case 18 : 
        str = "--- What is c(x) ? ---";
        blackboard.append(str + "\n");
        str = "c(x) is the code word polynomial.";
        blackboard.append(str + "\n");
        break;
      case 19 : 
        str = "--- What is e(x) ? ---";
        blackboard.append(str + "\n");
        str = "e(x) is the code error polynomial.";
        blackboard.append(str + "\n");
        break;
      case 20 : 
        str = "--- What is d(x) ? ---";
        blackboard.append(str + "\n");
        str = "d(x) is the code receive polynomial, d(x) = c(x) + e(x) .";
        blackboard.append(str + "\n");
        break;
      case 21 : 
        str = "--- What is D(x) ? ---";
        blackboard.append(str + "\n");
        str = "D(x) is the code receive polynomial corrected, D(x) = d(x) + v(x) .";
        blackboard.append(str + "\n");
        break;
      case 22 : 
        str = "--- What is g(x) ? ---";
        blackboard.append(str + "\n");
        str = "g(x) is the generator polynomial.";
        blackboard.append(str + "\n");
        str = "g(x) = (x - a)(x - a^2)...(x - a^2t).";
        blackboard.append(str + "\n");
        str = "Where a = alpha, a root of the primitive polynomial P(x).";
        blackboard.append(str + "\n");
        break;
      case 23 : 
        str = "--- What is s(x) ? ---";
        blackboard.append(str + "\n");
        str = "s(x) is the syndrome polynomial.";
        blackboard.append(str + "\n");
        str = "s(x) = S2t.x^2t-1 + ... + S3.x^2 + S2.x + S1   with   Si = d(a^i).";
        blackboard.append(str + "\n");
        str = "Where a = alpha, a root of the primitive polynomial P(x).";
        blackboard.append(str + "\n");
        break;
      case 24 : 
        str = "--- What is L(x) ? ---";
        blackboard.append(str + "\n");
        str = "L(x) = K.l(x), where l(x) is the locator polynomial, and K a constant.";
        blackboard.append(str + "\n");
        str = "It is given by the Euclid algorithm based on the fundamental relation : l(x).s(x) = w(x) + u(x).x^2t .";
        blackboard.append(str + "\n");
        break;
      case 25 : 
        str = "--- What is W(x) ? ---";
        blackboard.append(str + "\n");
        str = "W(X) = K.w(x) is the evaluator polynomial, and K a constant.";
        blackboard.append(str + "\n");
        str = "It is given by the Euclid algorithm based on the fundamental relation : l(x).s(x) = w(x) + u(x).x^2t .";
        blackboard.append(str + "\n");
        break;
      case 26 : 
        str = "--- What is U(x) ? ---";
        blackboard.append(str + "\n");
        str = "U(x) = K.u(x) is the co-evaluator polynomial, and K a constant.";
        blackboard.append(str + "\n");
        str = "It is given by the Euclid algorithm based on the fundamental relation : l(x).s(x) = w(x) + u(x).x^2t .";
        blackboard.append(str + "\n");
        break;
      case 27 : 
        str = "--- What is p(x) ? ---";
        blackboard.append(str + "\n");
        str = "p(x) is the position error polynomial.";
        blackboard.append(str + "\n");
        str = "A non zero factor give the position of error location. The factors are given with the root of L(x).";
        blackboard.append(str + "\n");
        str = "For exemple : p(x) = 7X^5 .";
        blackboard.append(str + "\n");
        str = "Also, the position 5 of c(x) is an error block, and 7=a^-5 is a root of L(x).";
        blackboard.append(str + "\n");
        break;
      case 28 : 
        str = "--- What is v(x) ? ---";
        blackboard.append(str + "\n");
        str = "v(x) is the value error polynomial.";
        blackboard.append(str + "\n");
        str = "A non zero factor give the value of the error block at this location.";
        blackboard.append(str + "\n");
        str = "It is given by W(b)/L'(b) where b is a root of L(x) and L'(x) is the derivate polynomial of L(x).";
        blackboard.append(str + "\n");
        str = "For exemple : p(x) = 7X^5 and v(x) = 3X^5 , 7 is a root of L(x) and 3 = W(7)/L'(7) .";
        blackboard.append(str + "\n");
        str = "We have : D(x) = d(x) + v(X) .";
        blackboard.append(str + "\n");
        break;
    }
  }

  public polynomial getPolynomialSelected()
  {
    polynomial polynomialSelected;

    polynomialSelected = null;
    switch(indexPolynomial)
    {
      case 1 : 
        polynomialSelected = rs.messageSend;
        break;
      case 2 : 
        polynomialSelected = rs.messageReceive;
        break;
      case 3 : 
        polynomialSelected = rs.codeSend;
        break;
      case 4 : 
        polynomialSelected = rs.codeError;
        break;
      case 5 : 
        polynomialSelected = rs.codeReceive;
        break;
      case 6 : 
        polynomialSelected = rs.codeCorrected;
        break;
      case 7 : 
        polynomialSelected = rs.generator;
        break;
      case 8 : 
        polynomialSelected = rs.syndrome;
        break;
      case 9 : 
        polynomialSelected = rs.locator;
        break;
      case 10 : 
        polynomialSelected = rs.evaluator;
        break;
      case 11 : 
        polynomialSelected = rs.coevaluator;
        break;
      case 12 : 
        polynomialSelected = rs.errorPosition;
        break;
      case 13 : 
        polynomialSelected = rs.errorValue;
        break;
    }
    return polynomialSelected;
  }

  public void writePolynomial()
  {
    String str = new String("");
    String pol = new String("");
    polynomial polynomialSelected;

    pol = choicePolynomial.getSelectedItem();
    polynomialSelected = getPolynomialSelected();
    if (polynomialSelected != null)
    {
      str = rs.polynomialToString(polynomialSelected);
      blackboard.append(pol + " " + str + "\n");
    }
  }

  public void writeEvaluatedPolynomial()
  {
    String str = new String("");
    polynomial ps;
    int x,v,d;

    str = textFieldX.getText();
    x = Integer.parseInt(str,10); 
    x = rs.gf.inField(x);
    ps = getPolynomialSelected();
    v = rs.eval(ps,x);
    d = rs.evald(ps,x);
    str = choicePolynomial.getSelectedItem();
    blackboard.append(str + v + " for x = " + x + "\n");
    blackboard.append("derivate of " + str + d + " for x = " + x + "\n");
  }

  public void windowClosing(WindowEvent event)
  {
  }
  
  public void windowClosed(WindowEvent event)
  {
  }
  
  public void windowDeiconified(WindowEvent event)
  {
  }
  
  public void windowIconified(WindowEvent event)
  {
  }
  
  public void windowActivated(WindowEvent event)
  {
  }
  
  public void windowDeactivated(WindowEvent event)
  {
  }
  
  public void windowOpened(WindowEvent event)
  {
  }
  
  public void actionPerformed(ActionEvent evt)
  {
    int i;
    String str;

    Object source = evt.getSource();
    if (source == buttonQuit) 
    { 
      dispose();
    }
    if (source == buttonRandom) 
    { 
      makeRandom();
      rs.processing();
      writeAllValue();
      writePolynomial();
    }
    if (source == buttonClear) 
    { 
      rs.clear(rs.messageSend);
      rs.clear(rs.codeError);
      rs.processing();
      writeAllValue();
      writePolynomial();
    }
    if (source == buttonBlank) 
    {
      blackboard.setText("");
    }
    if (source == textFieldInformationSend) 
    {
      str = textFieldInformationSend.getText();
      i = Integer.parseInt(str,10); 
      i = rs.gf.inField(i);        
      rs.messageSend.coefficient[indexInformation] = i;
      rs.messageSend.degree = rs.degree(rs.messageSend);
      rs.processing();
      writeAllValue();
      writePolynomial();
    }
    if (source == textFieldCodeError) 
    {
      str = textFieldCodeError.getText();
      i = Integer.parseInt(str,10); 
      i = rs.gf.inField(i);        
      rs.codeError.coefficient[indexError] = i;
      rs.codeError.degree = rs.degree(rs.codeError);
      rs.processing();
      writeAllValue();
      writePolynomial();
    } 
    if (source == textFieldX) 
    {
      writeEvaluatedPolynomial();       
    } 
 }

  public void adjustmentValueChanged(AdjustmentEvent evt)

  {
    int i;
    String str;

    Object source = evt.getAdjustable();
    if (source == scrollbarLeft) 
    {       
      indexInformation = evt.getValue();
      writeAllValue();
    }
    if (source == scrollbarRight) 
    {       
      indexError = evt.getValue();
      writeAllValue();
    }
  }

  public void itemStateChanged(ItemEvent evt)
  {
    int i;
    String str;

    Object source = evt.getItemSelectable();
    if (source == choiceHelp) 
    {       
      indexHelp = choiceHelp.getSelectedIndex();
      writeHelp();
    }
    if (source == choicePolynomial) 
    {       
      indexPolynomial = choicePolynomial.getSelectedIndex();
      writePolynomial();
    }
  }

}

⌨️ 快捷键说明

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