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

7 ビュー (過去 30 日間)
Jo Sasaki
Jo Sasaki 2019 年 8 月 18 日
回答済み: Yoshio 2019 年 8 月 23 日
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|]

採用された回答

Yoshio
Yoshio 2019 年 8 月 23 日
もし時系列データの個数が全て同じであるなら、以下のコードが参考になるかと思います。
n = 9;
one16 = ones(1,16);
X = [];
for i = 1:n
% データ読み取りとFFT処理
%
%
hammilngfourier = one16*i; % 確認用ダミーデータ
X(i,:) = hammilngfourier;
end
X

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDiscrete Fourier and Cosine Transforms についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!