5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

ディジタル信号処理について語ろう

1 :ウルトラマン:03/11/06 23:09 ID:Pud/chqP
ディジタル信号処理について語ろう。
先ずは難しいのはどうしてか?

2 :名無しさん@3周年:03/11/06 23:19 ID:u/HhBNiF
>>1



3 :名無さん@3周年:03/11/06 23:21 ID:wlspGFAG
2番ゲット

先ずは、これを読む。
世界的に有名なProakisのディジタル信号処理の教科者
http://www.kagaku.co.jp/DSP/DSP.htm
ついでにProakisのディジタルコミュニケーションも
http://www.kagaku.co.jp/cdma/Digitalcom.htm

次にMatlabを流暢に扱えるようになる。
http://www.mathworks.fr/access/helpdesk/jhelp/toolbox/signal/signal.shtml

そうすると難しく思わなくなる。終わり


4 :名無しさん@3周年:03/11/07 00:14 ID:dIKgE4O0
理解しようとするから難しくなるんだよ、きっと。

5 :名無しさん@3周年:03/11/07 01:08 ID:D5LW5Q10
アナログ信号処理と何か違うんでしたっけ?

6 :名無しさん@3周年:03/11/07 02:42 ID:1g3ZaHF4
>>5
公式・定石をプログラムに落とすと動きます。

7 :名無さん@3周年:03/11/07 11:08 ID:GPl0b5aA
さっさとプログラムを作ってシミュレーションする。
それの繰り返しだ。

8 :名無さん@3周年:03/11/07 15:17 ID:WhQLwf9s
Matlab でなく SCILIB を使っているけど、ほとんど同じなので問題なし。
SCILIB のコマンドの一覧ここにあり。
http://feedback.mech.fukui-u.ac.jp/scilab/comm.html

9 :名無さん@3周年:03/11/07 15:45 ID:syTAzaT/
http://science.2ch.net/test/read.cgi/kikai/1020187644/311
同感、補足
プロになるには、初めは習うより慣れろ、慣れたら少し本を読み熟知する、
次にプロを目指してセンスを磨く。センスがないと思ったら諦めて他の
仕事に変わる。仕事が変われるのは20代まで、30過ぎたら難しい。
若者は30になるまで仕事を見極める。これ先人の意見。

10 :ウルトラマン:03/11/07 16:18 ID:gsqvSUjr
http://science.2ch.net/test/read.cgi/kikai/1000145029/l50

このスレッドのように盛り上がりたいのですが、なかなか無理かな?
では、ディジタル信号処理とは、アナログか、ディジタルかどちらと思う?

例題:正弦波信号発生器を、
   (1)アナログ回路で作った場合、
   (2)ディジタル回路で作った場合(パラレル10ビットとしよう)
に分けって製作してみると、この違いがよく分かると思うのでカキコ願う。

11 :名無しさん@3周年:03/11/08 04:45 ID:te+JvSs5
ゾロアスター

12 :初心者:03/11/08 15:48 ID:vzt04ZC3
私の仕事場にディジタル信号処理を担当している者がいません。
これからは、この技術がなくてはやっていけないので上司から技術を至急に
身につけるように言われています。何から初めればよいでしょうか?
>>9 の方が言われている習うより慣れろですが、慣れる為には何をすればよい
のか分かりません。ご教授の程宜しく願います。ちなみに私、アナログの回路
設計をしています。当面は>>3 の方が言われている方法で進めてみます。

13 :初心者:03/11/08 16:05 ID:vzt04ZC3
>>3 のMatlabは、ちょっと手が出せないので >>8 の SCILAB でいきます。これって
フリーなんですね。 http://scilabsoft.inria.fr/
SCICOS も見つけましたので使ってみます。 http://www.scicos.org/



14 :名無さん:03/11/09 11:19 ID:OGe0/xXt
>>10
(1)CR発振器
(2)10ビット正弦波信号のROM + プログラムカウンター で構成

(1)と(2)の違い、(1)は、線形素子で構成、(2)は、非線形素子で構成
また、(1)は、伝達関数で設計、(2)は、信号理論を基礎においている。

一例ですが・・・・

15 :アナログかディジタルか:03/11/09 19:18 ID:z3N+0XpY
上位設計は、アナログ、下位設計(実現方法)がディジタル、すなわちディジタル信号処理

16 :アナログ信号処理:03/11/09 22:15 ID:UOGZ+Kd1
上位設計は、アナログ、下位設計(実現方法)もアナログ、すなわちアナログ信号処理

17 :何故二元論?:03/11/09 22:18 ID:rHUkflx+
>>15
先生!圧縮ってアナログでどうやるんですか?

18 :音声信号の圧縮:03/11/09 22:44 ID:UOGZ+Kd1
音声信号の場合、大きな音は人の耳に入ってくると雑音になってしまう。元々、大きな音は
識別がしやすいので減衰させてもかまわない。そこで、ボリュームを対数圧縮して、リニア
な信号にせず、情報量を減らしている。これは携帯電話などに採用されている。

19 :名無しさん@3周年:03/11/10 20:27 ID:Ifv4+jui
昨日>>3買いに行ったけどなかった・・・(´Д`)

20 :名無さん@3周年:03/11/10 21:50 ID:8WZyFnGu
>>19
高いから買えないよ、ホントにいいの?


21 :初心者:03/11/10 22:43 ID:RCV4VBk9
>>19
同じく手に入りませんでした。
こんなの見つけました。先ず、学生に戻ったつもりで基礎を勉強します。
http://www.signal.tutics.tut.ac.jp/~dspcai/index.html
http://web.mit.edu/6.555/www/index.html
また、DSP関連のサイトを集めたホームページも見つけましたので参考まで。
http://www.mrccos.com/~jmagno/dsplinks.html

22 : :03/11/10 23:32 ID:7p1Q/KK7
http://www.pinkschool.com/

23 :名無さん@3周年:03/11/11 14:04 ID:+SDvRCq1
>>3 でなくてもいいと思うけど? 先ずは
 http://www.signal.tutics.tut.ac.jp/~dspcai/index.html
これが理解できてからだよね。

24 :名無しさん@3周年:03/11/11 18:08 ID:uXQsNf3F
正弦波の発生

y[0] = 1.0;
for t = 1 to N
y[t] = -1.9*y[t-1] -1.0*y[t-2];
end
まずはこれを動かして考えよう!


25 :名無しさん@3周年:03/11/11 18:11 ID:uXQsNf3F
ごみん訂正でつ

y[0] = 0.0; y[1] = 1.0;
for t = 2 to N
 y[t] = b*y[t-1] -1.0*y[t-2];
end

まずはこれを動かして考えよう!
b は -2 〜 2 まで変え試してね



26 :名無しさん@3周年:03/11/11 18:24 ID:vqOxpciI
Excelで試せるね。
やってみるか。

27 :名無しさん@3周年:03/11/18 23:54 ID:JXbxVZcM
微妙にスレ違いかもしれませんが質問させてください。

私は組込みのヘッポコPGなんですが、あるADコンバータのデータシートに
現在のサンプル値Xと、1つ前の移動平均値A(n-1)から現在の移動平均値A(n)を
近似的に求める次の式が紹介されていたのですが、

A(n) = A(n-1) + { X - A(n-1) }/N   ;Nは移動平均のウィンドウサイズ

この式が移動平均を近似することは直感的には理解できるのですが、
その数学的な根拠とか、近似の性能(よく近似するのはどんな場合か、逆に
近似の性能が悪くなるのはどんな場合か)といったことがわかりません。

この辺のこと易しく(難しい数学は私には無理なので)解説している本か
サイトってないでしょうか?
あるいはこのスレで簡単に解説していただけるともっと助かるのですが。

28 :名無しさん@3周年:03/11/19 00:31 ID:ee1nt3fG
>>27
何故移動平均値が欲しいのか、まず教えてくれるとレス出来る人がレスしやすいと思う。

29 :27:03/11/19 01:01 ID:9G4C8f2Y
>>28
A/Dコンバータを使ったアプリケーションなのですが、

1)あんまりアナログ部分の性能が良くない装置で

2)サンプリングレートを下げずに(はっきりいって回路設計に不相応な
  レートでデータが取りたい!)

3)データが見た目安定してサンプリングできているように見せたい(汗

からです。

30 :名無しさん@3周年:03/11/19 01:35 ID:NvZjmpdU
>>27
いま酔っ払っているから、間違いかもしれませんが、以下のように思います。
ある移動平均値は「決められたサンプル数の平均値」です。
与えられた式は、偏差を加算して行く「記憶のある平均値」です。
ここで「記憶のある」とは、数学的には適切でないかもしれませんが、
情報理論で用いられている言葉で、酔っぱらいの私には適当な言葉が他に見つかりません。
平易に言えば「過去を引きずっている(未練がましい)」と言えます。
与えられた式で得たA(n)は、次のサンプルでの計算ではA(n-1)として扱われると思います。
この影響は、平均値であるnを超えても少なからず存在すると思います。
移動平均では、nを超えればバッサリ影響はなくなります。
このことから、与えられた式はステップ入力などへのセトリングが遅くなると思います。
具体的な数値解析は、誰かが答えてくれるでしょう。
私は、もうちょっと呑みますので、このへんで・・・

31 :名無しさん@3周年:03/11/19 09:10 ID:InmnL35M
>>27
正しいかどうか判らないのですが,下記のような理屈では
ないでしょうか?

今,バッファに X5,X4...X1 (バッファ長5)のサンプル値が
入っているとします。このときの単純移動平均値は,下式で
与えられます。

A5=(X5+X4+X3+X2+X1)/5

これを変形すると,
A5=(X4+X3+X2+X1+X0)/5 - X0/5 + X5/5

ここで,右辺の第1項は,前回の移動平均値A4に他ならない
のですが,X0はバッファから忘れ去られているので,入手で
きません。そこで,X4〜X1のバッファリングをやめ,X0をA4で
近似することにすれば,バッファが2つで済むので経済的です。
つまり,

A5≒A4 + (X5-A4)/5

純粋に式の精度から言えば,30氏の指摘のように,ステップ
入力やインパルス入力に対して,誤差が大きくなりそうです。
※例えば,X0>>A4のような場合

ただ一般には,このようなフィルタは,遮断周波数(この場合
平均サンプル数)の適否の方が,評価の妥当性に対する影
響が大きいように思います。精度を要求されるのであれば,
評価したい信号とノイズの周波数をチェックしておくとよいと
思います。


32 :名無しさん@3周年:03/11/19 13:04 ID:ee1nt3fG
>>29
つまり、ローパスフィルタが欲しいわけですね?(←ネコダマシ

33 :30:03/11/19 23:15 ID:3cpjuVob
また、呑んじゃいましたw
移動平均では、周波数特性がSinx/xになるけど、与えられた式はそうはなりそうにないな。
昔、この手のプログラムを書いたことがあるけど、「平均を出さずに、合計値で考える」
とした考え方だったら、あまり手間がかからないように思うけど。
長さnの合計を求めておいて、その合計値に最も新しい値を加算して、最も古い値を減算する方法だ。
まぁ、もっといい考え方があるかもしれんが・・・

34 :27:03/11/19 23:21 ID:9G4C8f2Y
>>30, >>31
レスありがとうございます。
私も>>31さんが書いてくださったような、移動平均値の算出に使用する
今回データの範囲(ウィンドウ)から外れたデータX(n-N)を前回の
移動平均値に(ほぼ)等しいと考えるとウィンドウの中の値の合計は

S(n) = A(n-1) * N + X(n) - X(n-N)
   ≒ A(n-1) * N + X(n) - A(n-1)

で両辺をNで割ると …… みたいなところまでは考えていたのですが、
これでは今現に正しい移動平均値があってそこから次の移動平均値を
>>27の式から求めることの妥当性の説明にはなっていても、継続して
この差分方程式(?)で算出した値が移動平均値の近似として妥当で
あることの説明にはならないですよね?

>>27では自分の知りたいことをうまく書ききれてなかったのですが、
特にそのあたり(できれば易しい数学で)うまく説明できないものかと
思っております。

35 :27:03/11/19 23:21 ID:9G4C8f2Y
>>32
たぶんある種のローパスフィルタということになるのだと思います。

ただ、話が(2chでやりとりするには)複雑になりすぎると思ったので
書かなかったのですが、目的は例えば音声信号の処理のように
周期的な波形の中の特定の周波数成分のエネルギーレベルを減衰
させることにあるのではなく、センサが測定する非周期的な物理量を、
電気的な悪条件の中で可能な限り正確にトレースすることを
目的としておりまして、そのため実際の処理では>>27の式の中の

{ X - A(n-1) }

この値に応じてウィンドウサイズ(N)を動的に変化させる、という処理を
していまして、(上の値、つまりサンプルの変化が大きいほどNを小さく
しています)このため純粋なローパスフィルタとはちょっと違うのかもしれません。

36 :名無しさん@3周年:03/11/20 02:22 ID:CWViOvpK
>>35
我輩のニウロコンピウタがちょっと前のスレの>>1を連想してきたのだが、どうよ?

まあそれは置いといて、
・移動平均:FIRフィルタの一種。
>>27の式:IIRフィルタの一種。
つうわけで、フィルタとしての土俵の上なら比較できる。FIR,IIRで検索すればたくさん出てくる。

で、
>センサが測定する非周期的な物理量を、電気的な悪条件の中で可能な限り正確にトレースする
>ウィンドウサイズ(N)を動的に変化させる
っつー処理の話になるわけだけど、俺も全然解らない。お手上げ。
ただ、カルマンフィルタにおけるカルマンゲインからの類推から、その処理は
「信号が大きく動くとき、ノイズの絶対量(相対量ではない、という意味で)は減る」
っつー事を前提としてる変な処理な気がする。それで動くならそれは正しいんだけど。なんだろ。

ちなみに俺も酔っ払ってるし(w

37 :名無しさん@3周年:03/11/20 02:23 ID:ldntvqhO
●●●2004年も被害者がでるのだろうか?●●●
http://sports2.2ch.net/test/read.cgi/kouhaku/1057943092/-100
行政機関、日本の全マスコミ、教育機関などによる、
個人に対する住居不法侵入からの盗聴、盗撮、24時間監視、
ストーカーで収集した個人情報を、
テレビ、新聞、出版物などで嫌がらせをしながら悪用している事実について、
>>1>>394までにまとめました。

2chのマスコミ板 http://society.2ch.net/mass/
●●●マスコミの盗聴、盗撮は許されるのか?●●●
で被害者の訴え、マスコミの隠蔽が、30スレまで続いています。
より多くの人に事実を知って貰うことが、
組織的、計画的な犯罪の刑事責任、民事責任を追及することにつながると考えています。

38 :27:03/11/20 08:18 ID:JyumlE6N
仕事前にちょっとレス。
>>36

>「信号が大きく動くとき、ノイズの絶対量(相対量ではない、という意味で)は減る」
>っつー事を前提としてる変な処理な気がする。

というより、>>30-31で指摘してくださっているように、ウィンドウサイズNが
大きいと信号の変動が大きいとき信号に対する追従性(こういうの「インパルス応答」で
よかったでしたっけ?)が悪くなり、「測定したい物理量を正確にトレースする」という
目的に反するので、こういう場合はノイズ除去を諦めて(というより、原理的に不可能?)
極端な場合はN = 1にしてサンプル値をそのまま出す、ということをしています。

そのほうが、移動平均によって時間的にディレイがかかり波形の尖り(?)が
取れてしまった値より、たとえノイズが乗っていても生のデータの方が知りたい
値により近いと思われるので。

39 :名無しさん@3周年:03/11/20 19:26 ID:CWViOvpK
なんつーか、翻訳こんにゃくが欲しいぞ。

>>38
>ウィンドウサイズNが…

つまり、↓こういう事?

 移動平均フィルタにおいてウィンドウサイズNの大きいものを使うと、高い周波数側の
 ゲインが下がります。信号自体が高い周波数成分を持つと判定できる場合にこれを使うと
 お客さんからクレームが入る事間違いなしなので、フィルタを緩くするようにしています。
 信号自体が高い周波数成分を持たないと判定できる場合には見た目優先でばっさり切っちゃうんですけどね(w

…むう。で、高い周波数成分を持つか否かの判断基準として>>35の式を使ってる、と。
ばっさり切っちゃうことと、「測定したい物理量を正確にトレースする」っつー言葉を混ぜて寝かせると…
↓みたいのが欲しいって事?

 
 (最近のノイズ込みの信号をフィルタに通したもののパワーΣ@全周波数)/
 (事前に得られているノイズのパワーの期待値をフィルタに通したものΣ@全周波数)
 を最小化するフィルタ

ちなみにΣ@全周波数ってのは今作った言葉。雰囲気ってっ奴。
後、インパルスとかステップとかって言葉は今は忘れた方が幸せになれると思う。今だけ。

40 :39:03/11/20 19:53 ID:CWViOvpK
連投規制の嵌ってしまった…。

下から5行目から始まる3行無茶苦茶やね。
 (最近のノイズ込みの信号をフィルタに通したもののパワーΣ@全周波数)^2/
 (事前に得られているノイズのパワーの期待値をフィルタに通したものΣ@全周波数)
 を最大化するフィルタ
っつーところで。

41 :27:03/11/20 22:16 ID:JyumlE6N
>>39
すみません、私にはお話が高度過ぎてよく分からないのですが、
なんかちょっと違うような気がします。(物理でいう「次元」が違うような)

>>35にも書いた通り、操作したい対象は信号の周波数成分ごとの
ゲインではなく、信号のサンプル値そのものです。

具体的に書いてみるとこういうことです。
速度センサとADコンバータ(ADC)を使って精度の高い自動車の速度(の大きさ)計を
作りたいとします。つまり、目的は自動車の速度の周波数成分(!)の制御などではなく
可能な限り現実の自動車の速度に近い測定値を得ることです。

しかし、さまざまな要因(センサ自体のランダムな誤差、センサの信号を増幅する
アンプのノイズ、ADCのランダムな誤差など)から自動車の実際の速度と、
ADCの変換値の間には、時速に換算して±X Km/hの誤差があるものとします。

ここで、自動車が一定速度で走っている場合には、N個のサンプルの移動平均値を
取ることによってサンプルレートを下げることなく、誤差の大きさを±X / SQRT( N ) Km/h
にすることが可能です。(厳密にはノイズの性質しだいのようですが。)

しかし、例えば |今回のサンプル値 - 前回の移動平均値 | > 3X のような場合には
明らかに生のサンプル値の方が、移動平均の結果よりも現実の自動車の速度に近いと
考えられるので、出力として生のサンプル値を採用します。

全てを言い尽くせてはいないのですが、欲しいのはこんな感じのフィルタで、
しかもワンチップマイコン程度のプロセッサでも片手間に処理可能なものです。

42 :30:03/11/20 23:19 ID:adrv9bW0
>>41のような希望であれば、私が33で言った「nサンプルの合計で考える」と言うのはいかがでしょうか?
平均には「割り算」がありますが、この方法なら割り算はありません。また定数で割るわけですから、
「割らなくても良いアプリケーションは沢山ある」と思います。

具体的には、以下のような方法です:
例えばn=10なら、10個のループ状のレジスタを用意して、順次サンプル値を書き込んでいきます。
同時に、それら10サンプルの合計を計算します。この計算は、新しいサンプル値を得たら、最古のサンプル値を
合計値から差し引いて、次に最新のサンプル値を加算します。この計算をするためにnの範囲のサンプル値を全て
控えておく必要があるために、ループ状のレジスタが必要になるものです。
これなら、PICでもできると思いますし、原理的に「移動平均」そのものです。

43 :27:03/11/21 00:15 ID:gqMH+7nK
>>42
いや、それが現実の測定精度と、要求される測定精度との乖離が
激しすぎて、低コストのマイコンチップの持つメモリでバッファリング可能な
データ数程度の移動平均ではとても要求を満たせず、それで>>27の式の方法に
飛びついたという訳なんです。(最大で2^10個程度の移動平均に相当するような
処理をしています。)

で、私の説明が悪いのでちょっと話の焦点が不明確になってしまっているのですが、
(すみません)実際には既に>>27の式を利用してそこそこ所期の要求精度を
満たすことに成功した様には思われるのですが、なにぶんこの式が移動平均値に
漸近するという根拠や、副作用(問題点)なんかがいまいち理論的に把握できていると
思えないので、上司や顧客にその辺突っ込まれた時に固まらないように(汗)
その辺のことを質問させてもらっている次第です。

44 :名無しさん@3周年:03/11/21 01:22 ID:D4HHolYZ
>>43
余計なことかもしれませんが,2^10点もの移動平均を行わないと
安定したデータが得られないようであれば,まともな測定ができて
いるとは言えません。自動車の速度であれば,それほど追従性は
要求されませんので,交流分を完全にカットしても問題ないように
思います。A/Dコンバータの直前で整流することはできないので
しょうか?(ソフトで対応する問題ではないように思います)

45 :30:03/11/21 12:15 ID:OQzTvyaH
>>43
1024サンプルですか。ご質問の背景にある意図が、だいぶ見えてきました。
A(n) = A(n-1) + { X - A(n-1) }/Nの式は、最新のサンプルXがA(n)に与える影響は、
1/n=1/1024です。「セトリングが長い」ことを考えることができます。

また、>>44でご指摘のことも、見方を変えれば重要です。1024サンプルの移動平均と言うことは、
現在の入力帯域幅を1/1024に減じることと等価だと思います。そうであれば、入力帯域幅を1/1024に
減じて、サンプリング・レートも1/1024に減じると、ディジタル信号処理が楽になり
トータルで低コスト化を図ることが出来るように思います。

私自身は、アナログ回路やミックスド・シグナル回路も専門にしていますが、この立場からも
「必要最低限度の帯域幅でシステムを構築する」ことをお勧めいたします。
また、「A/D変換値が、本当に入力信号と同じであるか?」についても検証されることを
お勧めいたします。アナログ信号処理段階での雑音(例えば、オペアンプのオーバーシュートの
影響を受けている)を確認するものです。

46 :名無しさん@3周年:03/11/21 21:08 ID:STgCQK4G
>>41
別に>>39の前半と矛盾してない気がするんだけど。
まあ粘着っぽいので周波数話はこれかぎり。種だけばら撒いとくので興味もったら検索してください。

>>41の中に出てくる式「今回のサンプル値 - 前回の移動平均値」って微分の変り種、
 つまりハイパスフィルタの一種。(sin(k*t)'=k*cos(k*t)ってのから類推してくれい。)

・時間の関数に対する処理(つまり、信号処理)の検討は基本的に周波数領域で扱う。
 ちなみに、大概の実際の処理は>>27の式みたいな時間領域で行う。
 いちいち周波数領域に変換するのは音声認識とかデジタルな圧縮とか。計算量馬鹿食い。

・時間領域の信号を周波数領域に移す/戻すのがフーリエ変換/逆変換

・周波数毎の入力と出力の関係を表すのが伝達関数。対応する時間領域の概念は微分・差分方程式。
 その間の変換がラプラス・z変換/逆変換。入力をラプラス変換通して伝達関数通して逆ラプラス変換する、
 とかによりステップ応答やインパルス応答の計算もできるよ。

・伝達関数を掛け合わせた時に何が起こるのかグラフの上で足し算出来るように書いたのがボード線図。

こんなとこかね。あとがいしゅつのIIR,FIR。変な記号や行列式がいっぱい出てくる所は危険ゾーン。

47 :名無しさん@3周年:03/11/21 21:19 ID:STgCQK4G
>>43
X/SQRT(N)に対応するのは多分X/SQRT(2N-1)。
方法は↓。俺は計算ミス大魔王なんで検算よろしく。
/***
基礎知識:
 ・標準偏差a,bを持つ確率変数A,Bの和の持つ標準偏差はsqrt(a^2+b^2)
 ・初項a、比rの等比級数の和はa(1/r^n)/(1-r)

んで、真の信号をx(n)、ノイズをe(n)として
A(n)=B(n)+e(n)
と表す。ここでe(n)は(以下略)という性質を持つものと仮定し、その標準偏差はσとする。

で、>>27の式A(n) =A(n-1)+...を(An-1),A(n-2)...を用いて無限等比級数に展開、
AをBとeで置き換えてeの項をくくりだし、eの性質が時不変であることによりその標準偏差を求める。
んで、nを無限大に飛ばす。
***/

副作用:歪む。

48 :46:03/11/21 21:23 ID:STgCQK4G
誤解を生むので↓削除よろ。
>・伝達関数を掛け合わせた時に何が起こるのかグラフの上で足し算出来るように書いたのがボード線図。


49 :名無しさん@3周年:03/11/21 22:14 ID:STgCQK4G
>>47
先生!等比級数の和の公式にタイプミスです!
馬鹿TAKEが混乱するので訂正してやってください!

50 :27:03/11/21 23:57 ID:gqMH+7nK
>>44
>余計なことかもしれませんが,2^10点もの移動平均を行わないと
>安定したデータが得られないようであれば,まともな測定ができて
>いるとは言えません。
>>35,>>38,>>41でも書いております通り、実際にはウィンドウサイズを
サンプル値の変化(時間微分?)の大きさに合わせて変動させており、
こんなに大きなウィンドウサイズにするのは測定対象の物理量が
変化していないと推定できる場合、つまり>>27の式中の
{ X - A(n-1) }の値(の絶対値)がノイズのPeak-to-peakの大きさの
1/2以下の場合のみです。

で、このような場合(測定対象の物理量が変化していない場合)には、
ウィンドウサイズの大きさを大きくすればするほど ―― ちょうどサイコロを
振る回数を増やせば増やすほど、実測した平均値が理論値の3.5に漸近
するように、あるいは昔流行ったモンテカルロ法からの類推で ―― 測定の精度を
上げられるはずだ、というのが私の理解なのですが、この私の理解は間違いでしょうか?

>自動車の速度であれば,それほど追従性は.........
あ、自動車の速度計云々というのはあくまで例え話でして。(汗
紛らわしくてすみません。 開発中の商品について社外に口外するなと
言われておりますので、(狭い業界なもので)それであまり具体的なことが言えず、
苦し紛れの例え話というわけです。

51 :27:03/11/21 23:58 ID:gqMH+7nK
>>45
>また、>>44でご指摘のことも、見方を変えれば重要です。1024サンプルの移動平均と言うことは、
>現在の入力帯域幅を1/1024に減じることと等価だと思います。そうであれば、入力帯域幅を1/1024に
>減じて、サンプリング・レートも1/1024に減じると、ディジタル信号処理が楽になり........
--------------------
>「必要最低限度の帯域幅でシステムを構築する」ことをお勧めいたします。
すみません、何分ヘッポコなもので「入力帯域幅を1/1024に減じることと等価」という意味が
分からないのですが、これは>>44さんがご指摘の「交流分をカット」に繋がることでしょうか?
つまり、サンプリング周波数の1/2以上の成分をADCの入力の前段で短絡しておくべきだ、
ということでしょうか?

回路の設計は別の者が担当していて、私は電子回路のこと全然分からないのですが、
確かにこのような処理は行なっていないようです。コスト上の制約の可能性もありますが、
回路設計の担当者がこの辺のことあまり理解していないような気もします。(話をしていると、
私以上に理解が怪しいところがあるようなので)ちょっとこの辺よく勉強して、回路設計の
担当者を説得する必要があるかもしれません。

ちなみに、サンプリングレートは、諸事情で明言はできないのですが、750〜1.5Khz
の間の値です。正直、なんで「あの」値を測定するのにこんな高いレートが必要になるのか
理解に苦しむところなのですが............。(どうも顧客に妙な誤解があるようでして。。)

52 :27:03/11/22 00:01 ID:l5W/ofbL
>>46
いろいろ教えてくださってありがとうございます。
やっぱり基礎からちゃんと勉強しないと、移動平均みたいな単純な処理でも
本当の意味は分からないということですかね。

やっぱりこういうことで飯食っていこうと思ったら基礎理論くらい知ってないと
ダメですかね。
学生のとき信号理論のクラスで、Z変換だの何だのの数学がワケワカメで
匙を投げてしまったヘッポコの私にはちょっとキツイかもしれませんが。

53 :名無しさん@3周年:03/11/22 02:29 ID:DhsayHxd
>>51
制御に使うならその遮断周波数の30倍以上で
サンプリングしないと幸せになれんって法則がある。
そんな目的なら、変なフィルタ処理すると制御系全体が呪われる。
ご参考まで。

54 :30:03/11/22 20:27 ID:DBywgi65
>>51
「交流分をカット」と言う表現は、一般的ではないと思いますが、考えは同じだと思います。
一般的な言い方では、「必要な信号周波数帯域の信号を(A/Dコンバーターへ)通過させる」と
表現出来ます。これを決定するには、まず、「必要な帯域幅」を検討することです。
現状は、1Hz程度だと思います。
例えば、DC〜1Hzを希望周波数帯域幅とすると、1Hzのアナログ・フィルターをA/Dコンバータの
前段に入れます。このときアナログ・フィルターの遮断特性に応じて「オーバー・サンプリング」
を考えます。いまアナログフィルターに、12dB/octの遮断特性を持たせたとして、帯域外信号の
減衰を48dB期待するとすれば、「×16のオーバー・サンプリング」を用います。
>>53で言われていることは、この点であると思います。おそらく、見かけ上「元の波形と同一」
と言うことが根拠であろうと思います。
×16のオーバー・サンプリングとは、ナイキストの定理であるか×2のサンプリング・レートの
×16です。ですから、上記の例では1Hz×2×16=32[sample/sec]となります。
しかしこの場合においても、A/Dコンバータ自体の雑音を取り除くことが出来ません。
そこで1サンプルの決定に、例えば5回変換して変換結果を多数決処理による決定を
考えることができます。
以上の方法は、一つの設計手順であり、他にも設計手順があります。
また、「上司から指摘されることを回避したい」と言うことですが、
もし私があなたの上司であれば、「適正な帯域幅で設計されているか?」も
重要な評価の位置付けにすると思います。

「移動平均」の場合には、応答周波数にも注意が必要です。移動平均の場合には、
「平均する期間(時間)の逆数に相当する周波数には、応答しない」と言うことです。
1Hzの正弦波を思い浮かべて、1秒間平均するとゼロになるでしょう?
同時に、その整数倍もやはりゼロになります。その通過帯域の周波数特性がsinx/xに
なるものです。
移動平均が良いかどうかは、希望する性能によって判断しなければなりません。

55 :53:03/11/23 10:15 ID:j3Id7Wqb
ちなみに無駄時間の制御ループ(電気屋は帰還って呼ぶらしい奴)に及ぼす影響から来る経験則ですよん。

56 :27:03/11/24 01:34 ID:EV8o0X88
>>53
あ、いえ何かのフィードバックのタネの値としてサンプリングした値を使う、
というようなそれほどシビアな物ではないんです。でも参考になりました。
30倍ですか。ということは、秒10回のフィードバックをかけるためには
最低300Hz以上でサンプリングする必要があるということでしょうか?
(トンチンカンだったらすみません)


>>54
低レベルな質問に丁寧に回答くださってありがとうございます。

「適正な帯域幅が重要」という結論は、下記URLに解説してある
「サンプリング周波数100Hzの世界では、90Hzの信号をサンプリングすることは
10Hzの信号をサンプリングすることと等価である」ということと関連してるかと
推測するのですが、数学的に厳密な説明が要求される場合はともかく、
概念的にはこういう理解で間違ってないでしょうか?
http://www.digitalfilter.com/jpcfs5.html

57 :53:03/11/24 18:08 ID:dqi4JOLW
>>56
10Hzぐらいまでの目標値/外乱で物を制御しようとして連続系の数学を使って設計し、
それを離散系で実装しようとするなら、300回/秒以上で式回しておけ、って話です。
で、300回/秒で式を回すためには300Hzでサンプリングせにゃならん、というわけで。

サンプリング時間やら計算時間、ホールド回路の特性やらを真面目に考慮に入れて
制御系の設計をすればこの法則は守らなくてもいいそうです。つまり根性さえ(ry

58 :30:03/11/24 18:43 ID:qv/GtFFo
そのURLで表示される画面も、本質的な部分では間違っていません。
しかし、ここでの一つの問題点を表現した以下のURLを紹介します。
ttp://www2.oninet.ne.jp/ts0905/deeg/deeg11.htm
ここでのキーワードは、「エリアシング(折り返し)」です。

もう一つは、不必要に広帯域な帯域幅を持たせると「帯域幅に比例して、雑音が増加する」
ことを挙げることができます。この雑音をディジタル信号処理技術で行おうとすると、
上述のエリアシングの問題を抱えて、「希望信号内に除去できない雑音が増加する」ものです。
確実なディジタル信号処理を行うには、「アナログ信号処理もセットで考える必要がでてくる」
わけです。これは不可避です。

また、理論的に裏づけされていないと、「時々、不具合を生じる」ような状況を生じます。
今回は1024点のサンプリングによる移動平均ですが、この長さを持ってしてもある確率で
ある偶然による希望しない動作を生じる可能性が存在すると思います。そのような
「いつ爆発するかわからない爆弾を抱えた仕事」はしないほうが懸命です。なにしろ、
少し勉強すればよいだけです。>>54の内容はBBSなのでかなり割愛していますが、
具体的にはあのような知識が必要です。

>>54で書き忘れましたが、無入力時のAD変換値の雑音が多い場合には、プリント配線板の
レイアウト設計も「良質のディジタル信号処理を行う」には重要な位置付けになります。

以上を総括すれば、「良質なアナログ技術のバックアップが必要になる」と言うことです。
私は、多くの企業のこのような不具合を扱っていますが、アナログ技術の欠如で不具合に
直面している企業は少なくありません。このような不具合に直面すると、多額の損失が
発生することは言うまでもありません。

59 :27:03/11/25 00:27 ID:1ZILWRS0
>>57
なるほど、あまりファインチューニングされてない設計での、あくまで安全パイ的な
経験則、ということですね。
実はウチの会社、制御っぽい仕事もちょっとだけやってるので(私は担当したことは
ないのですが)もしうまくいかないことがあったら思い出してみます。


>>58
大変参考になりました。

私はPGなので、近視眼的にAD変換後のデータの処理法のことしか
頭になかったのですが、むしろそれ以前のアナログ段階での処理のほうが
致命的に重要であることがよく分かりました。

>「いつ爆発するかわからない爆弾を抱えた仕事」はしないほうが懸命です。なにしろ、
>少し勉強すればよいだけです。
おっしゃる通りですね。とりあえず回路設計者を説得できる程度の知識は
身に付けないと......。

60 :名無しさん@3周年:03/11/25 11:25 ID:zkFm3/Lc
ん?
なしてそーゆー結論になる?
入力側で極端に速いサンプリングを行いA/D変換をするなら、あとの処理でノイズを下げることが可能なので、オーディオの世界では1ビット変換、つまり単なるコンパレータになった訳ですけど。
16ビット精度のアナログ回路を実装するなんて、並大抵の努力では出来ませんよ。

61 :27:03/11/26 00:24 ID:sIfrwcgD
>>60
別にオーバーサンプリング的な手法を否定している訳ではなくて、
オーバーサンプリング的な手法では手に余るような処理がアナログ段階では
比較的に低コストで可能だ、という話ではないのでしょうか?

例えば100Hzでサンプリングしている信号に51Hzの成分が入っていると、
(ナイキスト周波数の50Hzと51Hzの最小公倍数は(50 * 51)だから)それを平均処理で
消すためには100 * 51 = 5100サンプル、時間にして51秒の時間が必要になる、
ということだと理解したのですが、間違ってますか?

62 :27:03/11/26 00:37 ID:sIfrwcgD
あ、ナイキスト周波数は上の話では関係なさそうですね。
単にサンプリングレートの100Hzと51Hzの最小公倍数が必要なサンプル数ですよね。
失礼しました。

63 :名無しさん@3周年:03/11/26 07:35 ID:sXjNktoO
相変わらず移動平均が正準なのかおまいは。

64 :30:03/11/26 11:05 ID:eLb/GCjV
>>61
>>60の書き込みは、「アナログ回路技術が必要」とした点でしょう。書き込みは知っていたのですが、
説明が面倒なので放っておきました。

たしかに「オーバー・サンプリングにより、量子化雑音を減らせる」とした効果から、
「ADコンバータ自体のビット数を増やすことなく、量子化雑音を低減する」ことは可能です。
しかし、そのオーバー・サンプリングにも、>>58の冒頭で述べている「エリアシング」に配慮は必要です。
オーバー・サンプリングでは、サンプリング周波数±希望信号周波数帯域幅の帯域幅に入る雑音は、
やはりエリアシング・ノイズとして現れます。ですが、DC〜希望信号までの帯域から、エリアシング・ノイズに
該当する周波数までの周波数間隔が広いために、例えば「(簡単な)RCフィルター」等で済むわけです。
しかし、このような「周波数間隔が・・・」であるとか、「プリント配線板のレイアウトが・・・」と
言った世界は、広く「アナログ技術」と呼んで差し支えないと思います。
「これらを知ってアナログ回路部分を軽減することは出来るが、知らないと不具合を生じる可能性がある」
と言うことを言いたかったものです。
また、これまでの議論は>>60でご指摘の「量子化雑音の議論ではない」ことを申し添えます。
「オーバー・サンプリングなどを意図せず、不用意に広帯域の信号を集めてきた上での雑音処理の負担が
重くなっている」とした考えから、「まずはハードウエア上で必要な帯域幅に制限した上で、
ディジタル信号処理を考えてみてはいかがですか?」と言う結論に至ったものです。
ですから、>>59で「回路設計者を含めて検討してみる」となったものです。
私は、一連の流れに問題は無いと思います。

65 :sage:03/11/26 23:25 ID:lzgc0PmX
>>41
この問題は、速度を推定するための最適フィルタを設計する問題
ですね。αβフィルタやカルマンフィルタを勉強すればどのように
最適窓サイズを決めればよいかわかると思います。
(教科書設計方法が書いてあります。)


66 :名無さん@3周年:03/11/27 22:51 ID:pnS8V1RS
カルマンフィルタについて別のスレッドがあるよ
http://science2.2ch.net/test/read.cgi/kikai/1004947397/

67 :名無しさん@3周年:03/11/29 02:21 ID:k4jD6gz2
>>65 >>66
こう言うのを「ディジタル・ばか」って言うんだろうな。
教わった程度の知識で・・・
ばかが。

68 :名無しさん@3周年:03/11/29 12:56 ID:0HoHYgTf
>例えば100Hzでサンプリングしている信号に51Hzの成分が入っていると、
>(ナイキスト周波数の50Hzと51Hzの最小公倍数は(50 * 51)だから)それを平均処理で
>消すためには100 * 51 = 5100サンプル、時間にして51秒の時間が必要になる、
ん?消そうと思えば欲しい信号まで消えちゃうよ。
アンチエイリアシング用のLPFをA/D前に挿入しておくのが普通だね。
20kHzの信号を100MHzキャリアで変調したとして、その間がまったくの
ノイズレスだった時、40kHzでサンプリングすればエイリアシングのおかげで
もとの20kHz信号を復調することは可能です。普通はノイズレスなんてこと
はありえなくて20kHz〜100MHz間のノイズが重畳されて観測されるけど。

69 :名無しさん@3周年:03/11/29 13:10 ID:0HoHYgTf
エイリアシングなんて周波数上で考えるからややこしいだけで、
高い周波数のもつ信号をナイキスト周波数を満足しないおそーい
間隔でサンプリングして、その間をサンプリング関数で補間する
(0次ホルダでもいいけど)と元と違うゆっくりと変化する波形に
見えるだけのこと。消えるわけじゃないよ。感覚的にわかるでしょ?

70 :名無しさん@3周年:03/11/30 02:01 ID:DzxzDkQZ
信号処理の入門書を探しているのですが、何かお勧めの本が
ありましたら教えて頂けないでしょうか?

71 :名無しさん@3周年:03/11/30 03:30 ID:Yf7lQw/q
フーリエ解析

72 :名無しさん@3周年:03/11/30 03:31 ID:C3/NaorH
バイブルとして引用が多い。でも読んでて眠くなる
・Oppenheim, Shafer Digital Signal Processing

理論的にずいぶん詳しく事例も多い
・谷荻隆嗣 ディジタル信号処理の理論1〜3

著者は権威者、一見読みやすいが間違いだらけ。学生の輪講あたりに
ちょうどいい
・木村英紀 ディジタル信号処理と制御

簡潔、読みやすい、即設計に役立つ実用書、でも専門家なら
上記書物の知識も必要と思わせるのが
・尾知博 ディジタル・フィルタ設計入門

読み物的にアブストラクトを掴むなら
・辻井重男,久保田一 ディジタル信号処理(オーム文庫)
辻井重男監修の信学会の方じゃないよ。

制御屋なら欠かせないのが
・伊藤正美 自動制御


専門家でなくてすぐ仕事に使うっていうなら尾知博と辻井でいいんじゃないかな?


73 :70:03/11/30 03:47 ID:0dFcvKjP
>>72
ありがとうございます。

大学の講義で信号処理を学んでいるのですが、少し物足りないので
独学で学んでみようかなと思ったもので・・・
仕事で使うというわけではなく、じっくりと学習できる本の方がありがたいので、
谷荻隆嗣 ディジタル信号処理の理論1〜3 を検討してみようと思います。

74 :名無しさん@3周年:03/11/30 03:55 ID:C3/NaorH
いろいろ書いたけど
単なる入門書とだけ言われてもちょっとわからないよ。
ウェーブレットを使いたいとか、
単なるフーリエ余弦展開に過ぎないけどDCTという言葉や事例を知りたいとか、
適応フィルタリングやイコライザーを知りたいとか、
画像処理をしりたいとか、
実はあまり知られてないけどViterbi復号法やTurbo符号がパラメトリック
な信号推定と深く結びついてることを知りたいとか
etc・・・
入門って言ってもどの方向向くかでずいぶん違う。
で、ぶっちゃけいうとしこしこ勉強したとしても
結局、この分野は計算機を使わないと何も設計できないので(自前の設計ツール
作ってもいいけど)、手っ取り早くフィルタ設計したいだけならMATLABのToolBoxと
かADSのDigital Filter Designerあたりを使って、わからないパラメータの意味を
調べるってのがいいよ。

75 :74:03/11/30 04:06 ID:C3/NaorH
>>73
ごめん、ちょっとレスが遅かった。
大学か・・・僕は本格的にやり始めたのは院からだけど、
学部だとどんな試験するんだろ?
簡単なことでもすごく計算が大変なんですよ。
院の講義なんかだとシミュレーションソフトを作って検討
させるような課題だったけどね。

76 :名無しさん@3周年:03/11/30 04:49 ID:C3/NaorH
>>27さんへ
遅レスですが
A(n)=A(n-1)+(x-A(n-1))/N
の式っていうのは、A/Dそのものの解説じゃなくてアプリ事例
の説明で出てくる式なんじゃないですか?高速で振動している物体を
長時間観測してるとある方向にゆっくり動くような場合を想定していると
思われるんですが?
あるいは信号に高い周波数の雑音が混入していて目的の低い周波数の信号
をろ波したい場合が相当しますが、
自動車の速度を速度センサで計測する場合って上下の振動が影響するのかな?
自動車の速度って車速パルスじゃだめなんですか?

77 :名無しさん@3周年:03/11/30 05:36 ID:C3/NaorH
どうも気になったので起きてきましたが、
よく知らないんですが、
速度センサって、ある一定方向の速度だけに反応するんじゃなくて
すべての方向の変移/時間に対してなんらかの電圧を出力するのかな?
そしたら、LPFは必須ですね。移動平均はそのための処理じゃないの?
もし無ければ、でこぼこ道を走ってると多分速度は無茶苦茶な表示に
なりそうですね。
ただ応答性をよくするためにX-A(n-1)に応じてウインドウを可変させるより、
サンプリング速度を早くして、ウインドウサイズも大きくして固定させる
のがよさそうに思いますが。
いずれにしてもいうのは実地試験でトライ&エラーを繰り返して決めないと
いけなそうですね。

78 :名無しさん@3周年:03/11/30 09:53 ID:BFv6xNQA
>>77
27氏は別に「自動車の速度」とは言っていないように思いますが...
(50辺りをお読み下さい)

>速度センサって、ある一定方向の速度だけに反応するんじゃなくて
>すべての方向の変移/時間に対してなんらかの電圧を出力するのかな?

車体の速度といっても色々ありますが,最も精度を要求されるのは,
ABS動作時に使う信号と思います。これは,車輪に設けられたセレー
ションを電磁ピックアップで拾って得ていますので,原信号は車輪の
角速度に比例した周波数のパルスになります。これには,基本的に
は車輪角速度以外の情報は含まれません(もちろんノイズはあります)。

車輪速センサに限らず,速度や加速度,力等を検出するセンサは,
通常は物理量の特定方向成分のみしか検出できません(意図的にそ
うしています)。厳密にはクロストークと言って,若干の他軸方向成分
が混入しますが,ゴミのレベルです。


79 :名無しさん@3周年:03/11/30 11:09 ID:C3/NaorH
・A(n) = A(n-1)+(X-A(n-1))/N

は逐次推定式の

・新しい推定値 = 古い推定値 + 誤差 * 係数


まさにそのものなわけで、推定方法自体何の不思議もないです。
誤差が加速度に相当するならそれ自体、積分差要素を含んでいるので
そのまま速度が計算されます。問題なのは
A(n) = ΣX(n-i)
という平均を目的である推定値としている点だけでしょう?
平均処理は平準化であり、LPF以外に作用しません。

>ゴミのレベルです。
ゴミと判断するかどうかは用途によるでしょう。例えばディジタル速度メータ
で表示したい時に最下位桁が絶えずころころ値が変動してるのは気持ち悪いと
かいうニーズがあるんじゃないですか?
>>27センサ出力と物理量とニーズの関係はどうなってるの?。

80 :名無しさん@3周年:03/11/30 11:32 ID:C3/NaorH
もし、ゴミがホントにネグれるオーダであれば
速度推定値V、センサ出力Xとして

V(n) = V(n-1) + (X-V(n-1)) * 感度係数

でV(-1)=0とするだけで平均処理をなくしてしまっても速度が算出できます。
感度係数は1より小さくしますが、値の決定はやっぱり用途によります。


81 :名無さん@3周年:03/11/30 13:06 ID:j9ks2iy5
>>73
谷荻隆嗣 ディジタル信号処理の理論1〜3 は、やめたほうがよい。
以下を紹介する。
http://www.cepstrum.co.jp/1book/1book.htm

82 :名無しさん@3周年:03/11/30 14:22 ID:C3/NaorH
>>81
かなり初歩的な書物が多いね。
それと
スペクトル拡散通信システム、横山光雄、科学技術出版社、ISBN4-87653-005
は今となっては嘘となってしまった部分が多すぎる。

83 :名無さん@3周年:03/11/30 14:27 ID:Bb32QZJK
>>74
Matlabの代わりにフリーのScilab、
http://scilabsoft.inria.fr/
Simulink の代わりにフリーのscicosを使っている。
http://www.scicos.org/

Scilabの日本語解説は
http://feedback.mech.fukui-u.ac.jp/scilab/scilab0.html
http://www.geocities.jp/rui_hirokawa/scilab/

直接関係ないが、MatlabのToolbox については
http://www.mathworks.fr/access/helpdesk/jhelp/toolbox/signal/signal.shtml
にあるので参考になる。

84 :?1/4?3?3?n???R?u¨?N:03/11/30 14:38 ID:Bb32QZJK
Scilab とは何か説明するのを忘れたので、ここを読む。
http://www.cepstrum.co.jp/1scilab/1scilabl.htm


85 :名無しさん@3周年:03/11/30 14:42 ID:C3/NaorH
Scilabってatlasで高速化難しいだろ?
Octaveなら簡単に高速化が実現できて、演算によっては一桁ぐらい早くなるよ。
もっともSSE/SSE2が必要だけど。
ただこういうツールは信号処理のexcel程度と思っておくのがいいよ。
本格的に計算したければliboctave + atlasを使ってC++でやるのがいいよ。

86 :?1/4?3?3?n???R?u?N?N:03/11/30 15:02 ID:Bb32QZJK
Scilab + Atlas もあるけど
http://www.oishi.info.waseda.ac.jp/~oishi/FAQ/tani2.html

87 :名無しさん@3周年:03/11/30 15:07 ID:C3/NaorH
出来るのは知ってるよ。
でも結果があんまり早くないどころかSSE使わない場合とほとんど変わらない
っていうのを聞いてるんだけどね?

88 :名無しさん@3周年:03/11/30 15:10 ID:C3/NaorH
>>80
なぁんだ、君の紹介してくれたURLに実行速度が遅いことが
紹介されてるじゃないか。ありがとん。遅いことが確かな
ことがわかったよ

89 :88:03/11/30 15:11 ID:C3/NaorH
まちがい>>86

90 :名無しさん@3周年:03/11/30 16:43 ID:XVWnLO8B
>>79
>平均処理は平準化であり、LPF以外に作用しません。
データから定数を最小二乗法で推定しようとするとただの平均になる気がする。
何で定数なのか知らないけど。

91 :名無しさん@3周年:03/11/30 17:30 ID:C3/NaorH
>>90
そだよ。それが何か?

x(i)を測定値、mが最小二乗法で得られる推定値とすると
評価関数yは
y=Σ(x(i)-m))^2
mで微分して
dy/dm = 2Σ(m-x(i))
dy/dm=0となるmが最小値になるから
Σ(m-x(i))=0
m=Σx(i)/N

つまり平均が最小二乗法で得られるまさにその推定値だよ。

92 :70:03/11/30 18:26 ID:fNPUp/NC
みなさんご丁寧にありがとうございます。
僕は画像処理に興味があり、そういう関係の研究室に入ろうと
思っています。暇な今のうちに(今3回です)少し先取り学習をしておこうと
思っているのですが、何をすればよいのかわからないので、とりあえず信号処理、
画像処理、C、C++、VC++を独学しているところです。
大学の講義は簡単すぎるし、講義で指定されている参考書は演習問題が少ない上に
解答が不親切なので、手ごろな教科書を、と思い質問させていただきました。

ところで、ここでご解答いただいた方々は、いつ頃から本格的に信号処理、又は
それに関する分野を学び始めたのですか?

93 :名無しさん@3周年:03/11/30 18:33 ID:XVWnLO8B
>>90
まあこっちは素人なんでお手柔らかにプリーズ。

>>27さんの扱う信号の入力がステップでパスパス動くようなものってのが保証されてるとしたら、
 @>>79>問題なのは...という平均を目的である推定値としている点だけでしょう?
が外れるかもなあ、と思って。重箱。

94 :名無しさん@3周年:03/11/30 19:17 ID:JznXTTVF
>ところで、ここでご解答いただいた方々は、いつ頃から本格的に信号処理、又は
>それに関する分野を学び始めたのですか?

お前のカキコを見てから必死でググッテ「シッタカ貴子ちゃん」にキーワードいれて出てきた文章のコピペだよ

95 :名無しさん@3周年:03/11/30 21:15 ID:C3/NaorH
画像処理も立派な信号処理なんだけど、
俺は専門外なのでコメントできない。
このスレ見てると組み込み系のソフト/ファーム技術屋が多いように思う。
知ってる人いたらコメントしてあげて!

96 :27:03/12/01 00:09 ID:w34YDvWe
>>64>>65
ちょっと暫くネットにアクセスできない環境にいたので遅レスになりますが、
レスありがとうございます。


>>76(C3/NaorHさん)

>A(n)=A(n-1)+(x-A(n-1))/N
>の式っていうのは、A/Dそのものの解説じゃなくてアプリ事例
>の説明で出てくる式なんじゃないですか
>>27ではADCのデータシートに書いてあったと書きましたが、本当は
おっしゃる通りアプリ事例の説明で出てきます。(汗
ちなみにネタ元はこれのP.9です。
http://focus.ti.com/lit/an/sbaa092/sbaa092.pdf

>あるいは信号に高い周波数の雑音が混入していて目的の低い周波数の信号
>をろ波したい場合が相当しますが
そうですね、ノイズがどのようなスペクトルを持っているかは分からないのですが
(そういう測定ができるような高価な計測器がないもので....)目的は
ノイズの除去です。ただし、測定対象の物理量が変動していないと推定できる
場合に限り。>>35>>38あたりにも書きました通り、目的は正解(測定対象の
物理量の実際の値)に可能な限り一番近い値を求めることにありますので。

97 :27:03/12/01 00:13 ID:w34YDvWe
>ただ応答性をよくするためにX-A(n-1)に応じてウインドウを可変させるより、
>サンプリング速度を早くして、ウインドウサイズも大きくして固定させる
>のがよさそうに思いますが。
それだと、例えば剛体同士を衝突させたときの力の変化なんかのような、
短時間で時間微分が符号を跨ぐような(早い話が、グラフに書いたときに
尖った凸になるような)ものを測定したときにまずい気がします。

>>27センサ出力と物理量とニーズの関係はどうなってるの?。
ちょっと諸事情で物理量とセンサ出力の関係については申し上げられません。
というのも、それについて言及するためには、測定対象の物理量がいったい何で
あるのかについて述べる必要があるので。すみません。

ニーズについては、まさにおっしゃるとおりぶっちゃけ「最下位桁が絶えずころころ
値が変動してるのは気持ち悪い」というニーズがあり、これに応えるため
といって良いと思います。純粋に得られたデータからノイズ成分を除去したい、
ということなら、なにもデバイスの中で勝手な処理をするより事後的にエクセルなりを使って
行なったほうがよっぽど精度が高いでしょうから。

98 :名無しさん@3周年:03/12/01 04:06 ID:VsSXrkOs
おーっと!これまでの説明がゴミですな。
まずソースを見せてもらったほうがよかった。申し訳ない。
これは、デシメーションフィルタです。ウインドウというのは演算上の区切り
じゃなくて、Nサンプリングに1回、Aの値を外部に出力する区切りを意味します。
但し、A(n)=A(n-1)+(X-A(n-1))/Nの計算はサンプリング毎に計算し続けます。
で、デシメーションフィルタの意味は単純にデータを間引くとそれこそ
エイリアシングの影響をモロに受けるのでその影響を排除するためLPFを挿入
する必要があるわけですが、先の式はまさにそのLPFを意味しています。
つづきは明日

99 :名無しさん@3周年:03/12/01 07:34 ID:bYyd1D/F
>>93>>90>>91の間違い。ネタモトはなるほど。

100 :名無しさん@3周年:03/12/01 07:55 ID:bYyd1D/F
100げっと。
2自由度PIDの変種って捕らえ方が漏れ的にはしっくりする。
計算ゴミ対策で積分項入れたほうがいいかもしんない、と思った。

101 :名無しさん@3周年:03/12/01 11:22 ID:VsSXrkOs
つづきです。
お断りしておきますが下記はTi資料についてのコメントです。
>>27さんの処理はTiものは違います。それと移動平均の解釈が信号処理の
定義とは明らかに違いますよ。信号処理を知ってる顧客なら恐らく混乱して納得
してもらえないこと保証します。
Tiのものはあくまでデシメーションです。デシメーション処理とは
単純にデータを間引くのではなくて信号にいったんLPF処理したあとでデータを
間引くことでエイリアシングの影響を排除します。

>>27さんはTi資料のrunning avarageを移動平均と訳してらっしゃるけど、
FIRフィルタで計算できる移動平均(Moving Avarage)とは明らかに異なり。
IIRフィルタ(自己回帰+移動平均)でしか表現できません。
Tiの式はN個の単純平均のΣX(i)/N
を計算してるわけではなくて、
A(n)=X(n)/N + (1-1/N)A(n-1)
= X(n)/N + X(n-1)(1-1/N)/N + (1-1/N)^2A(n-2) = ...
という具合にX(i)の係数がそれぞれ異なります。IIRですからX(0)の
値もA(∞)に影響します。
オフライン処理だとデシメーションフィルタにIIRなんか使うよりFIR
を使う方が好都合ですが、Nが少ない場合には満足できるフィルタリング
特性が得られないのと、N個のサンプル値を保持する必要があり、
より少ないリソースで実現できるやり方を例示したと思います。サンプリング
を早くして、応答性が犠牲にならない程度にNを大きく出来るならFIRでも問題
ないはずです。ちなみにN個単位で上記式をリセットするわけじゃないですよ。
そんなことしたらフィルタ特性が無茶苦茶です。

因みにこのIIRフィルタ特性は両辺Z変換して伝達関数を計算すればよく
A(z)/X(z) =1/(N-(N-1)z^-1)
です。z = exp(jΩ)、0<=Ω<=πとおいて右辺のabs値とargをプロットすればLPF特性が
確認できます。

102 :98、101:03/12/01 12:43 ID:VsSXrkOs
>>27さんの処理で
大きい変化があった場合、フィルタリングせずにそのまま
出力するっていうのは、その場合何のフィルタリング処理も
しないわけですから測定値の信頼性に問題が出るはずです。
応答性をよくするためにNを可変せるということはかなり
場当たり的処理と判断します。入力変化に応じて観測値の
信頼性が変化するわけですので。
俺が顧客なら常に一定の信頼性が欲しいのでNの固定を要求
します。サンプリング速度を速くして応答性に問題ないような
Nを選択して固定値としてください。


103 :98、101:03/12/01 12:49 ID:VsSXrkOs
つづり間違ってスマソaverage

104 :名無しさん@3周年:03/12/01 12:58 ID:VsSXrkOs
顧客心理として、決定的なことをいうと
プロットしたデータを見て部分部分でデータの信頼性が違うと言われて
あなた納得できますか?

105 :ウルトラマン:03/12/01 13:46 ID:NhXp1P48
ここには、お二人の「名無さん@3周年」がおられます。間違わないように
27の方の質問に対し
お一方は、デシメーションフィルタと答えており、
もう一方は、2自由度PIDの変種と答えています。
どちらが正しいのでしょうか?

106 :sage:03/12/01 15:56 ID:erP1z4wQ
27さんは、http://focus.ti.com/lit/an/sbaa092/sbaa092.pdf の資料通りに
設計しているだけと思うが?

107 :名無しさん@3周年:03/12/01 16:53 ID:VsSXrkOs
>>106
そだね。なによりTiの重量計の使い方なんだから
"その通りやりました"でいいんだね。

108 :名無しさん@3周年:03/12/01 18:07 ID:bYyd1D/F
>>105
盲人が象を語ってみました。そんなことより、井上喜久子かとオモターヨ。

>>106-107
同意するけどひでえオチ(w

109 :27:03/12/02 00:49 ID:6Z54cLPj
>>101

>Tiのものはあくまでデシメーションです。デシメーション処理とは……
それはちょっと違うのではないでしょうか。(1)時間当たりの出力データ数(
原文ではDisplay Rate)を減らさずに、(2)ノイズの成分を減らす ための方法として
Running Averageが提示されているのではと思うのですが。

>>27さんはTi資料のrunning avarageを移動平均と訳してらっしゃるけど、
>FIRフィルタで計算できる移動平均(Moving Avarage)とは明らかに異なり。
最初に>>27にも書いております通り、そもそもこれが厳密には移動平均ではなく、
あくまで近似でしかないのは承知しています。
ところで、私は最初"Running Average"という術語の意味が分からなかったので
http://wwwd.nova.co.jp/webdic/webdic.htmlの辞書に当たってみたのですが、
この辞書だと"Running Average"も"Moving Avarage"もどちらも「移動平均」と
なっているのですが、これは辞書の間違いでしょうか?

110 :27:03/12/02 00:57 ID:6Z54cLPj
>>102,>>104

>大きい変化があった場合、フィルタリングせずにそのまま
>出力するっていうのは、その場合何のフィルタリング処理も
>しないわけですから測定値の信頼性に問題が出るはずです。
---------------------
>顧客心理として、決定的なことをいうと
>プロットしたデータを見て部分部分でデータの信頼性が違うと言われて
>あなた納得できますか?

むしろ逆ではないでしょうか?「信頼性」が測定精度のことを指すのであれば、
ウィンドウサイズを固定してしまうと、信頼性が低下すると思うのですが。
例えばサンプリングレート100Hz、移動平均のウィンドウサイズ10固定の
システムに期間0.02秒、高さ(?)100のインパルス入力を入れてやると、
出力は最大でも1/5の20以下になってしまうはずです。

インパルス入力というのはセンサで物理量を計るときにはあまりないかもしれませんが、
たとえば既に例にだした剛体同士の衝突時の力の変化の測定なんかの場合には、
あきらかに未処理のデータの方が実際の物理量に「より近い」と思います。

コップの水の例えばなしじゃないですが、物は考えようでは?
「高速追従性」(?)と、「安定時の高精度」の美味しいとこ取りだと私自身は思っています。
「誤差の大きさが一定でない」というとなんだかいい加減に聞こえますが、
「安定時には誤差が低減する」とプレゼン(?)すればまんざらでもないのではないでしょうか?

111 :名無しさん@3周年:03/12/05 04:16 ID:WPjWHHO7
>インパルス入力
あのさぁ
アナログ系のδ関数と
ディジタル系のδp関数の違いをわかって言ってるんだろうな?

112 :名無しさん@3周年:03/12/06 21:40 ID:Oxmz/jLE
ノイズシェイピングの仕組みを勉強したいのですが
普通に売ってる入門書レベルにはあまり書いてありません。

詳しくのってる文献などありませんか?

113 :名無しさん@3周年:03/12/06 22:33 ID:/XN0Zo15
>>112
「どの程度詳しい文献が必要なのか?」にもよりますが、日経BP社の
「オーバーサンプリングA-D変換技術(ISBN4-8222-7117-X)」には
MASHについて解説があります。私の手元の本は1990年に出版されたもので、
少々古いから、今はもっといい本があるかも知れません。

114 :112:03/12/06 22:57 ID:6gO8U3vK
48k16bitのデジタルオーディオ信号を
384k8bitぐらいに変換したいんです。
今月のトラ技に少しのってたのでもっと詳しくやってみたいなと。

それをFPGAに実装したいです。


115 :名無しさん@3周年:03/12/06 23:23 ID:vStG/NKM
>>114
レート変換で問題になるのは補間だな。

116 :名無しさん@3周年:03/12/07 13:16 ID:NaITiSpU
デジタルオーディオのフォーマットなら、そんなICが既にいくらでもあるだろ。
ビット減らすなんてのは、単純に下を切ればいいんだから。

それにノイズセービングなんて考えれば判ることだろが。
考えてワカラン奴が何よんでも無駄


117 :113:03/12/07 14:01 ID:r6T3WLWl
>>116
>>114は、もう少し次元が高いことを考えているのではないでしょうか?
パラレル16Bitであれば理論上のS/Nは、6*16+1.8=97.8dBになります。
単純にLSBから8Bitを切り捨てるとS/Nは、6*8+1.8=49.6dBになってしまいます。
一方でサンプリング・レートの違いは、384K/48K=8であり、9dBの向上が見込めます。
>>115で言われている補間がうまく行ったとして、以上をトータルすると、
97.8-(49.6+9.0)=39.2dBの劣化が見込まれます。
この劣化分をノイズ・シェーピング技術で少しでも補いたいと言うものでしょう。

>>114
私が113で挙げたMASHは、1Bitのものです。また、このようなアプリケーションを
どのように実現するのかについて、残念ながら私には経験がありません。
基本的なノイズ・シェーピング技術は、誤差出力のうち希望信号帯域幅の信号をを入力に
帰還し、入力信号と帰還信号信号とを減算処理して誤差出力を得るとしたプロセスです。
このようにすることで希望信号帯域幅内の誤差を最小にする働きをします。
この処理で問題となるのが、「安定性」です。出力を入力に帰還させますので、
最悪の場合には発振を生じ得るものです。
この程度のことであれば、113の書籍に出ています。ただ複数Bitでの処理は無かった
ように記憶しています。しかし本質的な違いは無いように思います。

118 :112:03/12/07 17:36 ID:TvODu/cm
>>113
117の前半に書いてある通りのことをしたいのです。

デジタル信号処理は以前に少しだけ勉強したことがあります。
(FIRやIIRフィルタぐらいまで)
普通の入門書は大体この辺までしか書いてありません。
専門でやっているわけではないので、定番の書籍などにあまり詳しくないんです。

これで何をやろうとしているのかというと
今はやりのD級アンプを自作できないか?です。

アナログ処理ならトラ技にも出ていますが
フルデジタルだと三菱ソニーやTIなどメーカー品がありますが
自作で可能かを追求してみたいのです。
(単純に16bit48kでPWMをやると数GHzのクロックが必要になり無理です。)

113の本を探して見ます。ありがとうございます。




119 :名無しさん@3周年:03/12/07 17:37 ID:e5LFmUTU
http://www.acoust.rise.waseda.ac.jp/publications/yamasaki/jasj/JASJ46-3-1990.pdf
http://wwwsscd.ee.sophia.ac.jp/Publication/koba0201.pdf

↑MASHってこういうのですか?
フィルタを連続時間のにしたらだめですか?

120 :名無しさん@3周年:03/12/10 02:55 ID:bgpY28mW
FPGAって何?

121 :名無しさん@3周年:03/12/10 03:14 ID:2ejcDYNL
>>119
ググってから、解らない部分についてもう一度質問しようか・・・
ね?
解りやすく言うと、「てめー、大して調べもせずに他人様にきいてるんじゃねーぞ!」
ってことじゃ、ボケ!!!

122 :名無さん@1周年:03/12/10 10:41 ID:98xKpyqL
MASHは、オーバーサンプリングのΔΣ型AD変換器の一種ですよ。
NTTの特許で、昔、パナソニックのオーディオ製品に使われていましたね。
3次MASHで有効ビット数が16ビットで実現出来ていましたね。

123 :70:03/12/11 01:43 ID:IV0oEM38
>>70
マグロウヒル大学演習シリーズはどう?

124 :名無しさん@3周年:03/12/12 17:09 ID:bd+ObhVa
>>120
ファイナンシャルプランナーギロチン機構

なけなしの虎の子をアボーンさせられたバカ被害者が最後に駆け込む組織だ。


125 :訂正:03/12/12 17:11 ID:bd+ObhVa
>>120
フイナンシャルプランナーギロチン機構

なけなしの虎の子をアボーンさせられたバカ被害者が最後に駆け込む組織だ。


126 :名無しさん@3周年:03/12/23 23:00 ID:BqlrW48s
もしこのスレに人がいるのなら、だけど

ttp://science2.2ch.net/denki/

の方が板として適当かも。

127 :名無しさん@3周年:04/01/12 13:31 ID:Bc4p1W9s
群遅延があまりないローパスフィルタ
はどういうものがありますか。


67 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)