1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| function [b]=test2()
a = fopen('testf.txt') %open test2
b = textscan(a,'%n','delimiter',',') %creat [173*1 double] [173*1 double]
x= 0.29*0.0525/1.24: (78.31-0.29)*0.0525/1.24/(511): 78.31*0.0525/1.24;% momentum transfert (nm-1), with teta=6 degres
p=2*pi./x;
Ks=max(p);
kmin=min(p);
N=size(p);
%dx=(78.31-0.29)*0.0525/1.24/(511)
%Ks=2*pi/dx
b1=b(1);
b1=b1{:};
b1=b1'; %transposition
figure(1);
subplot(3,1,1);
plot(x,b1);grid % plot de mes datas
title('data plot')
subplot(3,1,2);
z=fft(b1);
plot(p,abs(fftshift(z)));grid; % plot de la FFT de mes datas
title('FFT with shift')
axis([0 10 0 1100])
subplot(3,1,3);
z=ifft(z);
plot(x,abs(z),'r');grid; % plot de IFFT de mes datas (on rerouve bien le meme signal)
title('iff of fft(data plot) must be = data plot')
figure(2); % but: filtrer ma FFT pour avoir un lissage de mes datas quand je prend ifft
%wn=[kmin 4.5]/Ks;
h=fir1(4,4.5/Ks,'low'); % filtre passe bas, coupure a 4.5 nm
%freqz(h,1);
plot(p,h);grid; |
Partager