(57)【要約】【課題】  雑音を含んだ複数のサンプル値から、少ない演算量で直近のサンプリング値における雑音を除去した推測値を得る。この値を用いることによりリアルタイムでフィードバック処理を行うことが出来る。【解決手段】  逐次入力された複数のサンプル値と複数の重み係数との積和演算（１４０，１４５）によって、前記複数のサンプル値の多項近似式の値を直近のサンプル点について直接的に算出し、該入力された信号に含まれる雑音信号を除去する。【選択図】  図８
2005140830.tif 000002
【特許請求の範囲】
【請求項１】
逐次入力された複数のサンプル値と複数の重み係数との積和演算によって、前記複数のサンプル値の多項近似式に比例する値を直近のサンプル点について直接的に算出し、該直近のサンプル値に含まれる雑音成分を除去する事を特徴とする雑音除去方法。
【請求項２】
逐次入力された複数のサンプル値と各サンプル点における多項式の値との自乗誤差を最小にするように該多項式の各係数が算出された多項近似式を用いて、直近のサンプル点における多項式近似値を直接的に求める事を特徴とする雑音除去方法。
【請求項３】
前記重み係数は、複数の前記サンプル値と各サンプル点における多項式の値との自乗誤差を最小にするように該多項式の各係数が算出された多項近似式によって求められた直近の前記サンプル点における多項式近似値を複数の前記サンプル値との積和演算の形式に変形した係数である
ことを特徴とする請求項１記載の雑音除去方法。
【請求項４】
請求項１ないし３の何れかに記載の雑音除去方法を実行することを特徴とする雑音除去装置。
【請求項５】
請求項１ないし３の何れかに記載の雑音除去方法を実行させることを特徴とするプログラム。
【請求項６】
請求項４記載の雑音除去装置を具備することを特徴とする自動演奏ピアノ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、信号成分以外の雑音を発生する機器に用いて好適な雑音除去方法、雑音除去装置、プログラムおよび自動演奏ピアノに関する。
【背景技術】
【０００２】
従来の自動演奏ピアノにおいては、各鍵を駆動するソレノイドと、各鍵の押下深さを計測するキーセンサとが設けられている。自動演奏ピアノに対して、押鍵イベント、打弦イベント等から成る演奏情報が供給されると、該演奏情報に基づいて各鍵のリファレンス軌道（鍵軌道の目標値）が生成され、各押鍵深さは上記キーセンサの検出信号に基づいて、リファレンス軌道に沿うようにサーボ制御される。なお、かかる技術は、例えば特許文献１に開示されている。
【特許文献１】特開平７−１７５４７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、一般的な機械装置と比較すると自動演奏ピアノには、木材、フェルト、布などアンリジッドな部品が多用されている。また、部品同士の結合部分にも遊びが多いため、センサの検出値には必然的に雑音が混入する。
この発明は上述した事情に鑑みてなされたものであり、直近のサンプリング値の正確な推測値を少ない演算量で得る雑音除去方法、雑音除去装置、プログラムおよび自動演奏ピアノを提供することを目的としている。
【課題を解決するための手段】
【０００４】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載の雑音除去方法にあっては、逐次入力された複数のサンプル値（サンプル値／正規化定数）と複数の重み係数（重み係数／正規化定数）との積和演算によって、前記複数のサンプル値の多項近似式に比例する値（多項近似式の値＊正規化定数）を直近のサンプル点について直接的に算出し、該直近のサンプル値に含まれる雑音成分を除去する事を特徴とする。
また、請求項２記載の雑音除去方法にあっては、逐次入力された複数のサンプル値と各サンプル点における多項式の値との自乗誤差を最小にするように該多項式の各係数が算出された多項近似式を用いて、直近のサンプル点における多項式近似値を直接的に求める事を特徴とする。
さらに、請求項３記載の構成にあっては、請求項１記載の雑音除去方法において、前記重み係数は、複数の前記サンプル値と各サンプル点における多項式の値との自乗誤差を最小にするように該多項式の各係数が算出された多項近似式によって求められた直近の前記サンプル点における多項式近似値を複数の前記サンプル値との積和演算の形式に変形した係数であることを特徴とする。
また、請求項４記載の雑音除去装置にあっては、請求項１ないし３の何れかに記載の雑音除去方法を実行することを特徴とする。
また、請求項５記載のプログラムにあっては、請求項１ないし３の何れかに記載の雑音除去方法を実行させることを特徴とする。
また、請求項６記載の自動演奏ピアノにあっては、請求項４記載の雑音除去装置を具備することを特徴とする。
【発明の効果】
【０００５】
このように、本発明の構成によれば、複数のサンプル値の多項近似式の値が直近のサンプル点について算出されるので、少ない計算量で雑音が除去された信号の値を直接的に得ることが出来る。さらに、複数のサンプル値の中央の推測値と中央の微分値の推測値とに基づいて間接的に直近のサンプル値の推測値を求める方法と比較して、高い精度で推測値を求めることができる。
【発明を実施するための最良の形態】
【０００６】
1．前提理論
1．1．サンプルの中心点での推測
雑音成分を含んだ測定波形からｎ個のサンプル値xj(j=-m〜m)を一定のサンプリング周期でサンプルした場合において、ｎ個のサンプル値xjは時刻ｔを変数とするＰ次多項式により近似される。一例として、押鍵深さを以下の２次多項式（１次多項式も含む。その場合はa=0）で近似する。
y = a*t2 + b*t + c
ここで、係数ａ，ｂ，ｃを、該２次多項式とサンプル値との自乗誤差を最小にするようにして算出する。たとえば、サンプル時刻 tj における測定値をxj とると、そのときの２次多項式の値yjは、
yj= a*tj2 + b*tj + c
となる。このとき、自乗誤差 E は
E = SIGMA(xj - yj )2 = SIGMA(xj -  a*tj2 - b*tj - c)2
であり、自乗誤差 E を最小にするように各係数ａ，ｂ，ｃの値が求められる。
すなわち、∂E/∂a = 0 を満たすように a の値が求められる。同様に ∂E/∂b = 0、 ∂E/∂c = 0 を満たすようにｂ，ｃの値が求められる。ここで、
m
Σ      を「SIGMA」と略記している。さらに、各係数ａ，ｂ，ｃは、
j=-m
(SIGMA(wj*xj))/W                                     [1]
の積和演算の形式に変形される。すなわち、重み係数wjとサンプル値xjとの積和演算の結果を正規化定数Wで除した形式に変形され、サンプル点の中央すなわちｊ＝０における鍵軌道が推測される。ここで、jはサンプル番号（ -m，…，0，…，m）であり、サンプル数は、n=2m+1である。
【０００７】
係数 a は、
a = (SIGMA(waj*xj))/Wa                                    [2]
Wa = T2*m(m+1)(2m+1)(2m+3)(2m-1)/15                       [3]
waj = 3j2 - m2 - m
= 3j2-m(m+1)                                          [4]
係数 b は
b = (SIGMA(wbj*xj))/Wb                                    [5]
Wb = T*m(m+1)(2m+1)/3                                     [6]
wbj = j                                                   [7]
係数 c は
c = (SIGMA(wcj*xj))/Wc                                    [8]
Wc = (2m+1)(2m+3)(2m-1)/3                                 [9]
wcj = 3m2 + 3m - 1 - 5j2
= -5j2+3m(m+1)-1                                     [10]
である。ここで、Ｔはサンプル周期である。なお、このときの係数ｃの値が、ｊ＝０における押鍵深さの推測値である。
【０００８】
ここで
A  加速度の推測値
Vc サンプル点中央（j=0）における速度推測値
V  サンプル点終端（j=m）における速度推測値
Xc サンプル点中央（j=0）における位置推測値
X  サンプル点終端（j=m）における位置推測値
とすると、これらと各係数との関係は
A = 2a                                                    [11]
Vc = b                                                    [12]
Xc = c                                                    [13]
V = Vc + A*m*T = b + 2a*m*T                               [14]
X = Xc + Vc*m*T + A/2*(m*T)2 = c + b*m*T + a(m*T)2          [15]
である。すなわち、サンプル点中央（j=0）およびサンプル点終端（j=m）における推測値が、最小自乗近似により求められた係数ａ，ｂ，ｃおよびサンプル周期Ｔにより算出される。
【０００９】
1．2．サンプル点終端における速度推測値（２次式）
さらに、複数のサンプル点の終端すなわち直近の値であるｊ＝ｍにおける速度推測値Ｖが、サンプル点中央における速度推測値Vc = b を用いて以下のように算出される。
[2][5][14]式より
V  = b + 2a*m*T
= (SIGMA(wbj*xj))/Wb + 2 (SIGMA(waj*xj))/Wa *m*T
が得られる。第一項も第二項も何れもSIGMAの加算範囲は−ｍからｍであるので、SIGMA内の各項がまとめられる。よって、以下の式が得られる。
V = SIGMA( (wbj*xj)/Wb + 2waj*xj/Wa*m*T )
= SIGMA( (wbj*Wa/T2 + 2waj*m*Wb/T)*xj ) / (WbWa/T2)       [21]
【００１０】
[21]に[3][4][6][7]式をあてはめると
分母 = T*m(m+1)(2m+1)/3 * T2*m(m+1)(2m+1)(2m+3)(2m-1)/15 /T2
= T*m2(m+1)2(2m+1)2(2m+3)(2m-1)/45                     [22]
分子 = SIGMA( (j * T2*m(m+1)(2m+1)(2m+3)(2m-1)/15 /T2
+ 2 (3j2-m(m+1)) m* T*m(m+1)(2m+1)/3 /T)*xj )
= m(m+1)(2m+1)/15*SIGMA( (30mj2 + (2m+3)(2m-1)j - 10m2(m+1))*xj )                                                                     [23]
になる。したがって、 V は、
V = SIGMA((30mj2+(2m+3)(2m-1)j-10m2(m+1))*xj)
/ (T*m(m+1)(2m+1)(2m+3)(2m-1)/3)                          [24]
と変形され、サンプル点終端における速度推測値が求められる。
【００１１】
これを式(SIGMA(wj*xj))/W の形式にあてはめると終端における押鍵速度V は
V = (SIGMA(wVj*xj))/WV                                        [25]
WV = T*m(m+1)(2m+1)(2m+3)(2m-1)/3                             [26]
wVj = 30mj2+(2m+3)(2m-1)j-10m2(m+1)                           [27]
となり、[1]と同じ積和演算の形式に変形される。ここで、重み係数wVjの値と正規化定数WVの値とを図１に示す。図において、横方向はｍの値および対応する正規化定数WVの値である。ｍの値はｍ＝２，３，４，…であり、サンプル点の数を表している。縦方向は、サンプル点ｊに対応する重み係数wVjである。これらの値をテーブルとして保持することにより、サンプル値xjとの積和演算によりサンプル値終端での押鍵速度Vが算出される。なお、最下欄は、ｍの値に対応する重み係数wVjの和の値を示す。
【００１２】
1．3．サンプル点終端における押鍵深さ推測値（２次式）
次に、ｊ＝ｍにおける押鍵深さＸは、[2][5][8][15]式より
X = c + b*m*T + a(m*T)2
= (SIGMA(wcj*xj))/Wc + (SIGMA(wbj*xj))/Wb *m*T + (SIGMA(waj*xj))/Wa *(m*T)2
と表される。第一項から第三項まで何れもSIGMAの加算範囲は−ｍからｍであり、同一であるので、SIGMA内の各項がまとめられる。
よって、次式が得られる。
X = SIGMA( (wcj*xj))/Wc + (wbj*xj)/Wb*m*T + (waj*xj))/Wa*(m*T)2 )
= SIGMA( (wcj*WbWa/T3 + wbj*m*WcWa/T2 + waj*m2*WcWb/T)*xj )/ (WcWbWa/T3)
[31]
【００１３】
[31]に[3][4][6][7][9][10]式をあてはめて
分母= (2m+1)(2m+3)(2m-1)/3 * T*m(m+1)(2m+1)/3 * T2*m(m+1)(2m+1)(2m+3)(2m-1)/15 /T3= m2(m+1)2(2m+1)3(2m+3)2(2m-1)2/135                            [32]
分子=SIGMA( ((-5j2+3m(m+1)-1) * T*m(m+1)(2m+1)/3 * T2*m(m+1)(2m+1)(2m+3)(2m-1)/15/T3+ j *m* (2m+1)(2m+3)(2m-1)/3 * T2*m(m+1)(2m+1)(2m+3)(2m-1)/15/T2+ (3j2-m(m+1)) *m2* (2m+1)(2m+3)(2m-1)/3 * T*m(m+1)(2m+1)/3 /T )*xj )
= m2(m+1)(2m+1)2(2m+3)(2m-1)2/45*SIGMA( (5j2 + (2m+3)j - (m+1)(m-1) )*xj ) 
[33]
となる。
【００１４】
したがって、 押鍵深さX は、
X = SIGMA((5j2+(2m+3)j-(m+1)(m-1))*xj) / ((m+1)(2m+1)(2m+3)/3)   [34]
と表される。
【００１５】
これを式 (SIGMA(wj*xj))/W の形にあてはめると押鍵深さ X は、
X = (SIGMA(wXj*xj))/WX                                         [35]
WX = (m+1)(2m+1)(2m+3)/3                                       [36]
wXj = 5j2+(2m+3)j-(m+1)(m-1)                                   [37]
となり[1]式と同じ積和演算形式に変形される。ここで、ｍの値と重み係数wXjおよび正規化定数WXとの関係を図２に示す。
【００１６】
1．4．３次式近似
上記の各推測値は、押鍵深さを２次多項式で近似して算出したが、以下の３次多項式を用いて、さらに高精度な近似を行うことも出来る。
y = a*t3 + b*t2 + c*t + d
ここで、２次式の場合と同様に、最小自乗近似により各係数ａ，ｂ，ｃ，ｄが算出される。
係数 a は
a = (ＳＩＧＭＡ(waj*xj))/Wa                             [42]
Wa = T3*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/35           [43]
waj = j(5j2 - 3m2 - 3m + 1)
= j(5j2-3m(m+1)+1)                                  [44]
係数 b は
b = (ＳＩＧＭＡ(wbj*xj))/Wb                             [45]
Wb = T2*m(m+1)(2m+1)(2m+3)(2m-1)/15                     [46]
wbj = 3j2-m2-m
= 3j2-m(m+1)                                        [47]
係数 c は
c = (ＳＩＧＭＡ(wcj*xj))/Wc                             [48]
Wc = T*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/5             [49]
wcj = j(15m4+30m3-15m+5 - (21m2+21m-7)j2)
= j(-7(3m(m+1)-1)j2+5(3m(m+1)((m+2)(m-1)+1)+1))     [50]
係数 d は
d = (ＳＩＧＭＡ(wdj*xj))/Wd                             [51]
Wd = (2m+1)(2m+3)(2m-1)/3                               [52]
wdj = 3m2 + 3m - 1 - 5j2
= -5j2+3m(m+1)-1                                    [53]
である。このときの係数ｄの値が、ｊ＝０における押鍵深さの推測値である。
このように、３次近似式によって求められた係数ｂと２次式によって求められた係数ａとが等しく、３次近似式によって求められた係数ｄと２次式によって求められた係数ｃとが等しい。
【００１７】
ここで
Ｊ ３次微分の推測値
Ac サンプル点中央（ｊ＝０）における加速度推測値
A  サンプル点終端（ｊ＝ｍ）における加速度推測値
Vc サンプル点中央（ｊ＝０）における速度推測値
V  サンプル点終端（ｊ＝ｍ）における速度推測値
Xc サンプル点中央（ｊ＝０）における位置推測値
X  サンプル点終端（ｊ＝ｍ）における位置推測値
とすると、これらと各係数との関係は、
J = 6a                                                  [54]
Ac = 2b                                                 [55]
Vc = c                                                  [56]
Xc = d                                                  [57]
A = Ac + J*m*T = 2b + 6a*m*T                            [58]
V = Vc + Ac*m*T + J/2*(m*T)2= c + 2b*m*T + 3a(m*T)2     [59]
X = Xc + Vc*m*T + A/2*(m*T)2 + J/6*(m*T)3
= d + c*m*T + b(m*T)2 + a(m*T)3                       [60]
である。
【００１８】
1．5．サンプル点終端における加速度推測値（３次式）
まず、複数のサンプル点の終端（ｊ＝ｍ）における加速度推測値Ａが、サンプル点中央における加速度推測値Ａｃ＝２ｂを用いて以下のように算出される。
[42][45][58]式より
A  = 2b + 6a*m*T
= 2 (ＳＩＧＭＡ(wbj*xj))/Wb + 6 (ＳＩＧＭＡ(waj*xj))/Wa *m*T
が得られる。第一項も第二項も何れもSIGMAの加算範囲は−ｍからｍであるので、SIGMA内の各項がまとめられる。よって、以下の式が得られる。
A = ＳＩＧＭＡ( 2wbj*xj/Wb + 6waj*xj/Wa*m*T )
= ＳＩＧＭＡ( (2wbj*Wa/T3 + 6waj*m*Wb/T2)*xj ) / (WbWa/T3) 
[61]
【００１９】
[61]式に[43][44][46][47]式をあてはめて
分母
=    T2*m(m+1)          (2m+1)(2m+3)(2m-1)/15
* T3*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/35 /T3
= T2*m2(m+1)2(m+2)(m-1)(2m+1)2(2m+3)2(2m-1)2/525                 [62]
分子
=ＳＩＧＭＡ( (2 (3j2-m(m+1))
* T3*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/35 /T3
+ 6 j(5j2-(3m2+3m-1)) *m
* T2*m(m+1)(2m+1)(2m+3)(2m-1)/15 /T2)*xj )
= m(m+1)(2m+1)(2m+3)(2m-1)/105
*ＳＩＧＭＡ( ( 6( 35mj3 + 3(m+2)(m-1)j2 - 7m(3m2+3m-1)j - m(m+1)(m+2)(m-1) )*xj )                                                     [63]
になる。
【００２０】
したがって、A は
A = ＳＩＧＭＡ(6(35mj3 + 3(m+2)(m-1)j2 - 7m(3m2+3m-1)j - m(m+1)(m+2)(m-1))*xj)
/ (T2*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/5)                    [64]
と変形され、サンプル値終端における加速度推測値が求められる。
【００２１】
これを式 (ＳＩＧＭＡ(wj*xj))/W の形にあてはめると終端における加速度推測値Ａ は
A = (ＳＩＧＭＡ(wAj*xj))/WA                                    [65]
WA = T2*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/5                   [66]
wAj = 6(35mj3 + 3(m+2)(m-1)j2 - 7m(3m2+3m-1)j - m(m+1)(m+2)(m-1))
= 6(35mj3+3(m+2)(m-1)j2-7m(3m(m+1)-1)j-m(m+1)(m+2)(m-1))   [67]
となり[1]と同じ積和演算の形式に変形される。ここで、ｍの値を変化した場合における、重み係数ｗＡｊおよび正規化定数ＷＡの各値を図３に示す。
【００２２】
1．6．サンプル値終端における速度推測値（３次式）
次に、ｊ＝ｍにおける押鍵速度Ｖは、[42][45][48][59]式より
V = c + 2b*m*T + 3a(m*T)2
= (ＳＩＧＭＡ(wcj*xj))/Wc + 2 (ＳＩＧＭＡ(wbj*xj))/Wb *m*T + 3 (ＳＩＧＭＡ(waj*xj))/Wa *(m*T)2
となる。
【００２３】
第一項も第二項も何れもSIGMAの加算範囲は−ｍからｍであるので、SIGMA内の各項がまとめられる。よって、以下の式が得られる。
V = ＳＩＧＭＡ( (wcj*xj))/Wc + 2(wbj*xj)/Wb*m*T + 3(waj*xj))/Wa*(m*T)2 )
= ＳＩＧＭＡ( (wcj*WbWa/T5 + 2wbj*m*WcWa/T4 + 3waj*m2*WcWb/T3)*xj )
/ (WcWbWa/T5)                                        [71]
【００２４】
[71]式に[43][44][46][47][49][50]式をあてはめて、
分母
=    T*  m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/5
* T2*m(m+1)          (2m+1)(2m+3)(2m-1)/15
* T3*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/35 /T5
= T*m3(m+1)3(m+2)2(m-1)2(2m+1)3(2m+3)3(2m-1)3/2625              [72]
分子
=ＳＩＧＭＡ( ( j(-7(3m2+3m-1)j2 + 5(3m4+6m3-3m+1))
* T2*m(m+1)          (2m+1)(2m+3)(2m-1)/15
* T3*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/35 /T5
+ 2 (3j2-m(m+1)) *m
* T*  m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/5
* T3*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/35 /T4
+ 3 j(5j2-(3m2+3m-1)) *m2
* T*  m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/5
* T2*m(m+1)(2m+1)(2m+3)(2m-1)/15 /T3 )*xj )
= m2(m+1)2(m+2)(m-1)(2m+1)2(2m+3)2(2m-1)2/525
*ＳＩＧＭＡ( 7(12m2-3m+1)j3 + 18m(m+2)(m-1)j2
+ (-48m4-33m3+21m2-15m+5)j - 6m2(m+1)(m+2)(m-1) )*xj )
[73]
が得られる。
【００２５】
よって 、速度推測値Ｖ は
V = ＳＩＧＭＡ( 7(12m2-3m+1)j3 + 18m(m+2)(m-1)j2
- (48m4+33m3-21m2+15m-5)j - 6m2(m+1)(m+2)(m-1) )*xj )
/ (T*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/5)
[74]
となる。
【００２６】
これを式 (ＳＩＧＭＡ(wj*xj))/W の形に当てはめると、押鍵速度V は
V = (ＳＩＧＭＡ(wVj*xj))/WV                                     [75]
WV = T*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/5                   [76]
wVj = 7(12m2-3m+1)j3 + 18m(m+2)(m-1)j2
- (48m4+33m3-21m2+15m-5)j - 6m2(m+1)(m+2)(m-1)
= 7(3m(4m-1)+1)j3 + 18m(m+2)(m-1)j2
- (3m(m(m(16m+11)-7)+5)-5)j - 6m2(m+1)(m+2)(m-1)       [77]
となり[1]と同じ積和演算形式に変形される。ここで、ｍの値を変化した場合における、重み係数ｗＶｊおよび正規化係数ＷＶの値を図４に示す。
【００２７】
1．7．サンプル値終端における押鍵深さ推測値（３次式）
次に、ｊ＝ｍにおける押鍵深さＸは、[42][45][48][51][60]式より
X =  d + c*m*T + b(m*T)2 + a(m*T)3
= (ＳＩＧＭＡ(wdj*xj))/Wd + (ＳＩＧＭＡ(wcj*xj))/Wc *m*T
+ (ＳＩＧＭＡ(wbj*xj))/Wb *(m*T)2 + (ＳＩＧＭＡ(waj*xj))/Wa *(m*T)3
となる。
【００２８】
第一項も第二項も何れもSIGMAの加算範囲は−ｍからｍであるので、SIGMA内の各項がまとめられる。よって、以下の式が得られる。  
X = ＳＩＧＭＡ( (wdj*xj))/Wd + (wcj*xj)/Wc*m*T
+ (wbj*xj))/Wb*(m*T)2 + (waj*xj))/Wa*(m*T)3 )
= ＳＩＧＭＡ( (wdj*WcWbWa/T6 + wcj*m*WdWbWa/T5 + wbj*m2*WdWcWa/T4
+ waj*m3*WdWcWb/T3)*xj )/ (WdWcWbWa/T6)          [81]
【００２９】
[81]式に[43][44][46][47][49][50][52][53]式をあてはめて
分母
=                        (2m+1)(2m+3)(2m-1)/3
* T*  m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/5
* T2*m(m+1)          (2m+1)(2m+3)(2m-1)/15
* T3*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/35 /T6
= m3(m+1)3(m+2)2(m-1)2(2m+1)4(2m+3)4(2m-1)4/7875          [82]
分子
=ＳＩＧＭＡ( ( (-5j2+3m2+3m-1)
* T*  m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/5
* T2*m(m+1)          (2m+1)(2m+3)(2m-1)/15
* T3*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/35 /T6
+ j(-7(3m2+3m-1)j2 + 5(3m4+6m3-3m+1)) *m
*                     (2m+1)(2m+3)(2m-1)/3
* T2*m(m+1)          (2m+1)(2m+3)(2m-1)/15
* T3*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/35 /T5
+ (3j2-m(m+1)) *m2
*                     (2m+1)(2m+3)(2m-1)/3
* T*  m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/5
* T3*m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/35 /T4
+ j(5j2-(3m2+3m-1)) *m3
*                     (2m+1)(2m+3)(2m-1)/3
* T*  m(m+1)(m+2)(m-1)(2m+1)(2m+3)(2m-1)/5
* T2*m(m+1)(2m+1)(2m+3)(2m-1)/15 /T3 )*xj )
= m3(m+1)2(m+2)(m-1)2(2m+1)3(2m+3)3(2m-1)4/7875
*ＳＩＧＭＡ( ( 35j3 + 15(m+2)j2 - 5(3m2-5)j - 3(m+1)(m+2)(m-1) )*xj )
となる。
【００３０】
したがって、押鍵深さX は、
X = ＳＩＧＭＡ( ( 35j3 + 15(m+2)j2 - 5(3m2-5)j - 3(m+1)(m+2)(m-1) )*xj )
/ ((m+1)(m+2)(2m+1)(2m+3))                            [84]
と表される。
【００３１】
これを式 (ＳＩＧＭＡ(wj*xj))/W の形にあてはめると係数 X は
X = (ＳＩＧＭＡ(wXj*xj))/WX                               [85]
WX = (m+1)(m+2)(2m+1)(2m+3)                               [86]
wXj = 35j3 + 15(m+2)j2 - 5(3m2-5)j - 3(m+1)(m+2)(m-1)
[87]
となり[1]と同じ積和演算形式に変形される。ｍの値を変化した場合における重み係数ｗＸｊおよび正規化係数ＷＸの値を図５に示す。
【００３２】
すなわち、２次式で近似した場合、３次式で近似した場合の何れも、重み係数wXおよび正規化定数WXの値をテーブルとして記憶することにより、サンプル値終端の推測値を求めることが出来る。
【００３３】
2．実施例の構成
2．1．ハードウェア構成
本発明の一実施例である自動演奏ピアノ（雑音除去装置）のハードウェア構成を図６に示す。
図において、１０はソレノイドであり、電流制御によりプランジャ部分が軸方向に変位する。２０はハンマセンサであり、一次側にフォトダイオード、二次側にフォトトランジスタを設けたフォトセンサを、２個、並列して設けたセンサである。なお、一方のフォトセンサが遮光状態になってから双方のフォトセンサが遮光状態になるまでの時間差から打弦タイミングと打弦速度とが検出される。２５は変位検出型キーセンサであり、押下位置を検出して、そのデータをアナログ出力する。２７はフォトセンサ型キーセンサであり、ハンマセンサと同様の原理で、キーオンタイミングと押鍵速度とを検出する。
【００３４】
３０はＰＷＭ発生器であり、矩形波電流のパルス幅を可変することにより、ソレノイド１０に供給される平均電流を制御する。３５はＡ／Ｄ変換器であり、変位検出型キーセンサ２５から出力されたアナログ信号をデジタル信号に変換する。３７はＩ／Ｏインターフェースであり、ハンマセンサ２０およびフォトセンサ型キーセンサ２７の出力信号を波形整形する。なお、ソレノイド１０、ハンマセンサ２０、変位検出型キーセンサ２５、フォトセンサ型キーセンサ２７、Ｉ／Ｏインターフェース３７は、鍵盤の各鍵にそれぞれ設けられる。４０はフレキシブルディスクドライブであり、演奏情報等を記憶したフレキシブルディスクが挿入される。５０はＣＰＵであり、後述するアルゴリズムに基づいて各部を制御する。５２はフラッシュＲＯＭであり、パラメータおよびプログラムならびに前述したテーブルが記憶されている。５４はＲＡＭであり、ＣＰＵ５０のワークメモリとして使用される。なお、変位検出型キーセンサ２５によって検出された変位情報が位置記憶レジスタの値としてＲＡＭ５４内に記憶される。６０はバスラインであり、各部を接続する。以上の要素により、自動演奏ピアノ１００が構成される。
【００３５】
2．2．鍵部の機構
次に、自動演奏ピアノの鍵部の概要構成を図７に示す。
図において７０は鍵であり、バランスピン８０によって揺動自在に支持されている。また、演奏情報記録用のキー位置センサ２７は、鍵７０の前方（図上右側）下面に対向して設けられている。鍵７０の前方下面には、該フォトセンサ型キーセンサ２７を遮光する遮光板７５が鍵７０の下方に向かって突出するように設けられている。１５はプランジャであり、ソレノイド１０の一部を構成し、ソレノイド１０に供給される電流により上下方向に変位し、鍵７０を駆動する。９０はアクション機構であり、鍵７０の運動をハンマ２に伝達する。４は弦であり、ハンマ２によって打弦される。６はダンパであり、弦４を制動する。
【００３６】
また、ＣＰＵ５０によって実行される機能は、記録メディアあるいはリアルタイム通信装置から供給される演奏情報に基づいて、鍵の軌道リファランスを生成する再生前処理部１１０と、供給された軌道リファランスと変位検出型キーセンサ２５の出力信号すなわち各時刻における鍵７０の位置とに対応した制御信号を生成し該制御信号に応じた励磁電流をソレノイド１０に供給するモーション制御部１２０と、ハンマセンサ２０およびフォトセンサ型キーセンサ２７の出力信号に基づいて演奏情報を記憶する演奏記録部１３０と、この演奏情報に対して各種補正を行う記録後処理部１５０とから構成されている。
【００３７】
ここで、本自動演奏ピアノは消音機能を有するものであるが、これはハンマが打弦する直前にハンマの回動を阻止する構成を有するものであって、具体的には、ハンマシャンクの回動を阻止するストッパ（図示略）を設けるものである。そして通常演奏時には、このストッパをハンマの回動を阻止しない位置に配置し、消音演奏時にはこのストッパをハンマの回動を阻止しない位置に配置するものである。このようなストッパを有する消音機構は公知のものを使用すればよく、その詳細構成についての説明を省略する。
【００３８】
3．自動演奏ピアノの動作
3．1．演奏情報記録段階
本実施例の自動演奏ピアノ１００の動作は、図示しないコントローラにおける記録指示に基づき実際に演奏者が演奏を行いその演奏情報を記録する演奏情報記録段階と、図示しないコントローラにおける再生指示に基づき該演奏情報に基づいて演奏を自動的に再生する再生段階とに区分される。
演奏情報記録段階においては、操作者によって演奏が行われる。すなわち、押鍵操作に連動してハンマによる打弦が行われる。それにより、ハンマセンサ２０によって打弦タイミングと打弦速度とが検出され、フォトセンサ型キーセンサ２７によって、キーオンタイミングと押鍵速度とが検出される。そして、演奏記録部１３０により、何れの鍵を押鍵したかという情報であるキーコードと共に、これらの押鍵速度、打弦速度、キーオンタイミング、打弦タイミングが、演奏情報としてＲＡＭ５４に記憶される。同様に、キーオフタイミング、離鍵速度、キーコードが記憶される。次に、記録後処理部１５０により、例えばイベント抜け等の不具合が修正され、その結果得られた最終的な演奏情報の全体がフレキシブルディスクに記録される。
【００３９】
3．2．再生段階
再生段階においては、再生前処理部１１０により、フレキシブルディスクから演奏情報が読み込まれ、該演奏情報に基づいて特許文献１記載の技術により、押鍵深さを表す軌道リファランスが生成される。そして、モーション制御部１２０にあっては、この軌道リファランスを目標値として、鍵７０の押鍵深さ、押鍵速度がサーボ制御される。ここで、押鍵深さ、押鍵速度の目標値は軌道リファランスに基づいて一意に得られるが、変位検出型キーセンサ２５によって検出された押鍵深さには雑音が混入されるので、その影響を除去する必要がある。その処理の詳細を図９を参照し説明する。
【００４０】
図９において処理がステップＳＰ２に進むと、ＲＡＭ５４内に設けられた位置記憶レジスタｙ0〜ｙ6の値が「０」にリセットされる。なお、位置記憶レジスタｙ0〜ｙ6は、過去「７」サンプルに渡る変位検出型キーセンサ２５の実測値を記憶するためのレジスタである。次に、処理がステップＳＰ４に進むと、サンプリング間隔に相当する所定時間Ｔだけ処理が待機される。次に、処理がステップＳＰ６に進むと、変位検出型キーセンサ２５からの入力信号をＡＤ変換した結果が取得される。
【００４１】
次に、処理がステップＳＰ８に進むと、このステップＳＰ６において得られた値が正規化される。すなわち、鍵７０や変位検出型キーセンサ２５等には個体差があるため、正規化処理により、この個体差が補償される。次に処理がステップＳＰ１０に進むと、位置記憶レジスタｙ0〜ｙ6の内容が「１」段階だけシフトされる。すなわち、元々位置記憶レジスタｙ0〜ｙ5に記憶されていた内容が、各々位置記憶レジスタｙ1〜ｙ6にシフトされる。次に、処理がステップＳＰ１２に進むと、先にステップＳＰ８によって得られた、正規化された押鍵位置が位置記憶レジスタｙ0に記憶される。すなわち、ここでは過去「７」サンプルが直近の位置として逐次更新される。
【００４２】
次に、処理がステップＳＰ１４に進むと、位置記憶レジスタｙ0〜ｙ6の内容および重み係数ｗＶｊ，正規化係数ＷＶの値に基づいて、直近の押鍵速度Ｖが算出される。すなわち、図１においてｍ＝３（ｎ＝７）の欄を参照すると、重み係数ｗＶｊは「ｊ＝−３〜３」の範囲において「７，−２，−７，−８，−５，２，１３」であるから、これらの値が各々位置記憶レジスタｙ6，ｙ5，ｙ4，ｙ3，ｙ2，ｙ1，ｙ0の内容に乗算され、これら乗算結果の総和が求められ、求められた総和が正規化係数ＷＶ（＝「２８」）で除算され、この除算結果が直近の押鍵速度Ｖの推定値になる。
【００４３】
次に、処理がステップＳＰ１６に進むと、位置記憶レジスタｙ0〜ｙ6の内容および重み係数ｗＸｊ，正規化係数ＷＸの値に基づいて、直近の押鍵深さＸが算出される。すなわち、図２においてｍ＝３（ｎ＝７）の欄を参照すると、重み係数ｗＶｊは「ｊ＝−３〜３」の範囲において「５，−３，−６，−４，３，１５，３２」であるから、これらの値が各々位置記憶レジスタｙ6，ｙ5，ｙ4，ｙ3，ｙ2，ｙ1，ｙ0の内容に乗算され、これら乗算結果の総和が求められ、求められた総和が正規化係数ＷＸ（＝「４２」）で除算され、この除算結果が直近の押鍵深さＸの推定値になる。以下、ステップＳＰ４〜ＳＰ１６の処理が繰り返されることにより、直近の押鍵速度Ｖおよび押鍵深さＸの推定値が逐次算出される。そして、これらの推定値と目標値との差分に基づいて、鍵７０がサーボ制御される。
【００４４】
次に、図９において説明した処理と等価なアルゴリズムのブロック図を図８に示す。
まず、ＲＡＭ５４に設けられた位置記憶レジスタｘｊ（ｊ＝−３，…，３）の値が「０」に初期化される。次に、鍵盤７０の押鍵深さ情報が、変位検出型キーセンサ２５の機能（変位検出ユニット１２５）を介して検出される。そして、Ａ／Ｄ変換ユニット１３５によって、変位検出型キーセンサ２５のアナログ出力がデジタルデータに変換され、検出された押鍵深さが位置記憶レジスタｘｊ（ｊ＝３）に記憶される。なお、時刻ｔ＝０においては、押鍵状態でないので、「０」の値が位置記憶レジスタｘｊ（ｊ＝３）に記憶される。
【００４５】
次に、フラッシュＲＯＭ５２から重み係数ｗＸｊと正規化定数ＷＸの値が読み出される。図２によれば、具体的な値はサンプル番号ｊ＝−３，−２，−１，０，１，２，３のときに、重み係数ｗＸｊ＝５，−３，−６，−４，３，１５，３２であり、正規化定数ＷＸ＝４２である。次に、［３５］式に基づいて、次式の積和演算が実行される。
X = (SIGMA(wXj*xj))/WX 
すなわち、位置生成ユニット１４０によって、サンプル値ｘｊと重み係数ｗＸｊとが積和演算され、その積和演算結果が正規化定数ＷＸ＝４２によって除算される。それにより、サンプル値終端（ｊ＝３）における押鍵深さの推測値Ｘが算出される。
【００４６】
同様に、フラッシュＲＯＭ５２から重み係数ｗＶｊと正規化定数ＷＶの値が読み出される。図１によれば、具体的な値はサンプル番号ｊ＝−３，−２，−１，０，１，２，３のときに、重み係数ｗＶｊ＝７，−２，−７，−８，−５，２，１３であり、正規化定数ＷＶ＝２８である。［２５］式に基づいて、次式の積和演算が実行される。
V = (SIGMA(wVj*xj))/WV
すなわち、速度生成ユニット１４５によって、サンプル値ｘｊと重み係数ｗＶｊとが積和演算され、その積和演算結果が規格化定数ＷＸ＝２８によって除算される。それにより、サンプル値終端（ｊ＝３）における押鍵速度Ｖの推測値が算出される。
【００４７】
一方、鍵７０はソレノイド１０の駆動によって回動するように構成されている。したがって、検出された鍵７０の押鍵深さの推測値Ｘおよび押鍵速度の推測値Ｖが目標鍵軌道データの押鍵深さあるいは押鍵速度に近づくように、ソレノイド１０に供給される電流がＰＷＭ発生器３０を介して制御され、鍵軌道が再生される。そして、ソレノイド１０によって駆動された鍵７０に連動して、アクション機構のハンマが打弦する。
【００４８】
次に、位置記憶レジスタの内容がシフトされる。すなわち、ｘｊ（ｊ＝３）の値がｘｊ（ｊ＝２）にシフトされる。同時に、ｘｊ（ｊ＝２）の内容がｘｊ（ｊ＝１）にシフトされる。以下同様に、ｘｊ（ｊ＝−２）の内容がｘｊ（ｊ＝−３）にシフトされ、ｘｊ（ｊ＝−３）の内容が廃棄される。シフト完了後再び、変位検出型キーセンサ２５によって検出された押鍵深さが位置記憶レジスタｘｊ（ｊ＝３）に記憶され、積和演算およびソレノイド１０の駆動が一定時間間隔で繰り返され、鍵軌道が時々刻々制御される。
【００４９】
以上のように本実施例によれば、変位検出型キーセンサ２５の出力データが多項式により近似されるので、該データに含まれるノイズが除去される。すなわち、フィードバック制御に好適な信号が得られる。また、サンプル値終端の推測値を直接求めることが出来るため、サンプル値中央の推測値に（微分値＊ｍ＊サンプリング周期）の値を乗じてサンプル値終端の推測値を求める場合よりも計算量が少ない。
【００５０】
4．変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能であり、全て本発明の範疇に含まれる。
（１）上記実施例においては、鍵の駆動を行ったがペダルの駆動を行ってもよい。また、管楽器等の操作子を有する楽器に応用することが可能である。
（２）上記実施例においては、自動演奏ピアノの押鍵深さを検出した信号に雑音除去方法を使用したが、産業用ロボットその他の装置に使用することが出来る。
【００５１】
（３）上記実施例においては、重み係数wjとサンプル値xjとの積和演算した結果を正規化定数Wで除算したが、サンプル値xjを正規化定数Wで除算した値と重み係数wjとの積和演算を行ってもよい。また、重み係数wjの値を正規化係数Ｗによって除した値とサンプル値xjとの積和演算を行うこともできるし、この重み係数wjの値を正規化係数Ｗによって除した値をテーブルとして記憶しておくこともできる。さらに、入力信号に比例したサンプル値xjと重み係数wjとの積和演算した結果、すなわち変位、速度に比例する値を、正規化定数Wで除算せずに、制御信号として使用することも出来る。
（４）上記実施例においては、サンプル値を２次, ３次多項式で近似して算出された重み係数、正規化係数を用いたが、より高次の多項式で近似した重み係数、正規化係数を用いてもよい。
【００５２】
（５）上記実施例においては、フラッシュＲＯＭ５２に格納されたプログラムによって雑音除去方法を実行したが、パーソナルコンピュータ上で動作するアプリケーションプログラムによっても実行することが出来る。このアプリケーションプログラムをＣＤ−ＲＯＭ、フレキシブルディスク等の記憶媒体に格納して頒布し、あるいは電気通信回線を通じて頒布してもよい。
（６）また、位置の記憶はシフトレジスタに限られるものではなく、リングバッファなど適切な構成を用いればよい。なお、リングバッファを用いる場合は、内容のシフトではなく、参照アドレスを変更するだけでよい。
（７）上記実施例においては、位置記憶レジスタｘｊ（ｊ＝−３，…，３）の値が「０」に初期化されたが、初期値は「０」でなくてもよい。例えば、そのときの系の運動状態を把握しておき、それに対応する初期値を設定してもよい。
（８）また、上記実施例においては、サンプル数ｎを奇数にしたが、これは偶数であってもよい。また、サンプリング間隔も等間隔でなくてもよい。これらの場合は、それぞれに適した重み付け係数、正規化係数を求めて適用するとよい。
【００５３】
5．実施態様
本発明には、以下のような実施態様がある。
（１）  前記サンプル点の数は、サンプル番号j＝-m からm までの（2m+1）個であり、
前記多項近似式は、前記入力された信号についての２次近似式であり、
j番目のサンプル値に対する前記重み係数は、｛5j2+(2m+3)j-(m+1)(m-1) ｝に比例する値である
ことを特徴とする請求項１記載の雑音除去方法。
【００５４】
（２）  前記サンプル点の数は、サンプル番号j＝-m からm までの（2m+1）個であり、
前記多項近似式は、前記入力された信号の微分についての２次近似式であり、
j番目のサンプル値に対する前記重み係数は、｛30mj2+(2m+3)(2m-1)j-10m2(m+1)｝に比例する値である
ことを特徴とする請求項１記載の雑音除去方法。
【００５５】
（３）  前記サンプル点の数は、サンプル番号j＝-m からm までの（2m+1）個であり、
前記多項近似式は、前記入力された信号についての３次近似式であり、
j番目のサンプル値に対する前記重み係数は、｛35j3 + 15(m+2)j2 - 5(3m2-5)j - 3(m+1)(m+2)(m-1) ｝に比例する値である
ことを特徴とする請求項１記載の雑音除去方法。
【００５６】
（４）  前記サンプル点の数は、サンプル番号j＝-m からm までの（2m+1）個であり、
前記多項近似式は、前記入力された信号の微分についての３次近似式であり、
j番目のサンプル値に対する前記重み係数は、｛7(3m(4m-1)+1)j3 + 18m(m+2)(m-1)j2- (3m(m(m(16m+11)-7)+5)-5)j - 6m2(m+1)(m+2)(m-1) ｝に比例する値である
ことを特徴とする請求項１記載の雑音除去方法。
【００５７】
（５）  前記サンプル点の数は、サンプル番号j＝-m からm までの（2m+1）個であり、
前記多項近似式は、前記入力された信号の２階微分についての３次近似式であり、
j番目のサンプル値に対する前記重み係数は、｛6(35mj3+3(m+2)(m-1)j2-7m(3m(m+1)-1)j-m(m+1)(m+2)(m-1))  ｝に比例する値である
ことを特徴とする請求項１記載の雑音除去方法。
【図面の簡単な説明】
【００５８】
【図１】２次式近似における押鍵速度Ｖを算出するための重み係数および正規化定数を示す表である。
【図２】２次式近似における押鍵深さＸを算出するための重み係数および正規化定数を示す表である。
【図３】３次式近似における加速度Ａを算出するための重み係数および正規化定数を示す表である。
【図４】３次式近似における押鍵速度Ｖを算出するための重み係数および正規化定数を示す表である。
【図５】３次式近似における押鍵深さＸを算出するための重み係数および正規化定数を示す表である。
【図６】本発明の一実施例である自動演奏ピアノのブロック図である。
【図７】鍵部の機構図である。
【図８】制御データを生成するためのアルゴリズム構成図である。
【図９】制御データを生成するためのアルゴリズムのフローチャートである。
【符号の説明】
【００５９】
１０…ソレノイド、２０…ハンマセンサ、２５…変位検出型キーセンサ、２７…フォトセンサ型キーセンサ、３０…ＰＷＭ発生器、３５…Ａ／Ｄ変換器、３７…Ｉ／Ｏインターフェース、４０…フレキシブルディスクユニット、５０…ＣＰＵ、５２…フラッシュＲＯＭ、５４…ＲＡＭ、６０…バスライン、７０…鍵、８０…バランスピン、９０…アクション機構、１００…自動演奏ピアノ（雑音除去装置）、１２５…変位検出ユニット、１３５…Ａ／Ｄ変換ユニット、１４０…位置生成ユニット、１４５…速度生成ユニット。
【図１】
2005140830.tif 000003
【図２】
2005140830.tif 000004
【図３】
2005140830.tif 000005
【図４】
2005140830.tif 000006
【図５】
2005140830.tif 000007
【図６】
2005140830.tif 000008
【図７】
2005140830.tif 000009
【図８】
2005140830.tif 000010
【図９】
2005140830.tif 000011