人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ハニングとハミングの特性や特徴と、どういったもので使われるかわかりますか?
調べるとハミングは両端が0になるということなのですが
それだけだと、とても短い気がするのですが、何かありますでしょうか?
またどういったもので使われるか調べましたが、私のほうではわかりませんでした

●質問者: izupawapuro
●カテゴリ:コンピュータ 学習・教育
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● TransFreeBSD
ベストアンサー

両端が0になるのはハニングの方です。
両端が0でないということは、そこが不連続になりますので、高周波成分が入ってサイドローブが大きくなりがちです。
http://ja.wikipedia.org/wiki/%E7%AA%93%E9%96%A2%E6%95%B0#.E3.83.8F.E3.83.B3.E7.AA.93

窓関数には、

という2つの特長が要求される。 しかし、この2つはトレード・オフの関係にあり、両立させるには限界がある。

ハン窓

?
最もよく使われる窓関数の一つ。
?

ハミング窓

?
ハン窓と並び、最もよく使われる窓関数の一つ。ハン窓より周波数分解能が良く、ダイナミック・レンジが狭い。区間の両端で不連続なのが特徴。
?

ハン窓は連続です。加えて倍角公式により単項にできるシンプルさがあります。
http://en.wikipedia.org/wiki/Hann_function
特性も悪くなく、教科書的窓関数ではないでしょうか。ハミング窓は、その発展形として周波数分解能を良くしたものです。さらに一般化によって特性を調整できます。

一般化ハミング窓

ハン窓とハミング窓の一般化。実数パラメタ α, 0.5 <= α <= 1 を持ち、α=0.5 でハン窓、α=0.54 でハミング窓、α=1 で矩形窓になる。

極端に言えば有限時間=矩形窓=α=1の一般化ハミング窓とも言えます。
ですので時間/周波数領域変換において必ずついて回る、というのは言い過ぎかもしれませんが、基礎の基礎といえる窓関数ではないでしょうか。


izupawapuroさんのコメント
ハン窓の特性は1つくらいしかないんでしょうか・・・ 現在、ディジタル信号の参考書を図書館で借りて、いろいろと調べてはいるんですが なかなかハン窓やハミング窓のことは詳しく書いておらず 窓関数を使うと、このような結果になります。といった具合な参考書しか、今ところ見当たりません。 それとメインローブ、サイドローブなとが、まだ聞いたことがないのですが そこのとこの回答などはできますでしょうか?

TransFreeBSDさんのコメント
メインローブ、サイドローブはこちら http://ja.wikipedia.org/wiki/%E7%AA%93%E9%96%A2%E6%95%B0#.E7.AA.93.E9.96.A2.E6.95.B0.E3.81.AE.E6.80.A7.E8.83.BD 特性についてはいっぱい書いたつもりですが……何と比べた特性なのでしょうか。 と、ここでなぜ窓関数を使うか、という話なのかなと思いましたので下記リンクを。 http://ja.wikipedia.org/wiki/%E7%9F%AD%E6%99%82%E9%96%93%E3%83%95%E3%83%BC%E3%83%AA%E3%82%A8%E5%A4%89%E6%8F%9B 端的に言えば、窓関数使わないと有限時間で処理が済まない。しかし、使えば必ずノイズが乗る。 だからノイズが及ぼす影響が窓関数の特性です。

izupawapuroさんのコメント
ハミング窓(以下ハニングは略)自体の特性などはないのでしょうか? 窓関数については指定されたもので調べるように言われてしまったので ネットで検索すると確かに、特性やら特徴やら、あまり詳細に書いてないので なんともいえないのですが・・・これをハミング窓のマニュアルみたいなものに作るという目標で作っているのですが。 また画像のほうは合ってましたでしょうか?補足にやってみたのですが

izupawapuroさんのコメント
ハミングの波形を作ってたのですが、これで合ってますでしょうか? 参考書どおりにうまく滑らかになっていないので不安です。 http://uploda.cc/img/img50b8a76c324e5.jpg フーリエ変換などをしたのですが 結果が参考書みたいにならずに下記の結果になってしまいました。 http://uploda.cc/img/img50b8a81d00a75.jpg 環境はMATLABです。 ハミングの式は 0.5*(1-cos(2*pi*(n-1)/n0)); という具合で入れています MATLAB自身にハミングの関数があるみたいですが 私の環境だとできないみたいです。

izupawapuroさんのコメント
またどのような用途で使われているのかも、課題として出てしまっています 今手元には、一応証拠として、わかりやすいディジタル信号処理(1993年)や プラクティスデジタル信号処理(1998)などを見ています。

TransFreeBSDさんのコメント
ハミング窓自体の特性とはなんでしょう? 数値的には周波数領域では畳み込みになります。 畳み込み時、メインローブ、サイドローブが及ぼす影響は? 先に書いたように、矩形窓も含めれば必ず窓関数は使用されています。 まずは窓関数の意味を理解してください。 http://www.ic.is.tohoku.ac.jp/~swk/lecture/yaruodsp/win.html Wikipediaにあるように、周波数分解能とダイナミックレンジはトレードオフの関係にあります。 どの窓を使うのかは、そのトレードオフの結果、すなわち他の窓関数との比較によります。 「ハミング窓のマニュアルみたいなもの」と言うことですが、他の窓関数は何でしょう? 矩形窓は当然として、他に扱う窓関数との比較ではダメなのでしょうか? http://www.ni.com/white-paper/4844/ja ハミング窓の波形は、単にサンプリング数の問題では? 高さは手計算で確認出来ますよね? なめらかさはサンプリング数を多くすれば良いのでは?(見た目だけなら) フーリエ変換は出来てませんね。何か間違いがあるのでしょう。 用途とは時間/周波数領域変換の用途でしょうか? DFT/FFT?スペアナ?実例? あまり詳しくありませんが、どのレベルの話でしょう?

izupawapuroさんのコメント
特性を調べておきなさいといわれたので、特性とはなんでしょう?と言われると、なんともいえません。特徴、ということでもよろしいかもしれません。 私が担当しているはハニングとハミングなのですが、他の方はガウス、カイザー、矩形、ブラックマンといったところです。 比較、もある意味いいと思うのですが、比較せよ、とは言われてはいないのです、申し訳ないのですが、なんともいえません。ただ、もし困ったら比較を文章にする方向にしようと思います フーリエ変換はこうなったら、その授業のときにやるしかないですよね MATLABで窓関数を作れるような参考サイトがあればいいのてすが(フーリエ変換後などの説明なども) サンプリング数は教えられいません。 横軸のベクトルとして1024と与えられているので、もしかするとサンプリングが1024なのかな・・・? 内容としては、1024の中に50の横軸の窓関数を使うのですが。 用途というのは、実例です。説明不足ですいません ただ、言われて気になったのは「周波数分解能」「ダイナミックレンジ」の意味がわからないです。すいません

TransFreeBSDさんのコメント
>> 「周波数分解能」「ダイナミックレンジ」の意味がわからないです。 << ググっても分からないですか? 信号処理の基礎中の基礎用語だと思うのですが。 サンプリング定理とかやってないですか? 話はかわって。 例えばWindows7の特徴と言う場合、xpやvista、今なら8と比較して言いませんか? 何となく、名前の由来とか別名とか、連続不連続とかと、スペクトルから矩形、ブラックマンと比較してメインローブ/サイドローブがどうで、だから周波数分解能/ダイナミックレンジがどうで、だから連続的な信号の分析に有効だとか、そういうのだという気がするのですが。 ただ、調べる目的、授業だとしても意図とかあると思うので、そういうのが分からないと何とも。 MATLABの方は「1024の中に50の横軸」の意味が分からないのですが、リンクの図は11点に見えます。

izupawapuroさんのコメント
ググってもさらにわからない単語ばっかりで、逆にわからん!ってなってしまいまして・・・。 一応信号処理の授業は終えたのですが、1年前ほどで、かなり忘れています。 おそらく別の窓関数との比較とは違うと思います。 私が担当しているハミング窓はどういう処理で使われるか、といった具合です。 調べる目的としては・・・これから超音波(もしは事例)などで使用する際にどういった・・・といったところでしょうか。目的を調べろ、とは言われてないので・・・。 MATLABの1024というのは、1024の横軸のベクトルの配列を用意して その1024の横軸のベクトルの中に1周期10点×5で50点だと思います。 リンクのは1024点の中でやると、とても長すぎて画面が見づらいと思ったので 11点(たぶん10点かな?)にしました。 次は50点を取ったハミングを載せます ただ、1024から50点なので、限りなく見づらいと思います またフーリエ変換したものも載せておきます 10点周期のハミングを5周期?にしたもの http://uploda.cc/img/img50bc93db4c80f.jpg ↑をフーリエ変換したものです http://uploda.cc/img/img50bc93e35da23.jpg

izupawapuroさんのコメント
ひとつ疑問に。 回答で「もっともよく使われる窓関数である」とかかれて降りますが なぜもっとも使われる窓関数なのでしょう? これをプレゼンするとなると、そういった疑問をもたれると思うので

izupawapuroさんのコメント
ひとまず最低限のことを教えていただき、また長い間お付き合いしていただいたので 一旦ベストアンサーで締めくくります! 別質問で完成したハニングの振幅と位相を確認したいので、そちらで質問させていただきたいと思います! 長々とありがとうございました!

質問者から

ハミングの波形を作ってたのですが、これで合ってますでしょうか?
参考書どおりにうまく滑らかになっていないので不安です。
http://uploda.cc/img/img50b8a76c324e5.jpg
フーリエ変換などをしたのですが
結果が参考書みたいにならずに下記の結果になってしまいました。
http://uploda.cc/img/img50b8a81d00a75.jpg
環境はMATLABです。

ハミングの式は
0.5*(1-cos(2*pi*(n-1)/n0));
という具合で入れています
MATLAB自身にハミングの関数があるみたいですが
私の環境だとできないみたいです。


関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ