フーリエ変換の結果を1つの変数にまとめる
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jo Sasaki
am 18 Aug. 2019
Beantwortet: Yoshio
am 23 Aug. 2019
t-sne解析のためのデータシートの作成のために多量のフーリエ変換の結果を1つの変数にまとめたいのですが、
filename = 'sample.csv';
wave = csvread(filename);
Fs = 500000; % Sampling frequency
T = 1/Fs; % Sampling period
L = length(wave); % Length of signal
t = (0:L-1)*T; % Time vector
A = L/3001;
A2 = decfloor(A,1);%フーリエ変換するデータ個数
n = 1;
fileNum = 1;
for n =1:A2
K = 3000*(n-1);
K1 = 3000*n;
data = csvread(filename,K,0,[K,0,K1,0]);
Fs = 500000; % Sampling frequency
T = 1/Fs; % Sampling period
L = length(data); % Length of signal
t = (0:L-1)*T; % Time vector
X = data;
W = (hamming(L));
X_h = X .* W;
Y_h = fft(X_h);
P2_h = abs(Y_h/L);
P1_h = P2_h(1:L/2+1);
P1_h(2:end-1) = 2*P1_h(2:end-1);
f = Fs*(0:(L/2))/L;
hammilngfourier = 2*P1_h; %保存するデータ
fileNum = fileNum + 1;
end
この手順で一つ一つフーリエを行い、結果(hammilingfourier)を1行づつ列方向に羅列したいのですがどういったコードを組めば可能でしょうか?
%作成する変数,
%X=
%[
%fftresult1|111111111111111111111|
%fftresult2|222222222222222222222|
%fftresult3|333333333333333333333|
%...
%fftresultn|nnnnnnnnnnnnnnnnnnnnn|]
0 Kommentare
Akzeptierte Antwort
Yoshio
am 23 Aug. 2019
もし時系列データの個数が全て同じであるなら、以下のコードが参考になるかと思います。
n = 9;
one16 = ones(1,16);
X = [];
for i = 1:n
% データ読み取りとFFT処理
%
%
hammilngfourier = one16*i; % 確認用ダミーデータ
X(i,:) = hammilngfourier;
end
X
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu フーリエ解析とフィルター処理 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!