ハミング窓 窓かけについて
显示 更早的评论
0 个投票
このようなプログラムに窓かけをするとどのようになりますか.
入力xが二列あったためLch,Rchの二つに分けていますが,Lchのみで大丈夫です.
最近MATLABを使い始めたため,初歩的な質問で申し訳ありませんが,よろしくお願いいたします.
1 个评论
Kaede
2020-5-31
使用したデータはこちらです.
采纳的回答
Hiroshi Miyagawa
2020-5-31
MATLAB の Signal Processing Toolbox には各種窓関数があります。
以下の回答もご参照ください。
なお、ハミング窓をかける関数 hamming については以下をご参照ください。
10 个评论
Kaede
2020-6-1
こんにちは.ご回答ありがとうございます.私もこちらのページは拝見させていただきましたが,MATLABを最近使い始めたため理解するのが難しい部分があるため,大変申し訳ないですが説明していただければありがたいです.
具体的にはhammingにはLを入れると書いていますが,ハミング窓をかけるときは入力のxは関係ないのでしょうか.
以上です,よろしくお願いいたします.
関数hammingはハミング窓を生成する関数です。上記では「ハミング窓をかける関数」と書いてしまいました。混乱させてしまい申し訳ありません。
実際に窓かけしているのはハミング窓を生成(W = (hamming(L))';)した次の行ですね。
Kaede
2020-6-1
お返事ありがとうございます.
かしこまりました.
Wに窓かけをしたいものを掛ければよいという認識でこのような式を追加
して窓かけをしてみたのですがこのようなグラフになるのでしょうか.
して窓かけをしてみたのですがこのようなグラフになるのでしょうか.W = (hamming(L));
d=d.*W;
Kaede
2020-6-1
横軸がデータ数になってしまっているのですがここのtは時間分解能でよいのでしょうか.
具体的な値が不明なためそのようなグラフになるのか否かはよく分かりません。
理解出来たら、ご自身のデータを当てはめてみる、という流れが結局一番早いと思います。
kaedeさんのコードを確認したところ、L=8となっており、遅延用のベクターサイズとなっているようです。
その長さで窓関数を適用しても、所望の結果は得られないと思います。窓関数は信号の両端に発生する不連続点の影響を無くすように、両端の値が小さくなっています。
>> windowDesigner
で各種窓関数の時間軸波形と周波数軸波形を確認できます。
適用先の信号と同じ要素数の窓関数を作るにはlength関数を使うと良いと思います。
fs = 44100;
t = 0:1/fs:0.08;
d = sin(2*pi*100*t)';
winLen= length(d);
win = hamming(winLen);
dWin = d.*win;
plot(t, d)
hold on, plot(t, dWin)
Kaede
2020-6-3
コメントありがとうございます.L=8はわけもわからず8にしていたため2048で行いました.
自分でハニング窓をかけて1kHzまで表示したらこのような図になりました.自分的には上手くいっているように感じます.

Kaede
2020-6-3
ハミングといいつつもハニングでやってしましたがハミングでも大きく変わりはないように見えました.
Shoumei
2020-6-4
研究うまく行って良かったですね。
Kaede
2020-6-5
1から100まで説明していただいたおかげで少しずつ理解できてます.ありがとうございました. まだまだわからないことだらけなので助けていただけるとありがたいです.
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Bartlett 的更多信息
产品
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)