Expérience 4 Détection Introduction Procédures Effectuez les commandes suivantes: >> xhost nat >> rlogin nat >> setenv DISPLAY machine:0 >> setenv MATLABPATH /gel/usr/telecom/comm_tbx >> matlab Procédez a l initialisation de l expérience 4: >> start A. Caractéristiques des filtres adaptés A.1 Générez une fenêtre rectangulaire avec une amplitude unitaire et une largeur de 1 msec. >> r = wave_gen(1, polar_nrz, 1000); A.2 Affichez r et la réponse impulsionnelle du filtre adapté à r. >> subplot(311), waveplot(r) >> subplot(312), match( polar_nrz ) A.3 Observez la sortie du filtre adapté si r est appliqué à son entrée. >> rm = match( polar_nrz, r); >> subplot(313), waveplot(rm) Déterminez le temps écoulé lorsque la sortie du filtre atteint sa valeur maximale. Comment ce temps est-il relié au signal r? Q4.1 Comment pouvez-vous déterminer la valeur de l amplitude maximale de la sortie du filtre adapté directement des figures précédentes? A.4 Répétez les étapes A.1-A.3 pour une fenêtre triangulaire avec une amplitude unitaire et une largeur de 10 msec. >> r = wave_gen(1, triangle, 100); >> clf; subplot(311), waveplot(r) >> subplot(312), match( triangle ) >> rm = match( triangle, r); >> subplot(313), waveplot(rm) Q4.2 Si la largeur de la fenêtre est changée à 1 msec, déterminez l amplitude maximale de la sortie du filtre adapté? A.5 Répétez les étapes A.1-A.3 pour une fenêtre Manchester avec une amplitude unitaire et une lar- GEL-10280 Théorie des communications 1
geur de 10 msec. Prédisez la réponse impulsionnelle du filtre adapté et la sortie du filtre adapté. Vérifiez vos prédictions en utilisant les fonctions de MATLAB. A.6 Générez un signal codé avec le NRZ polaire représentant la séquence binaire de 5 échantillons [10010]. Le taux binaire R b est de 1 kbps et l amplitude A est de 1 volt. >> x5 = wave_gen([1 0 0 1 0]), polar_nrz, 1000); >> clf, subplot(211), waveplot(x5) Prenez en note le signal obtenu. A.7 Appliquez x5 à un filtre adapté. Prenez en note la sortie obtenue et comparez-la au signal de la partie précédente. >> subplot(212), waveplot(match( polar_nrz, x5)) Q4.3 Construisez le signal à la sortie d un filtre adapté si l entrée est le signal binaire [ 1 0 0 1 0 ] et si le code est du NRZ unipolaire. B. Détection de signal B.1 Générez une séquence binaire de 10 échantillons et le signal qui représente cette séquence dans le format de signalisation NRZ polaire. >> b10 = binary(10); >> x10 = wave_gen(b10, polat_nrz, 1000); >> clf, subplot(211), waveplot(x10) B.2 Appliquer x10 à une canal de 4.9 khz de bande passante où la puissance du bruit est de 2W. Affichez le signal de sortie du canal y10. >> y10 = channel(x10,1,2,4900); >> subplot(212), waveplot(y10) Décodez la séquence binaire de la sortie y10: b10 = B.3 Appliquer y10 à un filtre adapté. Afficher le signal de sortie z10: >> z10 = match( polar_nrz, y10); >> subplot(212), waveplot(z10) Si T b est la période binaire, échantillonnez la sortie du filtre adapté à kt b, k = 1,..., 10 et appliquez les règles de décisions suivantes: 0 si z10(kt b ) 0; bˆk = {1 si z10 (kt b ) > 0; où bˆ est la valeur estimée du k ième k élément de la séquence binaire b10. Appliquez cette règle de décision sur la sortie du filtre adapté z10: bˆ 10 = Comparez votre estimation avec la séquence originale b10: GEL-10280 Théorie des communications 2
b10 = Q4.4 Commentez s il est plus simple de décoder la séquence binaire directement de la sortie du canal y10 ou de la sortie du filtre adapté z10. Si l instant d échantillonnage est différent de ceux utilisés auparavant, la probabilité de faire une erreur de décodage sera plus grande. Pourquoi? C. Récepteur avec filtre adapté C.1 Générez une séquence b de 2000 échantillons et le signal NRZ polaire correspondant x: >> b = binary(2000); >> x = wave_gen(b, polar_nrz ); Appliquez x sur un canal de 4.9 khz de largeur de bande et où le bruit blanc gaussien ajouté a une puissance σ n 2 de 0.5 W. Le signal de sortie du canal sera y. >> y = channel(x, 1, 0.5, 4900); C.2 Appliquer y a un filtre adapté. Affichez le diagramme de l oeil de la sortie du filtre z. >> z = match( polar_nrz, y); >> clf, eye_diag(z); À partir du diagramme de l oeil, déterminez l instant d échantillonnage et la valeur de la tension de seuil v_th optimaux pour que le détecteur décode la séquence binaire b. L instant optimal pour la sortie du filtre adapté est mesuré selon l origine temporelle. Par exemple, si la période des données binaires est T b et le paramètre sampling_instant est fixé à t i, alors le détecteur échantillonnera le signal aux temps t i, t i +T b, t i +2T b,... etc. v_th = V. sampling_instant = sec. Utilisez le v_th et le sampling_instant dans le décodeur. Il opérera avec la sortie du filtre adapté. Prenez en note le résultat du taux d erreur binaire P e (bit error rate (BER)) dans le tableau cidessus. >> detect(z, v_th, sampling_instant, b); σ n 2 [W] Pe - empirique P e - théorique 0.5 1.0 1.5 2.0 C.3 Répétez les étapes C.1-C.2 pour des puissances de bruit du canal de 1.0, 1.5 et 2.0 sans afficher le diagramme de l oeil de la sortie du filtre adapté z. Prenez en note les différents résultats dans le tableau ci-dessus. Remarque: Dans l expérience 3, vous avez observé que l instant d échantillonnage et la tension de seuil optimaux sont indépendants de la puissance du bruit dans le canal. Donc, vous pouvez utiliser les résultats de la partie C.2 pour décoder la sortie du filtre adapté pour GEL-10280 Théorie des communications 3
les différents niveaux de bruit dans la canal. C.4 Si des valeur différentes de la valeur optimale de l instant d échantillonnage sont utilisées, le BER résultant sera plus grand. Vous pouvez observer le phénomène en décodant la séquence binaire en utilisant des valeurs pour le paramètre sampling_instant de 0.5 et 0.9 fois sa valeur optimale utilisée dans l étape C.3. Q4.5 Évaluez la probabilité d erreur théorique pour tous les cas considérés précédemment et prenez-les en note. Notez que la DSP d un bruit blanc peut être déterminée selon: S () f n 2 N σ o n = ------ = -------------------------------------------------- 2 2 system_bandwith (où le paramètre system_bandwith vaut 5 khz dans cette expérience) D. Récepteur avec filtre passe-bas D.1 Appliquez une fenêtre rectangulaire à un filtre RC du premier ordre d une largeur de bande de 1 khz. Affichez la sortie du filtre et mesurez l amplitude maximale A r : >> r = wave_gen(1, unipolar_nrz ); r_lpf = rc(1000, r); >> subplot(211), waveplot(r) >> subplot(212), waveplot(r_lpf); A r = V. D.2 Générez 2000 échantillons à partir d une séquence bruitée blanche de moyenne nulle et de puissance 0.5 W. Appliquez cette séquence bruitée à un filtre RC. Notez la vraie valeur rms de la puissance de la sortie bruitée. >> n = gauss(0, 0.5, 2000); >> meansq(rc(1000, n)) σ n 2 = W. Q4.6 À partir des résultats des étapes D.1 et D.2, déterminez le ratio A r /σ n où A r est l amplitude maximale du signal mesuré en D.1 et σ n la valeur rms de la sortie bruitée. Si y de la partie C.1 est appliqué au récepteur avec filtre passe-bas, déterminez le BER résultant. D.3 Régénérez y de la partie C.1. Appliquez y à un filtre RC. Affichez le diagramme de l oeil pour le signal de sortie z_lpf. >> y = channel(x, 1, 0.5, 4900); >> z_lpf = rc(1000,y); >> clf, eye_diag(z_lpf); D.4 À partir du diagramme de l oeil, déterminez l instant d échantillonnage optimal et la valeur de tension de seuil. Décodez la séquence binaire à partir de z_lpf. >> detect(z_lpf, v_th, sampling_instant, b); GEL-10280 Théorie des communications 4
Comparez le BER résultant avec le BER obtenu dans l étape C.2. D.5 Répétez la partie D.4 pour un canal de puissance 1.0, 1.5 et 2.0 W. Notez vos résultats dans le tableau suivant. σ n 2 [W] BW = 1.0 khz P e BW = 0.5 khz 0.5 1.0 1.5 2.0 D.6 Répéter les parties D.3 à D.5 pour un filtre RC de 500 Hz de largeur de bande. Prenez en note les résultats dans le tableau précédent. >> z_lpf = rc(500, y); >> eye_diag(z_lpf) >> detect(z_lpf, v_th, sampling_instant, b); Q4.7 Expliquez pourquoi le BER résultant d un filtre passe-bas d une largeur de bande de 500 Hz est plus petite que le BER résultant d un filtre passe-bas de 1 khz de largeur de bande. Est-ce que le BER va continuer à diminuer si un filtre de largeur de bande de 100 Hz est utilisé? E. Implantation de la structure d un filtre adapté Le filtre integrate-and-dump est un circuit pratique pour l implantation d un filtre adapté. R C S1 Dans ce circuit, l interrupteur S1 est fermé périodiquement pour un court temps afin de permettre au condensateur de se décharger. Le réseau RC avec une constante de temps très grande joue le rôle d un intégrateur. E.1 Pour comprendre le fonctionnement du filtre, appliquez le signal x5 généré dans la partie A.6 à l entrée du filtre et observez les signaux d entrée et de sortie. >> y5 = int_dump(x5); >> clf; waveplot(x5); hold on; waveplot(5*y5) GEL-10280 Théorie des communications 5
Prenez en note ces deux signaux. Q4.8 Les deux signaux obtenus indique quand le condensateur se charge et se décharge. L interrupteur S1 se referme à quel moment? Pouvez-vous spécifiez l instant d échantillonnage optimal sans utiliser le diagramme de l oeil? E.2 Répétez les parties D.3-D.4, mais utilisez un filtre integrate-and-dump au lieu d un filtre passebas. Comparez les BER résultants du filtre integrate-and-dump, du filtre passe-bas et du filtre adapté. GEL-10280 Théorie des communications 6