how to get only the important bandwidth of a sound
4 ビュー (過去 30 日間)
古いコメントを表示
Hello i am doing sound processing and i get all the time the [upper,~] = bandwidth(y); upper is around 220k either i speak or not when i use Amplitude Spectrum with out speaking i get this figure

my code for the plot is
set(0,'DefaultFigureVisible','on')
Y = fft(y);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L;
h(4)=figure;
plot(f,P1)
title('Single-Sided Amplitude Spectrum of X(t)');
xlabel('f (Hz)')
ylabel('|P1(f)|')
=f;
yyyyy=P1;
indexmax = find(max(yyyyy) == yyyyy);
xmax = xxxxx(indexmax);
ymax = yyyyy(indexmax);
strmax = ['Maximum = ',num2str(ymax),' F = ',num2str(xmax),' hz'];
text(xmax,ymax,strmax,'HorizontalAlignment','left');
i need to get only the important freq and if i speak to get near the 300-3000 of a human bandwidth or if i have a dog sound to get the dog bandwidth
Thanks
5 件のコメント
Jan
2017 年 2 月 7 日
As Walter has assumed already: This is the linear algebra bandwidth of the array, which means the number of non-zero elements below or over the main diagonal: https://www.mathworks.com/help/matlab/ref/bandwidth.html
採用された回答
Honglei Chen
2017 年 2 月 7 日
編集済み: Honglei Chen
2017 年 2 月 7 日
You may want to look into either powerbw or obw instead
HTH
3 件のコメント
Honglei Chen
2017 年 2 月 7 日
The reference page now actually indicates, at the bottom of the page, which release the function is introduced. I think both of them are introduced in R2015a, so you probably need to upgrade.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Measurements and Spatial Audio についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!