フーリエ変換の結果を1つの変数にまとめる
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Yoshio
le 23 Août 2019
もし時系列データの個数が全て同じであるなら、以下のコードが参考になるかと思います。
n = 9;
one16 = ones(1,16);
X = [];
for i = 1:n
% データ読み取りとFFT処理
%
%
hammilngfourier = one16*i; % 確認用ダミーデータ
X(i,:) = hammilngfourier;
end
X
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur フーリエ解析とフィルター処理 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!