Académique Documents
Professionnel Documents
Culture Documents
Recommandations :
Chaque étudiant doit créer un répertoire mentionnant son nom, prénom et sa classe
NOM Prénom Classe.
Exemple : MASMOUDI Ali INDP1E. L’étudiant doit sauvegarder TOUTES ses réponses dans un
code Matlab sous ce répertoire.
Détection radar
Le radar (RAdio Detection And Eanging ou ’détection et estimation de la distance par ondes
radio’ en Français) a trois fonctions de base : la détection, le suivi et l’imagerie. La figure 1 montre
une illustration simple du suivi radar. L’antenne de l’avion transmet un signal qui frappe la cible et
qui est ensuite réfléchi vers l’antenne de l’avion. La détection consiste à déterminer si un objet se
trouve ou non dans un espace de portée. La décision est basée sur le traitement du signal de retour en
présence de bruit de réception, d’échos et brouillage possible.
Le travail à réaliser durant cet examen de TP es la détection de présence de cible et de détermination
de sa position.
Géneration du signal
Le signal radar qui sera utilisé dans cette étude est un signal sinusoı̈dal en rafale courte ayant
une amplitude constante et une fréquence qui varie linéairement au cours du temps. Ce signal chirp,
1
appelé LFM (Linear Frequency Modulated) a pour expression :
β 2
x(t) = a(t) sin 2 ∗ πFT .t + π t , (1)
τd
où FT est la fréquence de transmission, τd est la durée ”d’explosion de l’impulsion”, β est la plage de
balayage de la fréquence et a(t) est l’amplitude du signal.
On se place dans le cas où a(t) = 1, τd = 5 µs, β = 10 MHz, FT =? MHz. Le signal est échantillonné
à la fréquence d’échantillonnage est fixée à f s = 200 MHz et a une durée égale à T = 25 µs.
1. Générer le signal LFM dans le domaine temporel et tracer le en utilisant un vrai axe de temps
en µs.
2. Calculer son spectre d’amplitude et tracer le en utilisant un vrai axe fréquentiel en M Hz.
3. Tracer son spectrogramme et expliquer la nature de l’évolution de sa fréquence caractéristique
au cours du temps.
Utiliser la commande spectrogram(x, 256, 250, 256, f s,0 yaxis0 ).
Simulation de la transmission/réception
On suppose qu’il y a une cible à détecter. Le signal LFM transmis sera reflété sur la cible et re-
acheminé vers le récepteur. Ce signal de retour sera affaibli (énergie du signal diminue avec la distance
parcourue) et sera corrompu par un bruit additif. Le signal de retour prendra la forme suivante :
β 2
r(t) = b(t − t0 ) sin 2 ∗ πFT (t − t0 ) + π (t − t0 ) + n(t), (2)
τd
où n(t) est un bruit blanc Gaussien additif centré de variance 0.5.
On se place dans le cas où b(t − t0 ) = 0.2 et t0 = 20 µs.
4) Générer le bruit additif n(t).
β 2
5) Générer sin 2 ∗ πFT (t − t0 ) + π τd (t − t0 ) à partir de x(t) en insérant le nombre adéquat de
valeurs nulles N au début du signal. Utiliser une commande de ce type : r = [zeros(1, N )x].
6) Créer le signal r(t).
2
Filtre adapté
Le filtre adapté est capable de récupérer ce signal en présence de beaucoup de bruit et d’in-
terférences. Sa réponse impulsionnelle est déterminé à partir du signal LFM :
c(tp − τd )
R= , (4)
2
où c = 3.108 m/s est la vitesse de la lumière Mesurer cette distance.
3
%Indications pour la correction
clear all
close all
clc
c=3e8;
tau_d=5e-6;
beta=10e6;
fs=200e6;
F_T=1e6;
duree=25e-6;
t=0:1/fs:duree;
x=sin(2*pi*F_T*t+pi*beta*t.^2/tau_d);
figure(1)
plot(x)
X=abs(fftshift(fft(x)));
N=(length(X)-1)/2;
F=(-N:N)*fs/length(X);
figure(2)
plot(F,X)
figure(3)
spectrogram(x,256,250,256,fs,'yaxis')
time_delay=2e-5;
N=ceil(time_delay*fs);
y = [zeros(1,N) x];
r=0.2*y+sqrt(0.5)*randn(size(y));
h = ifft(conj(fft(x)));
figure(4)
stem(h)
yy=conv(r,h);
figure(5)
plot(r)
figure(6)
plot(yy)
%plot(t,%yy(1:length(t))
[M,I] =max(yy);
tp=I/fs;
R=c*(tp-tau_d)/2
Année universitaire :
2016/2017
Examen de TP Signal
Délivrable : Chaque étudiant doit créer un répertoire mentionnant son nom, prénom et
sa classe (NOM_Prénom_Classe). Exemple : MASMOUDI_Ali_INDP1E. L’étudiant doit
sauvegarder TOUTES ses réponses dans un code Matlab sous ce répertoire.
à transmettre sur un canal caractérisé par un bruit additif blanc Gaussien, ayant une densité
spectrale de puissance constante, où A est une amplitude strictement positive et f 0 est une
fréquence porteuse positive. A la réception, le signal reçu sera traité par un filtre.
1. Signal Transmis:
2. Bruit:
On fixe Fe 8 kHz .
a. Tracer h_temps .
b. Déterminer la réponse fréquentielle de ce filtre. Utiliser la commande suivante :
A = 0.1;
f0 = 500; % 500 Hz
Fe = 8000;% 8 kHz
d = 64e-3; % 64 ms
Te = 1/Fe;
%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% 1. Signal Transmis %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%
n = d*Fe;
t = (0:n-1)*Te;
signal_transmis = A*sin(2*pi*f0*t) + 2*A*sin(4*pi*f0*t);
%%%%%%%%%
%%% a %%%
%%%%%%%%%
figure;
% ReprÈsentation du signal transmis
subplot(1,2,1);
plot(t, signal_transmis);
xlabel('temps [secondes]');
ylabel('signal transmis');
title('Figure 1-Subplot 1')
x = axis;
x(2) = n*Te;
x(3) = -x(4);
axis(x);
% ReprÈsentation du spectre d'amplitude du signal transmis
TFsignal_transmis = fft(signal_transmis);
TFsignal_transmis = fftshift(TFsignal_transmis);
AbsTFsignal_transmis = abs(TFsignal_transmis);
f = (-1/2:1/n:1/2-1/n)*Fe;
subplot(1,2,2);
plot(f, AbsTFsignal_transmis);
xlabel('frequence [Hz]');
ylabel('Sepctre d''amplitude du signal transmis');
title('Figure 1-Subplot 2')
%%%%%%%%%
%%% b %%%
%%%%%%%%%
figure;
%%% Fe1 = 500 Hz %%%
Fe1 = 500;% 500 Hz
Te1 = 1/Fe1;
n1 = d*Fe1;
t1 = (0:n1-1)*Te1;
signal_transmis1 = A*sin(2*pi*f0*t1) + 2*A*sin(4*pi*f0*t1);
TFsignal_transmis1 = fft(signal_transmis1);
TFsignal_transmis1 = fftshift(TFsignal_transmis1);
AbsTFsignal_transmis1 = abs(TFsignal_transmis1);
f1 = (-1/2:1/n1:1/2-1/n1)*Fe1;
subplot(1,2,1);
plot(f1, AbsTFsignal_transmis1);
xlabel('frequence [Hz]');
ylabel('Sepctre d''amplitude du signal transmis, F_e = 500 Hz');
title('Figure 2-Subplot1');
%%% Fe2 = 1200 Hz %%%
Fe2 = 1200;% 1200 Hz
Te2 = 1/Fe2;
n2 = d*Fe2;
t2 = (0:n2-1)*Te2;
signal_transmis2 = A*sin(2*pi*f0*t2) + 2*A*sin(4*pi*f0*t2);
TFsignal_transmis2 = fft(signal_transmis2);
TFsignal_transmis2 = fftshift(TFsignal_transmis2);
AbsTFsignal_transmis2 = abs(TFsignal_transmis2);
f2 = (-1/2:1/n2:1/2-1/n2)*Fe2;
subplot(1,2,2);
plot(f2, AbsTFsignal_transmis2);
xlabel('frequence [Hz]');
ylabel('Sepctre d''amplitude du signal transmis, F_e = 1200 Hz');
title('Figure 2-Subplot 2');
%%%%%%%%%%%%%%%%
%%% 2. Bruit %%%
%%%%%%%%%%%%%%%%
variance = 0.05;
bruit = sqrt(variance)*randn(1, n);
%%%%%%%%%%%%%%%%%%%%%%
%%% 3. Signal reÁu %%%
%%%%%%%%%%%%%%%%%%%%%%
signal_recu = signal_transmis + bruit;
figure;
% ReprÈsentation du signal transmis
subplot(1,2,1);
plot(t, signal_recu);
xlabel('temps [secondes]');
ylabel('signal reÁu');
title('Figure 3-Subplot 1')
x = axis;
x(2) = n*Te;
%x(3) = -x(4);
axis(x);
% ReprÈsentation du spectre d'amplitude du signal reÁu
TFsignal_recu = fft(signal_recu);
TFsignal_recu = fftshift(TFsignal_recu);
AbsTFsignal_recu = abs(TFsignal_recu);
f = (-1/2:1/n:1/2-1/n)*Fe;
subplot(1,2,2);
plot(f, AbsTFsignal_recu);
xlabel('frequence [Hz]');
ylabel('Sepctre d''amplitude du signal recu');
title('Figure 3-Subplot 2')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% 4. Filtre ‡ la rÈception %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure;
%%% a %%%
epsi = 0.001;
Nh = 200;
h_temps = fir1(Nh, [2*f0/Fe-eps, 2*f0/Fe+eps, 4*f0/Fe-eps,
4*f0/Fe+eps]);
th = (0:Nh)*Te;
subplot(1, 2, 1);
plot(th, h_temps);
x = axis;
x(2) = Nh*Te;
axis(x);
xlabel('temps [secondes]');
ylabel('h_{temps}');
title('Figure 4-Subplot 1');
%%% b %%%
N = n;
[H_frequence, F] = freqz(h_temps, 1, N, Fe);
subplot(1, 2, 2);
plot(F, abs(H_frequence));
xlabel('frÈquence [Hz]');
ylabel('h_{temps}');
title('Figure 4-Subplot 2');
%%%%%%%%%%%%%%%%%%%%%
%%% Signal filtrÈ %%%
%%%%%%%%%%%%%%%%%%%%%
%%% a %%%
tfiltre = (0:n+Nh-1)*Te;
figure;
plot(t, signal_transmis, 'b', t, signal_recu, 'r', tfiltre, signal_filtre, 'k');
xlabel('temps [secondes]');
ylabel('signaux transmis, reÁu et filtrÈ');
legend('Signal transmis', 'Signal reÁu', 'Signal filtrÈ');
%%% b %%%
TFsignal_filtre = fft(signal_filtre);
TFsignal_filtre = fftshift(TFsignal_filtre);
AbsTFsignal_filtre = abs(TFsignal_filtre);
ffiltre = (-1/2:1/(n+Nh):1/2-1/(n+Nh))*Fe;
figure;
plot(f, AbsTFsignal_transmis, 'b', f, AbsTFsignal_recu, 'r', ffiltre,
AbsTFsignal_filtre, 'k');
xlabel('frÈquence [Hz]');
ylabel('signaux transmis, reÁu et filtrÈ');
legend('Signal transmis', 'Signal reÁu', 'Signal filtrÈ');
%%% d %%%
% Nh = 20
Nh = 20;
h_temps = fir1(Nh, [2*f0/Fe-eps, 2*f0/Fe+eps, 4*f0/Fe-eps,
4*f0/Fe+eps]);
signal_filtre = conv(h_temps, signal_recu);
tfiltre = (0:n+Nh-1)*Te;
figure;
plot(t, signal_transmis, 'b', t, signal_recu, 'r', tfiltre, signal_filtre, 'k');
xlabel('temps [secondes]');
ylabel('signaux transmis, reÁu et filtrÈ');
legend('Signal transmis', 'Signal reÁu', 'Signal filtrÈ');
TFsignal_filtre = fft(signal_filtre);
TFsignal_filtre = fftshift(TFsignal_filtre);
AbsTFsignal_filtre = abs(TFsignal_filtre);
ffiltre = (-1/2:1/(n+Nh):1/2-1/(n+Nh))*Fe;
figure;
plot(f, AbsTFsignal_transmis, 'b', f, AbsTFsignal_recu, 'r', ffiltre,
AbsTFsignal_filtre, 'k');
xlabel('frÈquence [Hz]');
ylabel('signaux transmis, reÁu et filtrÈ');
legend('Signal transmis', 'Signal reÁu', 'Signal filtrÈ');
% Nh = 1000
Nh = 1000;
h_temps = fir1(Nh, [2*f0/Fe-eps, 2*f0/Fe+eps, 4*f0/Fe-eps,
4*f0/Fe+eps]);
signal_filtre = conv(h_temps, signal_recu);
tfiltre = (0:n+Nh-1)*Te;
figure;
plot(t, signal_transmis, 'b', t, signal_recu, 'r', tfiltre, signal_filtre, 'k');
xlabel('temps [secondes]');
ylabel('signaux transmis, reÁu et filtrÈ');
legend('Signal transmis', 'Signal reÁu', 'Signal filtrÈ');
TFsignal_filtre = fft(signal_filtre);
TFsignal_filtre = fftshift(TFsignal_filtre);
AbsTFsignal_filtre = abs(TFsignal_filtre);
ffiltre = (-1/2:1/(n+Nh):1/2-1/(n+Nh))*Fe;
figure;
plot(f, AbsTFsignal_transmis, 'b', f, AbsTFsignal_recu, 'r', ffiltre,
AbsTFsignal_filtre, 'k');
xlabel('frÈquence [Hz]');
ylabel('signaux transmis, reÁu et filtrÈ');
legend('Signal transmis', 'Signal reÁu', 'Signal filtrÈ');
Année
universitaire :
Examen de TP Signal 2015/2016
I. Objectif
L’objectif de ce TP est d’analyser l’effet de modification de la taille d’un signal 2D sur sa qualité
temporelle et spectrale. Les opérations de sous-échantillonnage et sur-échantillonnage seront utilisés.
II. Données
On dispose un signal à deux dimensions généré sous MATLAB de la façon suivante :
[X,Y] = meshgrid(-8:.1:8);
R = sqrt(X.^2 + Y.^2) + eps;
Im = sin(R)./R;
5) On se propose de revenir à la dimension de départ du signal 2D. Etant donné que des
échantillons ont été perdus et qu’ils sont irrécupérables, on se propose de les remplacer par des
zéros.
a. Créer un signal 2D ayant la dimension du signal de départ.
b. Remplir ces colonnes et ces lignes d’indices pairs par ceux du signal Im_1_2. Ce
nouveau signal est appelé Im_2_1.
c. Afficher ce signal dans la fenêtre 3.
9) Afin d’approche la représentation spectrale du signal Im_2_1 de celle du signal original Im,
on effectue un filtrage. Pour cela, on conçoit d’abord un filtre 2D et on l’applique sur Im_2_1,
selon les commandes MATLAB suivantes:
h = fspecial('disk',9);
Y = filter2(h,Img_rest);
Exécuter ce code, compléter les sous figures manquantes dans les représentations temporelles et
fréquentielles.
Objectif
Le but de cette expérience est d’analyser un signal sismique et d’étudier l’influence de la nature du
milieu d’enregistrement sur le signal obtenu.
Données sismiques
Il s’agit d’examiner des données de tremblement de terre qui ont été recueillies lors d'une étude
d'évaluation des risques de tremblement de terre à Wellington en Nouvelle-Zélande. Le fichier de
données de tremblement de terre, appelé quake_data.mat, comprend 10 secondes d'enregistrement des
ondes sismiques acquis sur 3 sites différents pour le même tremblement de terre. La colonne 1 du
fichier comprend les instants d’acquisition des données sismiques. La Colonne 2 correspond aux
données acquises sur un site rocheux, la colonne 3 est enregistré sur un site de bassin sédimentaire et
la colonne 4 est située sur un site citadin.
Travail à réaliser
1. Tracer les 3 sismogrammes en fonction du temps sur une même figure à trois fenêtres
différentes.
2. Comparer les signaux obtenus en termes d’amplitudes et nature d’évolution.
3. En s’intéressant à l’écart temporel en deux échantillons, déterminer la fréquence
d’échantillonnage.
4. Calculer le spectre d’amplitude des trois séquences et tracer les sur la même figure avec des
couleurs différentes. Utiliser un vrai axe de fréquence en Hz.
5. Comparer les représentations spectrales. Faites des ‘zooms’ si nécessaire.
6. Quelle est la gamme de fréquences du signal sismique dans le cas du site rocheux?
7. Quelles sont les fréquences pour lesquelles il y a un maximum pour les autres sites ?
Déterminer les manuellement.
8. Détecter les automatiquement. Utiliser la fonction findpeaks.
Partie 2 (4 points):
On s’intéresse maintenant aux données recueillies sur les sites non rocheux. Un bassin sédimentaire,
par exemple, peut vibrer comme un bol. Un bassin peut résonner à des fréquences particulières comme
un oscillateur harmonique simple. La résonance se poursuit longtemps après que l'énergie sismique est
dissipée au niveau du site de la roche à proximité.
La fréquence d'oscillation d'un bassin cylindrique simple est liée à la vitesse du matériau et la
profondeur du bassin. Une onde dont la longueur d'onde est de quatre fois l'épaisseur du bassin
résonnera dans le bassin selon la formule suivante :
La vitesse des ondes pour le site bassin (colonne 3 des données) a été mesurée à 110 m/s, tandis que
pour le site dans la colonne 4, elle est égale à 80 m/s.