ぼんさい塾

ぼんさいノートと補遺に関する素材や注釈です.ミスが多いので初稿から1週間を経た重要な修正のみ最終更新日を残しています.

離散コサイン変換 (2)

2013-04-29 11:08:31 | 暮らし
sys.pdf
sys-s.pdf
記事一覧

     DCT-Ⅱのためのアナログモデル

sys-D4S.pdf を sys-s.pdf に追加しました.

各種 DCT の定義は省略し,DCT としての DCT-Ⅱ,IDCT としての DCT-Ⅲ を原点を中心にしたデルタ関数列のモデルで説明しています.割愛した事項が多いので,気が向けば補足します.
※ (F2x)(t) = x(-t) なので,F と F-1 に関する公式は類似しています.しかし,応用上は x(t) の原点はどこでも大して変わりませんが,(Fx)(0) は直流成分なので原点をシフトしたくありません --- DCT に DCT-Ⅱ,IDCT に DCT-Ⅲ を用いるのは極めて自然です."DCT-Ⅱ" は "yet another DCT !" ?


離散コサイン変換 (1)

2013-04-27 22:01:19 | 暮らし
sys.pdf
sys-s.pdf
記事一覧
 
        周期信号の偶数点DFT(ページD4S%)

金沢工大で行われている武部先生の信号処理のゼミに関するメモです.

離散コサイン変換(DCT)は[1]で詳しく説明されていますが,Webで閲覧できる解説はあまり多くないようです.離散時間の信号処理の話にデルタ関数列を持ち出す必要はないのですが,興味のある諸君は気楽に眺めてください --- 古くから研究されている分野なのであちこちで書かれていると思いますが,論文ではないので調査は省略します.
※ 使用する記号は sys-s.pdf の BAR%(フーリエ変換)に準じています.


[1] マルチメディア技術の基礎DCT(離散コサイン変換)入門 - CQ出版社
  http://www.cqpub.co.jp/hanbai/books/36/36791.htm
[2] 離散コサイン変換 - Wikipedia
  http://ja.wikipedia.org/wiki/%E9%9B%A2%E6%95%A3%E3%82%B3%E3%82%B5%E3%82%A4%E3%83%B3%E5%A4%89%E6%8F%9B
[3] 修正離散コサイン変換 - Wikipedia
  http://ja.wikipedia.org/wiki/%E4%BF%AE%E6%AD%A3%E9%9B%A2%E6%95%A3%E3%82%B3%E3%82%B5%E3%82%A4%E3%83%B3%E5%A4%89%E6%8F%9B
  英文は http://en.wikipedia.org/wiki/Modified_discrete_cosine_transform
[4] 離散コサイン変換
  http://laputa.cs.shinshu-u.ac.jp/~yizawa/InfSys1/advanced/dct/index.htm
[5] Algorithm_Lab/ch4/4.2.7 コサイン変換符号化方式
  http://www.sic.shibaura-it.ac.jp/~ohzeki/oz4c/c1/ch4/4.2.7/4.2.7_DCT.html
[6] MP3での数学
  http://www9.ocn.ne.jp/~hkato111/
[7] 修正離散コサイン変換のメリット(データ圧縮) - ずるやすみねこの ...
  http://blogs.yahoo.co.jp/zuruyasumineko2002/52271303.html
-------------------------
[8] 離散時間フーリエ変換 - Wikipedia
  http://ja.wikipedia.org/wiki/%E9%9B%A2%E6%95%A3%E6%99%82%E9%96%93%E3%83%95%E3%83%BC%E3%83%AA%E3%82%A8%E5%A4%89%E6%8F%9B
[9] 離散フーリエ変換 - Wikipedia
  http://ja.wikipedia.org/wiki/%E9%9B%A2%E6%95%A3%E3%83%95%E3%83%BC%E3%83%AA%E3%82%A8%E5%A4%89%E6%8F%9B


NetBeansによる演習 (19)

2013-04-19 00:37:40 | 暮らし
progJ.pdf
progJ-s.pdf
progJ-e.pdf

記事一覧

                      下記プログラムの実行結果

progJ.pdf の[#68%1] の変更例を progJ-e.pdf に追加しました.

//変更後の App61.java
package myapp;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*; //***
class Fig61 extends JPanel{
  Fig61( ){super( );
    setPreferredSize(new Dimension(300, 200));
    setBackground(Color.WHITE);
    setBorder(new LineBorder(Color.BLUE, 2)); //***
  }
  public void paintComponent(Graphics g){
    super.paintComponent(g);
    g.drawLine(0,0,200,200);
    g.setFont(new Font("MS ゴシック", 1, 24)); //***
    g.setColor(Color.RED); //***
    g.drawString("Hello", 50, 150);
    g.setColor(Color.YELLOW); //***
    g.fillOval(150, 50, 100, 50); //***
    g.setColor(Color.BLACK); //***
    g.drawOval(150, 50, 100, 50);
    g.clearRect(200, 0, 20, 200); //***
  }
}
public class App61 extends App52 {
  JPanel p1;
  App61( ){
    super( ); setSize(350, 300);
    p1 = new JPanel( );
    Container cp = getContentPane( );
    try{Thread.sleep(3000);}catch(Exception e){ } //***
    tf1.setText("Hello"); //***
    p1.add(new Fig61( )); cp.add(p1);
  }
  public static void main(String[ ] args) {
    EventQueue.invokeLater(new Runnable( ) { //***
      public void run( ) {new App61( );} //***
    }); //***
  }
}
//App52.java
package myapp;
import java.awt.*; import javax.swing.*;
import java.awt.event.*;
class App52 extends App50 implements ActionListener {
  App52( ){super( );
    b1.setText("hello");
    /*------------------------------------
    b1.setText("Dec2Bin");
    tf1.setText("123");
    ------------------------------------*/
    b1.addActionListener(this);
  }
  public void actionPerformed(ActionEvent e) {
    String s = tf1.getText( );
    tf1.setText("Hello, " + s);
    /*------------------------------------
    int m, n = 0;
    try{n = Integer.parseInt(s); s = "";}
    catch(Exception ex){n = -1;}
    if(n < 0){tf1.setText("?"); return;}
    for(m = 1; m     while(m > 1){
      m /= 2;
      if(n >= m){s = s + "1"; n = n - m;}
      else{s = s + "0";}
    }
    tf1.setText(s);
    ------------------------------------*/
  }
  public static void main(String[ ] args) {
    new App52( );
  }
}
//App50.java
package myapp;
import java.awt.*; import javax.swing.*;
class App50 extends JFrame implements Runnable {
  JTextField tf1; JButton b1;
  App50( ){super("myApp");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(250, 105);
    setLayout(new FlowLayout( ));
    tf1 = new JTextField("tf1", 20);
    b1 = new JButton("b1");
    Container f0 = getContentPane( );
    f0.add(tf1); f0.add(b1);
    setVisible(true);
  }
  public void run( ){ }
  public static void main(String[ ] args) {
    App50 app = new App50( );
  }
}


Uspensky

2013-04-18 13:37:04 | 暮らし
記事一覧
                                            不完全性定理の表現 [1]

2013-04-14 の「tweet」で紹介した [1] を読み始めましたが‘抜書き’は作成しません.“Godel's theorem can be taught to first-year college students.”ということなので,上記の表現に興味のある諸君はチャレンジしてください(末尾に問題と略解).
※ 太字の L は language alphabet,斜体の TL( 正規表現では L* )の部分集合である true statements の集合,太字の P は proof alphabet,斜体の PP の部分集合,δ は 写像 δ:Δ → L ( P ⊆ Δ ⊆ P ) を表わしています(たまに使用するフォントが違っています).〈P, P, δ〉が 〈L, T 〉に関して無矛盾であることは δ(P ) ⊆ T で表現します.

[1] Godel's incompleteness theorem* - Moscow State University ...
 http://lpcs.math.msu.su/~uspensky/bib/Uspensky_1994_TCS_Godels_incompleteness_theorem.pdf
[2] ゲーデルの不完全性定理 - Wikipedia
  http://ja.wikipedia.org/wiki/%E3%82%B2%E3%83%BC%E3%83%87%E3%83%AB%E3%81%AE%E4%B8%8D%E5%AE%8C%E5%85%A8%E6%80%A7%E5%AE%9A%E7%90%86
[3] 不完全性定理 - 哲学的な何か、あと科学とか
  http://www.h5.dion.ne.jp/~terun/doc/fukanzen.html
[4] 不完全性定理の最短理解 - 小人さんの妄想
  http://d.hatena.ne.jp/rikunora/20080524/p1