ESCPI EI2 TSN - Lundi 7 mai 2008, 13h30-15h30 Documents autorisés
Problème n°1
On considère un filtre numérique défini par ses zéros Z et 0 Z*0 et par ses pôles P0 et P0*. On
vous donne Z j
2 1 2
3
0 = + et P0 =0 Z.9 0.
1. En notant x(n) le signal à l'entrée du filtre et y(n) le signal à la sortie du filtre, donnez l'équation temporelle du filtre (y(n)=...).
2. Si la fréquence d'échantillonnage F est fixée à e Fe =24MHz, quelle est la fonction principale de ce filtre et sur quelle(s) fréquence(s) agit-il principalement ?
3. Calculez la réponse de ce filtre (module et phase) à la fréquence 0 Hz.
4. Combien de multiplications/additions par seconde faut-il faire pour effectuer le filtrage (on prendra Fe =24MHz pour cette question) ?
Problème n°2
On considère un bruit blanc réel b(n) de variance unité. Ce bruit traverse un filtre numérique )
(Z
A défini par A(Z)=1+Z−1−Z−2. On note y(n) le signal en sortie du filtre.
1. Calculez la fonction d'autocorrélation ryy( p) du signal y(n). (Vous donnerez la forme générale de ryy( p) pour différentes valeurs de p).
2. On cherche à prédire linéairement (au sens des moindre carrés de l'erreur de prédiction) le signal y(n) à partir de y(n−1). On note a1,1 le coefficient de ce filtre prédicteur. Donnez la valeur de a1,1.
3. Même question avec un prédicteur à deux coefficients (prédisant y(n) à partir de y(n−1) et y(n−2)). Donnez les valeurs de a1,2 et a2,2.
Problème 3 (4 courtes questions indépendantes, justifier brièvement vos réponses) 1. On considère une transmission OFDM avec préfixe cyclique. On utilise en émission une
IFFT de taille 64. Le préfixe cyclique comporte 16 échantillons de signal. Le débit brut global (avec le préfixe cyclique) de la transmission est égal à 1 Mbit/s. Quel est le débit utile (une fois le préfixe cyclique supprimé) ?
2. Quelle est la résolution fréquentielle offerte par une FFT sur 4096 valeurs d'un signal échantillonné à 1 MHz ?
3. Un mélange de 10 sinusoïdes réelles est prédictible, mais quel est l'ordre (nombre de coefficients) du filtre prédicteur ?
4. Combien de multiplications additions "demande" un algorithme du gradient par coup d'horloge d'échantillonnage pour un filtre de N coefficients ?
NOM : PRENOM :
Problème n°4 (FEUIILE A GLISSER DANS VOTRE COPIE)
Le code Matlab ci-dessous, permet de lire un fichier audio, d'analyser le spectre du signal qui s'y trouve, d'identifier une fréquence prépondérante dans ce signal, de la filtrer et de
sauvegarder le signal filtré.
Malheureusement ce code Matlab comporte quelques erreurs et ne donne pas satisfaction.
Pouvez vous identifier ces erreurs (en les entourant) et écrire directement sur le sujet la correction en face ou en dessous des lignes erronées.
clear all;
close all;
[x,Fe]=wavread('signal.wav');
X=abs(fft(x));
L=length(X);
[valeur,indice]=max(X(1:L/2));
frequence=indice*Fe;
Z0=exp(j*2*pi*frequence*(1/Fe));
P0=Z0/0.9;
y(1)=0;
y(2)=0;
for n=3:L
y(n)=x(n)-2*real(Z0)*x(n-1)+x(n-2)-2*real(P0)*y(n-1)+0.81*y(n-2);
end
NOM : PRENOM :
Problème n°5 (FEUIILE A GLISSER DANS VOTRE COPIE)
Le code Matlab ci-dessous, permet d'effectuer la prédiction linéaire d'un signal x(n) en fonction de ses valeurs passées. Les coefficients du filtre prédicteur sont identifiés au moyen d'un algorithme du gradient (LMS).
Malheureusement ce code Matlab comporte quelques erreurs et ne donne pas satisfaction.
Pouvez vous identifier ces erreurs (en les entourant) et écrire directement sur le sujet la correction en face ou en dessous des lignes erronées.
clear all;
close all;
N=10;
A=zeros(N,1);
X=zeros(N,1);
mu=0.01;
[x,Fe]=wavread('signal.wav');
for n=1:length(x)
% Prédiction linéaire erreur=A'*X-x(n);
A=X-mu*erreur*A;
% Vieillissement X(1)=x(n);
X(2:N)=X(1:N-1);
end
ESCPI EI2 TSN - Lundi 7 mai 2008, 13h30-15h30 CORRIGE
Problème n°1
On considère un filtre numérique défini par ses zéros Z0 et Z*0 et par ses pôles P0 et P0*. On vous
donne Z j
2 1 2
3
0 = + et P0 =0 Z.9 0.
1. En notant x(n) le signal à l'entrée du filtre et y(n) le signal à la sortie du filtre, donnez l'équation temporelle du filtre (y(n)=...).
) ( . ) ( . ) ( ) ( )
( )
(n x n 3x n 1 x n 2 09 3y n 1 081y n 2
y = − − + − + − − −
2. Si la fréquence d'échantillonnage eF est fixée à Fe =24MHz, quelle est la fonction principale de ce filtre et sur quelle(s) fréquence(s) agit-il principalement ?
Coupe très finement la fréquence 2 MHz
3. Calculez la réponse de ce filtre (module et phase) à la fréquence 0 Hz.
H(0)=1.1
4. Combien de multiplications/additions par seconde faut-il faire pour effectuer le filtrage (on prendra
MHz
Fe =24 pour cette question) ?
72 106 multiplications et 96 106 additions par seconde Problème n°2
On considère un bruit blanc réel b(n) de variance unité. Ce bruit traverse un filtre numérique A(Z) défini par 2
1 1
)
(Z = +Z− −Z−
A . On note y(n) le signal en sortie du filtre.
1. Calculez la fonction d'autocorrélation ryy( p) du signal y(n). (Vous donnerez la forme générale de
) ( p
ryy pour différentes valeurs de p).
n n r n r 3 p 0 p r 1 2 r 0 1 r 3 0
ryy( )= , yy( )= , yy( )=− , yy( )= ∀ > , yy( )= yy(− )∀
2. On cherche à prédire linéairement (au sens des moindre carrés de l'erreur de prédiction) le signal y(n) à partir de y(n−1). On note a1,1 le coefficient de ce filtre prédicteur. Donnez la valeur de a1,1.
0 a1,1 =
3. Même question avec un prédicteur à deux coefficients (prédisant y(n) à partir de y(n−1) et y(n−2)).
Donnez les valeurs de a1,2 et a2,2.
0 a1,2 = et
3 a2,2 =−1
Problème 3 (4 courtes questions indépendantes, justifier brièvement vos réponses)
1. On considère une transmission OFDM avec préfixe cyclique. On utilise en émission une IFFT de taille 64.
Le préfixe cyclique comporte 16 échantillons de signal. Le débit brut global (avec le préfixe cyclique) de la transmission est égal à 1 Mbit/s. Quel est le débit utile (une fois le préfixe cyclique supprimé) ?
Sur 80 échantillons, 16 constituent le préfixe cyclique, soit donc 20 % des 80, soit donc 20 % du débit. Le débit utile est donc égal à 80 % du débit brut : 800 kbit/s
3. Un mélange de 10 sinusoïdes réelles est prédictible, mais quel est l'ordre (nombre de coefficients) du filtre prédicteur ?
2 coefficients / sinusoïde conduit à un filtre d'ordre 20
4. Combien de multiplications additions "demande" un algorithme du gradient par coup d'horloge d'échantillonnage pour un filtre de N coefficients ?
N multiplications pour calculer l'erreur, N multiplications pour l'adaptation, N additions pour l'adaptation. Réponse : 3 N (ou N + 2N si on dissocie + et x)
Problème n°4 (FEUIILE A GLISSER DANS VOTRE COPIE)
clear all;
close all;
[x,Fe]=wavread('signal.wav');
X=abs(fft(x));
L=length(X);
[valeur,indice]=max(X(1:L/2));
frequence=indice*Fe; frequence=(indice-1)*Fe/L;
Z0=exp(j*2*pi*frequence*(1/Fe));
P0=Z0/0.9; P0=Z0*0.9 y(1)=0;
y(2)=0;
for n=3:L
y(n)=x(n)-2*real(Z0)*x(n-1)+x(n-2)-2*real(P0)*y(n-1)+0.81*y(n-2);
y(n)=x(n)-2*real(Z0)*x(n-1)+x(n-2)+2*real(P0)*y(n-1)-0.81*y(n-2);
end
wavwrite(y,Fe,'signalfiltre.wav');
Problème n°5 (FEUIILE A GLISSER DANS VOTRE COPIE)