1
私は時間領域でいくつかのデータを持っています、各要素間の時間間隔はdtで、私のデータは0からN * dt秒です。私のデータのスペクトルを.6e15 Hzから1e15 Hzに見たいのですが?データのmatlabの離散フーリエ変換?
私は時間領域でいくつかのデータを持っています、各要素間の時間間隔はdtで、私のデータは0からN * dt秒です。私のデータのスペクトルを.6e15 Hzから1e15 Hzに見たいのですが?データのmatlabの離散フーリエ変換?
Iが必要なコードは次のとおり
NT=10000;%size of data that I have
ddx=2e-9;
dt=ddx/(3e8);%time separation between each element
i=sqrt(-1);
NFREQS=1000;%size of frequency array
lambdai=150e-9;
lambdaf=500e-9;
freqi=3e8/lambdai;%lower limit of frequency
freqf=3e8/lambdaf;%upper limit of frequency
freq=zeros(1,NFREQS);
for j=1:NFREQS
freq(j)=freqi-j*(freqi-freqf)/NFREQS;%frequency array
end
arg=2*pi*freq*dt;
lambda=linspace(lambdai,lambdaf,NFREQS);
for n=1:NFREQS
for j=1:NT
Exf(n)=Exf(n)+Ex(j)*exp(-i*arg(n)*j);%Ex the data that I have and Exf is fft of it
end
end
plot(lambda,real(Epsilon));
このコードは、フーリエ150E-9メートルT0の500E-9メートル
あなたはすでにx時間があるとしましょう。ここ
x%is given
fmin = 1e15;
fmax = 6*fmin;
numOfSamples = length(x);
f = linspace(fmin,fmax,numOfSamples);
t = 1 : numOfSamples;
y=fft(x);
plot(fftshift(y));
の範囲内で実施例の変換計算Xが固定Wのsin関数であります例えばw = 2 * pi * 2e15私たちはあなたのコードでピークとミラーピークを持つ必要があります。私は約10ピークを参照してください。 – peaceman
あなたは何をしようとしましたか?あなたのコードを入れて修正します。 – 0x90
私は一点に電場を持っており、時間領域で電場のスペクトル的挙動を見たいと思っています。あなたのコードは私を助けるでしょうが、それをテストするためには正しく動作していると思います。 2e15。* t)xの代わりに、罪の頻度にピークを持つプロットが必要です。これを行うためにコードを変更してください。(ちょうどwを修正してピークを1つだけ表示してください)ありがとうございます。 – peaceman