//Frequency components of a signal //---------------------------------- // build a noised signal sampled at 1000hz containing pure frequencies // at 50 and 70 Hz
//s is real so the fft response is conjugate symmetric and we retain only the first N/2 points f=sample_rate*(0:(N/2))/N; //associated frequency vector n=size(f,'*') clf() plot(f,abs(y(1:n)))
t=0:1/44100:2;
x=sin(2*%pi*440*t);
plot2d(t(1:4410),x(1:4410));
グラフ中でまずルーペの+印(赤丸の部分)をクリックしてから、マウスで下の図のように範囲を指定すると、その部分が拡大される。
http://www.cs.t-kougei.ac.jp/av-media/lectures/2012/cs/y3/amp/2/page030.html
2016/10/2(日) 午前 5:49[ ogw*og*3 ]返信する
左クリック
で次に2番目の領域を左クリックで指定
隣のボタンで元に戻る
2016/10/2(日) 午前 5:57[ ogw*og*3 ]返信する
clf;
plot2d(t(1:220),x(1:220));
y=x * 0.5;
clf;
plot2d(t(1:220),[x(1:220);y(1:220)]');
flameflag=8を使うと、プロットの上に別のプロットを重ね描きすることができる。
a=cos(2*%pi*440*t);
plot2d*1/N; //associated frequency vector
11. n=size(f,’*’)
12. subplot(2,1,2)
13. plot(f,abs(y(1:n)))
http://scilab.kani33.com/2015/05/post-523/
2016/10/2(日) 午前 9:06[ ogw*og*3 ]返信する
X軸に沿って0がDC(直流)成分で、以降Cos波が徐々に周波数を高くしながら続いているのが分かります。
http://www.geocities.jp/maeda_hashimoto/math/sig_ch01pr00p01.htm
2016/10/2(日) 午前 9:42[ ogw*og*3 ]返信する
数学:フーリエ級数学習のやりなおし(矩形波)
http://blogs.yahoo.co.jp/puccinisan/16466688.html
2016/10/2(日) 午前 9:46[ ogw*og*3 ]返信する
呼び出し手順
X=fft(A [,sign] [,option])
X=fft(A,sign,selection [,option])
X=fft(A,sign,dims,incr [,option] )
https://help.scilab.org/docs/5.5.1/ja_JP/fft.html
2016/10/2(日) 午前 9:58[ ogw*og*3 ]返信する
//Frequency components of a signal
//----------------------------------
// build a noised signal sampled at 1000hz containing pure frequencies
// at 50 and 70 Hz
2016/10/2(日) 午前 10:05[ ogw*og*3 ]返信する
sample_rate=1000;
t = 0:1/sample_rate:0.6;
N=size(t,'*'); //number of samples
s=sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1);
y=fft(s);
//s is real so the fft response is conjugate symmetric and we retain only the first N/2 points
f=sample_rate*(0:(N/2))/N; //associated frequency vector
n=size(f,'*')
clf()
plot(f,abs(y(1:n)))
// https://help.scilab.org/docs/5.5.1/ja_JP/fft.html
2016/10/2(日) 午前 10:05[ ogw*og*3 ]返信する
// 入力ファイル名
infile='piano_A.au';
// FFTする系列長
N = 1024;
// 音声読み込み
[dat, fs] = auread(infile);
// 入力波形表示
t=0:1/fs:(N-1)/fs;
clf();
subplot(2,1,1); plot(t, dat(1:N));
xlabel('time [sec]');
ylabel('input data');
// FFT
X = fft(dat(1:N));
A=zeros(1,N/2+1);
fre=zeros(1,N/2+1);
for k=1:N/2+1
A(k)=abs(X(k));
fre(k)=fs*(k-1)/N;
end
// 結果表示
subplot(2,1,2); plot(fre, A, 'r');
xlabel('frequency [Hz]');
ylabel('Magnitude');
2016/10/2(日) 午後 7:29[ ogw*og*3 ]返信する
206 msgid "Submatrix incorrectly defined.\n"
207 msgstr "部分行列が誤って定義されています.\n"
x(111:115)=[0.7,-0.3,0.5,0.8,-0.4];
http://www.cs.t-kougei.ac.jp/av-media/lectures/2013/cs/y3/amp/7/page030.html
http://fossies.org/linux/scilab/modules/output_stream/locales/ja_JP.po
2016/10/2(日) 午後 10:26[ ogw*og*3 ]返信する
これはScilabでも同様の傾向を示す。この例でもrandで1000行1列の ベクトルに対して積と羃乗による差の計算を示している。ここでは for文によるloopを利用している。この理由はloop無しの場合、timer() で計測すると0.を返した為である。尚、ここでの計測は Pentium!!! 600MHzのLinux環境での結果である。
http://www.ac.cyberhome.ne.jp/~konoha/Math/Scilab.html
-->a=rand(1000,1);
-->timer();for k=[1:1000]; b=a.*a;end;timer()
ans =
0.06
2016/10/3(月) 午前 2:00[ ogw*og*3 ]返信する
時変スペクトル信号処理 - 佐藤亨研究室 - 京都大学
www-lab26.kuee.kyoto-u.ac.jp/~tsato/ds/ds.pdf
信号処理の基本となる Fourier 解析は、あらゆる信号を正弦波の合成と考え、その振幅およ. び位相分布を調べる解析 ... R( ) F01[P(!)] = Z s(t)s(t + )dt. (6). が得られる。R( ) は自己相関関数である。信号 s(t) が複素関数である場合は. R( ) = Z s(t)3s(t + )dt. (7).
http://www-lab26.kuee.kyoto-u.ac.jp/~tsato/ds/ds.pdf
2016/11/5(土) 午後 4:20[ ogw*og*3 ]返信する
トラックバック先の記事
全2ページ
[1] [2]