フィルター処理後のスペクトラム表示がうまくいかない
5 次查看(过去 30 天)
显示 更早的评论
平素よりお世話になっております。
処理がうまくいかず、助けていただけると幸いです。
192kHzで取得した音源を、0.5Hzのカットオフ周波数,78dB/octでハイパスフィルターにかけたうえで、スペクトグラムを出そうと思うのですが、何も表示されない状況です。
dataOutの中身を見てみると、NaNと出てるので、ここがおかしいのだろうと思っているのですが、解決手段がわからないです。どなたかご指導いただけると幸いです。
%ハイパスフィルター処理
x=0.5/96000
[b,a] = butter(13,x,'high');%zは次数、aは正規化されたカットオフ周波数。matlab
%では、周波数/サンプリング周波数ではなく、周波数/ナイキスト周波数が正規化された
%周波数となる。ローパスとハイパスでは、次数が1につき6dB/octです。
%したがって、2次では12dB/oct、8次なら48dB/octということになります。
freqz(b,a)
dataIn =HCS;
dataOut = filter(b,a,dataIn);
spectrogram(dataOut,hann(256),128,256,192000,'yaxis');
colorbar;
1 个评论
takemoto
2020-9-15
解析対象のサンプリングレートに対して、解析点数が少なすぎるのが原因ではないかと考えられます。256点のfft点数をspectrogramの設定として与えていますが、解析対象が192kHzのサンプリングの場合、周波数分解能は192e3/256=750Hzとなりそうですが、いかがでしょうか?
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 時間-周波数解析 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!