よろしくお願いします。
scilabにてオーバーラップを掛けてFFT解析をしたく、いくつかのWebを参考にさせて頂きながら
試しているのですが、”添字に誤りがあります”とエラーになってしまいます。
ソースは
clear all;
stacksize('max')
v0=read_csv('C:\Users\*****\Desktop\scilab\data7.csv',",")
v1 = evstr(v0);//上記v0データは文字列認識の為数値データに変換
//窓関数
N1=256;
win_l = window('hn',N1);
win_l_minus = win_l * -1;
//FFTを実行
N=size(v1,1);//データ長
N2=N1/4; //N/2で50%オーバーラップ
L = floor(N/N2)-1;//全サンプルに対するFFTの必要回数
y = 0;//出力ベクトルyの初期値
past_tail=zeros(1,N2);//ハーフオーバーラップ加算信号の初期値
for k=1:L
n =N2*(k-1);//FFTの開始地点を更新
v2=win_l*v1( n+1 : n+N1 );//観測信号に窓を掛ける
v3=fft(v2,-1);//FFT
y1=fft(v3,1);//IFFT
y=(y,past_tail + y1(1:N2));
//今回のIFFTの前半を前回のIFFT後半に加算してから出力ベクトルyに追加
past_tail=y1(N2+1:N1);//今回のIFFT結果の後半を記憶
end
fv1dBuV=zeros(N,2);
fv1dBuV(1,1) = 0;//DC =0Hzを入力
fv1dBuV(1,2) = 20*log10(abs(y(1)/N)/10.^-6);//dBuVに変換
sr = 4000; //sr:サンプリングレート[sample/sec]
dt = 1/sr; // dt: サンプリング間隔[sec]
T = N*dt; // T: 測定時間[sec]
df =1/T; //Hz df: 1/測定時間->最低周波数、周波数分解能[Hz]
for i=2:N
fv1dBuV(i,1)=(i-1)*df///10^6;//周波数をMHzで記録
fv1dBuV(i,2)=20*log10(abs((y(i))/(N/2))/10.^-6); //N/2の左半分を使用して算出
end
になります。(この後はPlot処理)
y=(y,past_tail + y1(1:N2))で上記エラーが指摘されます。
プログラミングは初心者なのでどのように修正したらよいか
教えていただけると助かります。
また、オーバーラップを掛けてのFFT解析で他の方法があれば
教えてください。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
> ”添字に誤りがあります”
と言われているのですから、添字が正しいかどうかを中心に見直すことです。
> y=(y,past_tail + y1(1:N2))で上記エラーが指摘されます。
ということなら、ここで使われている変数等に問題がある、ということです。
となると
y
pass_tail
y1(1:N2)
が関係していると考えます。
それぞれを見ると
pass_tail=zeros(1,N2)
y1=fft(v3,1);//IFFT
です。
https://help.scilab.org/docs/5.5.0/ja_JP/zeros.h …
によると、 zeros(1,N2) は1×N2の行列です。
https://help.scilab.org/docs/5.5.0/ja_JP/fft.html
によると、 fftが返すのはベクトルです。
「行列+ベクトル」って計算できましたっけ?
回答ありがとうございます。
上記エラー部分ですが、
http://www.kumikomi.net/archives/2010/09/ep30rir …
こちらを参考にさせていただいていたのですが。
今回ご指摘頂いた部分を見直してみます。
『行列+ベクトル』⇒修正してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 「FFTの基本は、DFTはサンプル数Nが偶数なら 2つのDFTに分解できるということ。 分解するとD 3 2022/03/31 21:01
- 物理学 風力発電での音 1 2023/04/16 08:55
- 物理学 フーリエ級数展開をExcelのFFTでシミュレートする 5 2023/07/03 22:02
- 統計学 t値の計算方法 1 2022/11/29 18:37
- その他(プログラミング・Web制作) Pythonにおける物理のシミュレーションでの単位変換について 2 2023/06/02 17:11
- 工学 周波数fで表現したフーリエ変換の対称性に関する質問です。 1 2022/09/14 12:27
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- 数学 回答の意味について 3 2023/07/06 14:14
- 数学 離散フーリエ逆変換が周波数分割数をNにできる理由について 4 2022/09/18 12:56
- 工学 オペアンプによる増幅回路でのノイズ対策について 5 2022/03/22 16:06
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
大人になっても苦手な食べ物、ありますか?
大人になっても、我慢してもどうしても食べれないほど苦手なものってありますよね。 あなたにとっての今でもどうしても苦手なものはなんですか?
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
プリン+醤油=ウニみたいな組み合わせメニューを教えて!
プリンと醤油を一緒に食べると「ウニ」の味がする! というような意外な組み合わせから、新しい味になる食べ物って色々ありますよね。 あなたがこれまでに試した「組み合わせメニュー」を教えてください。
-
タイムマシーンがあったら、過去と未来どちらに行く?
20XX年、ついにタイムマシーンが開発されました。 あなたは過去に行く? それとも未来? タイムマシーンにのって、どこに行って、何をしたいか教えてください!
-
scilabのエラーに関して
その他(プログラミング・Web制作)
-
scilabでのグラフ描画時の軸設定
その他(プログラミング・Web制作)
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・ちょっと先の未来クイズ第5問
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規直交基底であることの確認
-
行列とベクトルの表記の仕方に...
-
「ノルム、絶対値、長さ」の違...
-
平面の交線の方程式
-
2次元における外積について
-
一次独立だけど、基底にならな...
-
一本のベクトルに直交するベク...
-
n次元ベクトルの外積の定義
-
行列:rankの問題
-
行列式が1とはどういう意味です...
-
複素数の絶対値の性質について
-
ナブラ ラプラシアン
-
2つに直交する単位ベクトル
-
座標系の奥(手前)方向の書き方
-
数学のベクトルの外積(ベクト...
-
微積分の記号δ、d、Δ、∂の違い
-
ベクトルについて
-
線形代数 直交するベクトル
-
ベクトルをロールピッチヨーに...
-
平面上の異なる2点O、Aに対して...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報