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

5 vues (au cours des 30 derniers jours)
Jo Sasaki
Jo Sasaki le 18 Août 2019
Réponse apportée : Yoshio le 23 Août 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|]

Réponse acceptée

Yoshio
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

Plus de réponses (0)

Catégories

En savoir plus sur フーリエ解析とフィルター処理 dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!