フーリエ変換の結果を1つの変数にまとめる

4 Ansichten (letzte 30 Tage)
Jo Sasaki
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|]

Akzeptierte Antwort

Yoshio
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

Weitere Antworten (0)

Kategorien

Mehr zu フーリエ解析とフィルター処理 finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!