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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| LB=0.57e9; %largeur de bande
alpha=1/LB;
Tmin=0;%-3.*alpha;
Tmax=20e-9;%75.*alpha;
smp=1024;
t=linspace(Tmin,Tmax,smp);
tau=alpha/(2.*sqrt(pi));
x1=sin(2.*pi.*fc.*t);
% ----------
% fenêtrage
% ----------
A=1;
w1=1/sqrt(2.*pi.*tau^2).*exp(-((t-alpha)./sqrt(2)./tau).^2); % fenêtre gaussienne
% ----------------------------------------
xx1=w1.*x1;
xx1=xx1./(max(xx1)); % normalisation par rapport au maximum
res_tran=[res_tran xx1'];
XX1=fftshift(abs(fft(xx1)))./length(t);
res_freq=[res_freq XX1'];
dt=(Tmax-Tmin)/smp;%1./fs; % période d'échantillonnage
fs=1./dt;
T=length(xx1).*dt; %temps de la fenêtre
df=1./T; %fréquence fondamentale
figure(1);
gcaT=subplot(121); plot(t,xx1);grid on;hold on;
xlabel('Time, sec');ylabel('Amplitude');
DSP=fft(xx1);
NN=length(DSP);
DSP=DSP/NN;
DSP=fftshift(abs(DSP).^2./df.^2);
ESS=2.*DSP(NN/2+1:NN);
f=linspace(0,fs/2,length(DSP)/2);
xlabel('Frequency, Hz');ylabel('Magnitude');grid on;
[ss_E,f_high,f_low,BW,f_central]=BW_Eval(xx1,ESS,dt,-3);
gcaF=subplot(122);
set(findobj('Type','line'),'Color','b')
Wn=2.*[f_low f_high]/fs;
n=smp;
b=fir1(n,Wn);
xx1f=filter(b,ones(1,1024),xx1);
figure(1);
gcaT=subplot(121); hold on;plot(t,xx1f,'r');grid on;
xlabel('Time, sec');ylabel('Amplitude');
dtf=(Tmax-Tmin)/smp;%1./fs; % période d'échantillonnage
fs=1./dt;
Tf=length(xx1f).*dtf; %temps de la fenêtre
dff=1./Tf; %fréquence fondamentale
DSPf=fft(xx1f);
NNf=length(DSPf);
DSPf=DSPf/NNf;
DSPf=fftshift(abs(DSPf).^2./dff.^2);
ESSf=2.*DSPf(NNf/2+1:NNf);
f=linspace(0,fs/2,length(DSPf)/2);
ind=find(f>0);
f_pos=f(ind);
xlabel('Frequency, Hz');ylabel('Magnitude');grid on;
[ss_Ef,f_highf,f_lowf,BWf,f_centralf]=BW_Eval(xx1f,ESSf,dtf,-3); |
Partager