SlideShare une entreprise Scribd logo
1  sur  24
PROJET DE TRAITEMENT DU SIGNAL – MASTER 1<br />CONVERTISSEURS NUMERIQUE – ANALOGIQUE UTILISES DANS LES LECTEURS CD<br />Roppe Quentin, Masure Pierre<br />1. Numérisation du signal audio analogique<br />Nous allons dans une première étape nous familiariser avec la numérisation d’un signal analogique. Pour ce faire, nous devons d’abord échantillonner le signal et ensuite le quantifier. Au fil de ce rapport, nous illustrerons par des figures réalisées sous Simulink les différentes étapes qui ont été nécessaires au bon déroulement du projet. <br />1.1 La quantification uniforme à L = 2Nniveaux<br />Après avoir préalablement nommé notre schéma Simulink  « quantification_uniform.mdl », nous avons généré pendant 2 secondes un signal aléatoire uniforme x(n) de variance égale à 3 et de fréquence d’échantillonnage égale à 8000 Hz. <br />Nous désirons générer ce signal entre  - q2 et  q2  ( q est la notation théorique ). Nous savons que pour un signal aléatoire uniforme, la variance vaut  q212  = 3. Nous pouvons donc en déduire la valeur de q = 6. Nous spécifions donc dans notre Uniform Random Number : <br />-  minimum = - 3<br />-  maximum =  3<br />-  sample time = 1/8000 s ( correspondant à notre période d’échantillonnage) .  <br />Via le bloc scope renommé x ( dans lequel nous avons décoché la limitation de points ), nous avons pu visualiser le signal x(n). Pour ce faire, nous avons également fixé time range à 0.02 afin de visualiser plus clairement le graphique. Nous observons bien des valeurs comprises entre -3 et 3.<br />Nous avons ensuite importé ces valeurs sous Matlab via le bloc To workspace . Dans ce bloc, nous avons appelé « variable name : x ». Nous avons fixé sample time = 1/8000 ( nous ne le rappellerons plus par la suite sauf si ce temps d’échantillonnage vient à changer ) ainsi que Array comme format.   Nous obtenons bien une variance égale à var ( x ) = 3.0203 ≈ 3 .<br />Avant de commencer la quantification proprement dite, nous avons simulé le périodogramme moyenné du signal x(n). Comme demandé, nous avons fixé les paramètres :<br />- window type : Hamming<br />- FFT length ( après avoir décoché inherit length ) = 2^13<br />- number of spectral averages = 10 (correspondant au L théorique)<br />Etant donné que nous voulons calculer ce périodogramme par trames de 400 échantillons et que le signal est généré par échantillon, nous avons placé un buffer en amont. Nous avons alors précisé Output buffer size = 400 ( nous ne le repréciserons plus par la suite ).<br />Enfin, pour afficher ce périodogramme, nous avons utilisé un «  frequency vector scope ». Comme paramètres, nous avons fixé : <br />- input domain : frequency ( logique pour afficher un périodogramme )<br />- frequency range : [0… fs] ( pour afficher jusqu’à la fréquence d’échantillonnage)<br />- sample time = 1/8000 s (inherit décoché pour réaliser cette opération). <br />- amplitude scaling : dB<br />Etant donné qu’il s’agit d’un signal aléatoire uniforme de variance 3, nous savons que sa densité spectrale est constante et égale à la variance  en dB : 10*log103=4.77 dB. C’est bien la valeur observée sur le périodogramme.<br />Voici les différentes figures obtenues jusqu’ici :<br />Figure 1: Génération d'un signal aléatoire uniforme et calcul de sa densité spectrale de puissance<br />Figure 2 : Signal  aléatoire uniforme x(n) (gauche) et densité spectrale de puissance du signal x(n) (droite)<br />Nous allons maintenant implémenter la quantification uniforme sous Simulink. Cette quantification se fera sur l’intervalle [-A , +A] avec A = 3 et N = 3 (nombre de bits sur lequel l’information numérique sera codée). Pour réaliser cette quantification, nous allons simplement transposer sous forme de bloc la formule de quantification à savoir : <br />xquantifié=floor xq* q+ q2  tout en tenant compte de bien rester dans l’intervalle <br /> [A-q2 , -A +q2]  avec q= 2*A2N=0.75  .<br />Nous avons donc placé un premier gain multipliant x par 1q=12*A2N  . Ensuite, nous lui appliquons un floor ( arrondi vers le bas ) pour le remultiplier par après par q. Nous le sommons alors avec q2  . Enfin, afin de ne pas sortir de l’intervalle nous plaçons un bloc saturation où « upper limit » = A-(A/(2^N))   et « lower limit » = (-A)+(A/(2^N)). Nous mettons alors ce bloc sous un masque nommé quantification dans lequel nous initialisons<br />( edit mask  parameters ) les valeurs de A et N.<br />Nous obtenons ce schéma pour la quantification :<br />Figure 3 : Schéma-bloc de la quantification uniforme<br />Nous pouvons observer le signal quantifié sur le scope où nous visualisons bien 8 niveaux distincts pour le signal xquantifié  ce qui est logique :   2N niveaux de quantification. Ces 8 niveaux sont compris entre -3 et 3 ( plus exactement entre -3 +  q 2   et 3 - q2  ).<br />Nous avons ensuite codé le périodogramme moyenné du signal quantifié exactement de la même façon que pour le signal non quantifié. On constate, comme nous l’avons vu au cours théorique, que l’erreur commise lors de la quantification peut être considérée comme un bruit qui vient s’ajouter au signal. Et en effet, le bruit est légèrement plus important autour de 4.77 dB pour le périodogramme moyenné du signal quantifié avec des pics dépassant les 8 dB ( ce qui n’est pas le cas sur le périodogramme du signal x(n) ). On le vérifiera de manière plus précise par après en calculant le RSB (rapport signal à bruit).<br />Nous avons ensuite simplement soustrait xquantifié(n) à x(n) via un bloc « add » pour obtenir l’erreur e(n). Nous le visualisons via un scope, ramenons les valeurs sous Matlab à l’aide d’un « workspace » et obtenons son périodogramme moyenné exactement avec les mêmes blocs qu’utilisés  précédemment.<br />Le signal d’erreur est théoriquement compris entre [-q2 ,+q2] = [-38 ,+38] = [-0.375,+0.375]. C’est bien ce que nous observons sur le scope du signal d’erreur. Le signal d’erreur devrait être un bruit blanc de variance σee2= q212=10*log100.75212= -13.2905 dB. C’est bien autour de cette valeur qu’ « oscille » le périodogramme d’erreur.  <br />Calculons maintenant la rapport signal à bruit ( x(n) et e(n) ) :<br /> RSBexpérimentaldB=10*log10var(x)var(e)= 10*log103.02030.0473= 18.0518 dB<br />RSBthéoriquedB=6.02*3+4.77-20*log1033= 18.0587 dB<br />Les deux valeurs théoriques et expérimentales concordent bien. Nous pouvons même rentrer un peu plus dans le détail. En effet, calculons le RSB ( xq (n) et e(n) ) :<br />RSBexpérimentaldB=10*log10var(xq)var(e)= 10*log102.96700.0473= 17.9790 dB<br />Nous constatons donc bien que le RSB du signal quantifié diminue.<br />Visualisons les graphes obtenus pour cette partie :<br />Figure 4 : Schéma-bloc du signal quantifié  et du calcul de l’erreur de quantification<br />Figure 5 : Signal x(n) aléatoire uniforme quantifié (gauche) et signal d'erreur e(n) associé (droite)<br />Figure 6 : Densité spectrale de puissance du signal x(n) aléatoire uniforme quantifié (gauche) et densité spectrale de puissance du signal d'erreur associé (droite)<br />Nous allons maintenant remplacer le signal d’entrée x(n) aléatoire uniforme par un signal échantillonné à 8000 Hz composé de 12 sinusoïdes d’amplitudes et fréquences différentes. Le schéma-bloc est donc identique au précédent (cfr figure 4)  excepté ce remplacement . Pour simuler cela, nous avons simplement sommé via un bloc « add » les 12 sinusoïdes discrètes avec les amplitudes et fréquences adéquates. <br />On constate que le signal généré a approximativement l’allure d’une sinusoïde ce qui est logique étant donné que c’est une somme de sinusoïdes. Le signal quantifié l’est bien sur 8 niveaux distincts comme précédemment. <br />De plus, on vérifie bien que le périodogramme moyenné est constitué d’un ensemble de raies aux différentes fréquences spécifiées. Vérifions l’amplitude d’une raie…<br />Enfin, comme le signal est suffisamment « complexe », l’erreur de quantification peut être assimilé à un bruit blanc de variance σee2= q212=10*log100.75212= -13.2906 dB. C’est bien l’amplitude « centrale » obtenue sur le périodogramme moyenné du signal d’erreur.<br />Figure 7 : Signal x(n) constitué de sinusoïdes (gauche) et signal quantifié de ces sinusoïdes (droite)<br />Figure 8 : Densité spectrale de puissance du signal quantifié constitué de sinusoïdes (gauche) et densité spectrale de puissance du signal d'erreur de ces mêmes sinusoïdes (droite)<br />Pour terminer cette première partie, nous allons remplacer le système constitué des sinusoïdes par une seule sinusoïde valant : xn= 2*sin2*pi*200*nTe où Te=1/8000 s. Il s’agit du même schéma-bloc (cfr figure 4) excepté ce remplacement. <br />Le signal n’est plus suffisamment complexe ; son erreur de quantification ne peut plus être considérée comme un bruit blanc. Le  signal d’erreur n’a plus la variance d’un bruit blanc valant -13.2906 dB. En effet, le périodogramme moyenné présente des raies d’égales amplitudes ainsi que du bruit aux alentours de -50 dB.<br />En ce qui concerne le signal x(n), nous observons bien une sinusoïde échantillonnée d’amplitude 1.41 et de période 0.005 s. Nous constatons qu’il n’y a plus 8 niveaux de quantification mais 4. C’est logique ; en effet si l’on divise l’amplitude crête à crête de la sinusoïde par le pas de quantification, nous obtenons au maximum 4 niveaux de quantification ( 2* 20.75 ≈4 ).<br />Figure 9 : Signal x(n) correspondant à une sinusoïde échantillonnée (gauche) et  cette sinusoïde quantifiée (droite)<br />Figure 10 : Signal d'erreur e(n) dû à la quantification de la sinusoïde et densité spectrale de puissance associée (droite)<br />Nous retournons les valeurs des signaux x(n), x_quantifié(n) et e(n) à l’aide de trois blocs « To workspace » dans le logiciel Matlab . Lorsque nous écoutons la différence de son entre la sinusoïde et le signal quantifié  via la commande soundsc (x, 8000), nous remarquons que, pour le signal quantifié, le son est plus aïgu et qu’il y a superposition de plusieurs sons. C’est normal car son spectre est plus riche en harmoniques.<br />Enfin, pour terminer cette première partie, calculons le RSB des signaux x(n) et e(n).<br />RSBdB=10*log10σxx2σee2= 10*log101.0000.0454= 13.4294 dB<br />Si l’on compare cette valeur avec celle obtenue dans la cas du signal aléatoire uniforme, on constate que le rapport signal à bruit a diminué. C’est normal si l’on observe les densités spectrales d’erreur des deux signaux : le bruit relatif au périodogramme du sinus couvre environ 40 dB alors que pour le signal aléatoire c’est de l’ordre d’environ 8 dB.<br />Figure 11 : Périodogramme de l'erreur de quantification du signal aléatoire (gauche) et périodogramme de l'erreur de quantification du sinus (droite)<br />1.2 Le dithering<br />Le principe du dithering est d’ajouter un bruit aléatoire au signal analogique de façon à décorréler le bruit de quantification avec le signal. L’objectif de cette méthode est de réduire la perception du bruit de quantification.<br />Pour réaliser ce « dithering », nous allons adapter le masque réalisant la quantification uniforme. Nous allons construire un bruit blanc triangulaire ( meilleur dither existant ) en sommant deux bruits blancs uniformes allant de [- q2 ,  q2]. Il est facilement compréhensible que sommer deux bruits blancs uniformes donne un bruit blanc triangulaire.<br />Figure 12 : Création d’un bruit blanc triangulaire<br />Explications :<br />Prenons par exemple des valeurs comprises entre -3 et  +3 de manière aléatoire et uniforme et on les somme. On obtient donc un histogramme compris entre -6 et +6. Cependant, pour obtenir 6 ( ou -6) , une seulement combinaison est possible ( 3 et 3) tandis que pour obtenir 0, beaucoup plus de combinaisons sont possibles (-3+3, -2.5+2.5, -1+1,…). Il est donc normal d’obtenir une densité de probabilité plus importante au centre et faible aux extrémités.<br />Nous avons donc sommé à l’aide du bloc « add » deux bruits blancs uniformes « Uniform Random Number » où :<br />- minimum = -A/(2^N) = - q2 <br />- maximum =  A/(2^N) = + q2<br />- sample time = 1/8000 s<br />Il est à noter que nous avons modifié la valeur d’ « initial seed » pour l’un des deux bruits car Matlab ne génère pas tout à fait de manière aléatoire le bruit uniforme… Nous avons via la sortie « bruit 2 » ramené  les valeurs dans « To workspace triangle » afin d’afficher son histogramme sous Matlab. Nous obtenons bien un histogramme sous Matlab ( commande : hist ( triangle ,100) ) en forme de bruit blanc triangulaire. Si l’on somme tous les bâtonnets, on obtient bien les 16001 échantillons ( 8000 éch. / seconde * 2 secondes de simulation) compris entre –q et +q à savoir -0.75 et +0.75. On peut également vérifier que le bruit triangulaire est blanc. En effet, sa variance vaut <br />σbruit triangulaire2=var triangle=10*log100.0944= -10.25 dB. On observe bien un périodogramme avec une valeur centrale d’environ -10.25 dB (densité spectrale de puissance « constante  il s’agit bien d’un bruit blanc.<br />Figure 13 : Histogramme du bruit blanc triangulaire (gauche) et densité spectrale de puissance de ce bruit blanc triangulaire (droite)<br />Le schéma-bloc de la figure 4 est donc conservé si ce n’est le bloc quantification où l’on a rajouté le « dither » au signal échantillonné x(n) ( où xn= 2*sin2*pi*200*nTe). Nous obtenons alors pour le bloc de « dithering + quantification » :<br />Figure 14 : Schéma-bloc du dithering ajouté à la quantification<br />De nouveau via la commande soundsc (x, 8000), nous allons écouter les signaux x(n) et x_quantifié(n). On constate que le bruit de quantification est moins gênant pour l’oreille car on entend le signal de départ avec du bruit au-dessus. Pour mieux comprendre cela, il suffit de comparer les densités spectrales de puissance avant et après dithering. On constate distinctement que le signal n’est plus étouffé par d’autres harmoniques et est donc plus audible. Cependant, on a ajouté un bruit aléatoire au signal avant de la quantifier, il serait donc normal d’obtenir un RSB plus petit que sans « dithering » . C’est bien ce que l’on constate : RSBdB=10*log10σxx2σee2= 10*log101.0000.1416= 8.4893<13.4294 dB<br />Figure 15 : Densité spectrale de puissance du sinus x(n) quantifié(gauche) et densité spectrale de puissance du sinus quantifié avec dithering (droite)<br />2. CNA conventionnel<br />Le convertisseur numérique/analogique a pour but de transformer le signal numérique en un signal analogique. Pour ce faire, le signal numérique x(n) est transformé par une fonction en escaliers x*(t), cette opération consistant à réaliser une interpolation d'ordre zéro. Dans un dernier temps, le signal en escalier est lissé par un filtre passe-bas analogique pour obtenir le signal analogique x(t).<br />Illustration sous Matlab et Simulink<br />...<br />10. Calculer alors sous Matlab le rapport signal à bruit entre ces deux signaux, au moyen de la fonction snr.m qui vous est fournie par le personnel de laboratoire.<br />function [snr_value, shift] = snr(signal,signal_plus_noise,max_shift,showplot)<br />Cette fonction renvoie le rapport signal à bruit calculé à partir des signaux en entrée.<br />Le max_shift nous donne le décalage maximal dans le temps en nombre d'échantillons entre le signal et le signal bruité.  Le décalage actuel dans le temps (time-shift) est obtenu pour le calcul d'une cross-correlation maximale et cette valeur est renvoyée dans le shift en valeur absolue. Ceci est pris en compte pour estimer le bruit.<br />En fait, cette fonction calcule la cross-corrélation pour tout k et elle regarde où cette valeur est maximale. Une fois réalisé, elle peut donc estimer le décalage entre les deux signaux, elle effectue donc une correction pour ce décalage temporel des deux signaux et dans un dernier temps elle finit donc par estimer de manière correcte le rapport signal à bruit.<br />Maintenant, il est intéressant d'analyser pourquoi on constate un décalage temporel entre les deux signaux (le signal d'entrée et le signal en sortie, bruité). Ce délai est dû à l'utilisation du filtre, l'ordre du filtre, l'utilisation de buffers et l'emploi du bloc quot;
TO FRAMEquot;
,…<br />code matlab:<br />sinr(sin_de_depart,sin_bruitée,48001)<br />48001 = nombre d'échantillons maximal pour la simulation=on suppose à raison que les deux sinusoïdes seront décalées l'une par rapport à l'autre au maximum de leur nombre d'échantillons respectifs=8000 Hz * 2 secondes de simulation * 3 (pour l'interpolation d'ordre zéro avec fréquence d'échantillonnage 3 fois plus élevée).<br />valeurs retournées:<br />shift=6<br />snr=27.8580 dB<br />Explication pourquoi SNR meilleur?<br />3. CNA à sur-échantillonnage<br />problèmes des CNA conventionnels:<br />nécessitent des composants analogiques de haute précision<br />très sensibles aux interférences<br />imposent de fortes contraintes lors de la conception du filtre passe-bas analogique de lissage, dont la bande de transition doit être restreinte à l'intervalle [fm, fe-fm] où fm est la fréquence maximum du signal.<br />fonctionnement du la CNA à sur-échantillonnage:<br />sur-échantillonnage du signal d'entrée x(n) par un facteur K (insère K-1 zéros entre chaque échantillon de x(n) )  x0(n)<br />filtrage par un filtre passe-bas numérique de bande passante égale à [0, fe/K]  x#(n/K) avec une amplitude K fois plus petite que x(n) et fréquence d'échantillonnage K fois plus élevée<br />puissance du bruit de quantification e(n) filtré par le filtre passe-bas numérique d'interpolation<br />possible de re-quantifier le signal x#(n/K) sur N' bits (avec N' < N) tout en gardant la même puissance de bruit par rapport à la puissance du signal  x'(n)<br />Il faut donc égaler les aires grises correspondant au bruit sur le spectre de x#(n/K) et le spectre de x'(n), égaler les densités spectrales de puissance des bruits de quantification de telle sorte qu'on puisse garder la même puissance du bruit avec un nombre N' de bits de quantification < N.<br />K=22(N-N')  K=4  N-N'=1  N'=N-1 tout en conservant le même rapport singal à bruit.<br />Avantages :<br />gagner en nombre de bits de quantification<br />gagner en bande de transition pour le filtrage<br />Illustration sous Matlab et Simulink<br />Le schéma Simulink quot;
CNA_conventionnel.mdlquot;
 est sauvegardé sous un nouveau nom, à savoir quot;
CNA_surechantillonnage.mdlquot;
. On fixe le temps de simulation à 2 secondes.<br />1.<br />Quantification:<br />A=3<br />N=6<br />2.<br />Modifications à apporter pour la visualisation de X0(f):<br />buffer 4*400<br />|FFT|²FFT length = 2^13<br />Freq Scope  Sample time = 1/(8000*4) car sur-échantillonnage avec K=4.<br />Figure 16: Densité spectrale de puissance, gauche: quantifié, droite: x zéro<br />Figure 17: Oscillogramme, gauche: quantifié, droite: x zéro<br />Que constate-t-on?<br />Le spectre X0(f) a bien été sur-échantillonné par un facteur 4 par rapport au signal précédent situé à gauche de la figure 16 correspondant à x(n). Rajouter des zéros entre chaque échantillon ne modifie en rien le spectre. On a juste modifié la fréquence d'échantillonnage.<br />Sur la figure 17, on constate que pour construire x0(n), on est venu placer 3 zéros entre chaque échantillon de x(n).<br />3. On effectue le filtrage passe-bas numérique d'interpolation sous simulink au moyen d'un bloc Digital Filter Design de la librairie Signal processing blockset>Filtering> Filter Designs. On choisira un filtre non récursif de Parks-Mclellan (equiripple) de bande de transition [fe2-155Hz,fe2+ 155 Hz]  On obtient x#(n/K).    (x_sharp)<br />Figure 18: insertion du filtre passe-bas numérique<br />Figure 19: Spécifications du filtre passe-bas numérique<br />Commentaires:<br />La fréquence d'échantillonnage a utiliser est bien maintenant de 8000*4 Hz.<br />Cette nouvelle fréquence d'échantillonnage doit être utilisée dans tous les blocs de la figure 18 situés après le bloc Upsample.<br />4. Affichage du signal x#(n) ainsi obtenu dans un bloc scope renommé quot;
x sharpquot;
, et visualisation de sa transformée de Fourier calculée sur NTFD=2^13 points, au départ de trames de 4*400 échantillons.<br />On veillera donc bien à mettre dans le buffer 4*400, pour le module |FFT|² on stipulera bien que le calcul se réalise sur les 2^13 points. On modifiera aussi la fréquence d'échantillonnage à 32000 Hz dans les modules de visualisation, notamment (Freq Scope).<br />Figure 20: Oscillogramme de x sharp à dte comparé à celui de x zéro à gauche<br />On remarque que l'amplitude de x sharp a fortement diminué par rapport à x zéro. De plus on constate un délai de 0.004 secondes environ de x sharp sur le signal x zéro. Ceci est lié à l'effet du filtrage, à l'ordre élevé du filtre de Parks-Mclellan.<br />Figure 21: Densité spectrale de puissance de x sharp<br />On constate sur la figure 21 que le spectre est identique au spectre de x zéro. Toutefois, le but du filtrage passe-bas numérique était de supprimer le bruit en haute fréquence. L e bruit est donc ici éliminé en partie.<br />5.  On effectue ici la re-quantification (avec dithering) sur N'=4 bits.<br />Nous avions crée un masque pour le module de dither/quantification. Nous devons donc modifier les paramètres de ce bloc de manière à l'adapter à la re-quantification sur N'=4 bits. On modifie donc le paramètre A par la valeur ¾. N est modifié et devient 4. Comme l'amplitude A est modifiée, une re-quantification devient possible. On veillera aussi à changer dans les blocs quot;
Uniform Random Numberquot;
 de notre système de dither la fréquence d'échantillonnage qui vaut maintenant 32000 Hz.<br />6. Affichage du signal x'(n) dans un bloc scope renommé quot;
x primequot;
 et visualisation de sa transformée de Fourier calculée sur NTFD=2^13 points, au départ de trames de 4*400 échantillons.<br />La procédure est classique. Nous avons notre fréquence d'échantillonnage de 32000 Hz. On doit donc modifier dans chaque bloc la fréquence d'échantillonnage afin de la mettre à cette valeur. On modifie le buffer pour les 4*400 échantillons. On modifie le bloc |FFT|² afin que le calcul soit réalisé sur les 2^13 points.<br />Figure 22: Densité spectrale de puissance de x prime<br />Figure 23: Oscillogramme, gauche: x sharp, droite: x prime<br />On constate ici sur la figure 23 que x prime est bien le signal x sharp requantifié sur N' bits avec N'=4.<br />Sur la figure 22, on constate que le bruit est à nouveau uniformément réparti sur tout le spectre et non plus sur une partie du spectre comme précédemment. Toutefois, le calcul a été réalisé afin de garder un même rapport signal à bruit. Les aires sous-jacentes aux densités spectrales de puissance pour x sharp et pour x prime sont en effet calculées pour être identiques.<br />7. On effectue l'interpolation d'ordre zéro telle que dans le CNA conventionnel mais on adapte les paramètres en fonction de la nouvelle fréquence d'échantillonnage à savoir 3*8000*4 Hz.<br />On doit donc modifier tous les blocs suivants l'interpolation d'ordre zéro par cette nouvelle fréquence d'échantillonnage (exemple Freq Scope).<br />De plus, on doit adapter tous les buffers suivants l'interpolation d'ordre en modifiant leur valeur à 4*3*400 échantillons par trame.<br />Pourquoi un facteur par 3 ? L'interpolation d'ordre zéro en réalisé en décalant 2 fois le signal initial, à la place d'avoir un échantillon, nous en avons maintenant 3. La fréquence et le nombre d'échantillons est donc multiplié par un facteur 3.<br />8. Affichage du signal x*t ainsi obtenu ainsi que sa transformée de Fourier calculée sur NTFD= 2^13 points, au départ de trames de 3*4*400 échantillons.<br />Figure 24: Oscillogramme de x star, donc après interpolation d'ordre zéro<br />Figure 25: Densité spectrale de puissance de x star<br />On constate bien sur la figure que la fréquence d'échantillonnage a été portée à 3*8000*4 Hz.<br />Le spectre du filtre d'interpolation d'ordre zéro est dupliqué à 3*8000*4 Hz.<br />On constate que le spectre est bien atténué et possède la même forme que la densité spectrale de puissance du rectangle élémentaire de base servant à effectuer l'interpolation d'ordre zéro.<br />Sur la figure 24, les échantillons sont multipliés par un facteur 3.<br />9. Calcul préalable sous Matlab de l'ordre du filtrage passe-bas analogique permettant de lisser le signal x*t pour obtenir le signal analogique désiré.<br />On utilise pour cela, la fonction:<br />[ordre_N,WN]=ellipord(WP,WS,Ap,As,'s'); <br />Le 's' correspond à un filtrage de type analogique. De plus, on supposera que la bande de transition sera contenue dans l'intervalle [3400 Hz, 2*fe-3400 Hz] avec fe=8000 Hz.<br />Code Matlab:<br />[ordre_N,Wn]=ellipord(2*pi*3400,2*pi*(2*8000-3400), 0.1,60,'s');<br />Réponse renvoyée par Matlab:<br />N=4=ordre du filtre<br />WN=2.1363 e+0.004<br />On constate en utilisant [3400 Hz, 2*fe-3400 Hz] (fe=8000 Hz) comme bande de transition du filtre qu'on est moins exigeant au niveau de la conception du filtre avec le CNA sur-échantillonné comparablement avec le CNA conventionnel.<br />10. Simulation du filtrage analogique sous simulink au moyen d'un bloc Analog Filter Design de la librairie Signal processing blockset>Filtering>Filter designs.<br />Figure 26: Paramètres du bloc du filtrage analogique<br />11. Affichage du signal xanalogique(t) ainsi obtenu ainsi que sa transformée de Fourier calculée sur NTFD=2^13 points, au départ de trames de 3*4*400 échantillons.<br />Figure 27: Densité spectrale de puissance de x analogique(t)<br />Figure 28: Oscillogramme de x star (gauche) et de x analogique (droite)<br />Bien évidemment, les buffers ont à nouveau été configurés pour 4*3*400 échantillons.<br />Le bloc Freq Scope a bien été placé à la fréquence d'échantillonnage de 3*4*8000 Hz.<br />On constate donc bien qu'à la sortie nous obtenons bien un signal analogique bruité avec un bruit de quantification.<br />Nous allons par après nous attarder à calculer comparer le signal d'entrée au signal de sortie. Nous allons aussi déterminer le rapport signal à bruit du signal analogique en sortie.<br />12. Retourner les valeurs de x_analogique(t) dans l'espace de travail Matlab et afficher dans une même figure sous Matlab, le signal x_analogique(t) récupéré ainsi que la vraie sinusoïde que l'on aurait du obtenir.<br />On utilise pour réaliser cela, un simple bloc quot;
To Workspacequot;
.<br />Commandes Matlab:<br />size(xan) ans =           1           1      192001<br />Ceci correspond bien à 8000(fréquence d'échantillonnage de départ) *3(interpolation d'ordre zéro)*4(sur-échantillonnage)*2( temps de simulation) = 192000 échantillons.<br />C'est une matrice, nous souhaitons obtenir un vecteur avec les 192001 éléments.<br />Commandes Matlab:<br />x(1:192001)=xan(1,1,:);<br />tout=[0:2/192000:2];<br />subplot(2,1,1)<br />plot(tout(1:19201),sinp(1:19201))<br />subplot(2,1,2)<br />plot(tout(1:19201),x(1:19201))<br />Remarque:  le temps de simulation est fixé à 2 secondes, toutefois par souci de clarté, j'ai affiché le signal sous matlab jusqu'à 1/10 de la simulation.<br />On constate que le x analogique en sortie est bruité par rapport à une sinusoïde parfaite placée en entrée. L'amplitude du signal en sortie est divisé par un facteur 4 par rapport à la sinusoïde de départ. Ceci est du au facteur 4 du sur-échantillonnage.<br />(xanal)max=sqrt(2)/4= 0.3536<br />(sinp)max=sqrt(2)= 1.4142<br />De plus, on constate un délai entre les deux signaux. Ceci a déjà été expliqué précédemment dans ce rapport. Les facteurs principaux influençant ce délai sont la présence de filtres, de buffers, le bloc quot;
To Framequot;
,…<br />13. Calcul sous matlab du rapport signal à bruit entre ces deux signaux, au moyen de la fonction snr.m.<br />La théorie concernant l'utilisation de la fonction snr.m a déjà été explicitée dans le rapport.<br />Le shift maximal entre les deux signaux est le nombre d'échantillons présent dans les signaux. Celui-ci vaut 192000 (192001).<br />Commande matlab:<br />snr(sinp,4*x,8000*2*3*4);<br />Valeurs renvoyées par matlab:<br />Shift=434<br />snr=19.4627 dB<br />On constate donc bien que le rapport signal a diminué par rapport à avant lors de l'utilisation du CNA conventionnel. Avant, cette valeur était de 27.85.<br />En effet, la quantification q est égale à 2A/2N.<br />Si N diminue, q augmente et donc, le bruit qui est en q²/12 augmente. C'est en modifant l'amplitude A qu'on a pu diminuer le nombre de bits de quantification. Toutefois, nous avons quantifier sur 4 bits alors qu'idéalement on aurait du re-quantifier sur N'=N-1=5 bits. On perd donc déjà ici un peu en rapport signal à bruit.<br />Puis, il faut aussi savoir qu'on a quantifier deux fois notre signal. Les erreurs de quantification ont donc été cumulées, d'où le fait que le rapport signal à bruit ait diminué.<br />Toutefois,  l'avantage de l'utilisation du CNA sur-échantillonné est indéniable.<br />Avantages :<br />gagner en nombre de bits de quantification<br />gagner en bande de transition pour le filtrage<br /> <br />
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal
Projet Traitement Du Signal

Contenu connexe

Tendances

Filtre adaptatif LMS avec Système On Chi (SOC) sur FPGA
Filtre adaptatif LMS avec Système On Chi (SOC) sur FPGAFiltre adaptatif LMS avec Système On Chi (SOC) sur FPGA
Filtre adaptatif LMS avec Système On Chi (SOC) sur FPGAHoussam Benkerroum
 
Rapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRouâa Ben Hammouda
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesHosni Mansour
 
Tp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlabTp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlabhamdinho
 
Traitement des images avec matlab
Traitement des images avec matlabTraitement des images avec matlab
Traitement des images avec matlabomar bllaouhamou
 
Chapitre 5 échantillonnage.pptx
Chapitre 5 échantillonnage.pptxChapitre 5 échantillonnage.pptx
Chapitre 5 échantillonnage.pptxFadilaFE
 
ELE2611 Classe 3 - Filtres analogiques linéaires I
ELE2611 Classe 3 - Filtres analogiques linéaires IELE2611 Classe 3 - Filtres analogiques linéaires I
ELE2611 Classe 3 - Filtres analogiques linéaires IJerome LE NY
 
Projet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleProjet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleAbdo07
 
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGEProjet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGEHASSOU mohamed
 
correction examen rattrapage 2012 transmission numérique
correction examen rattrapage 2012 transmission numérique correction examen rattrapage 2012 transmission numérique
correction examen rattrapage 2012 transmission numérique omar bllaouhamou
 
Traitement d'image sous Matlab
Traitement d'image sous Matlab  Traitement d'image sous Matlab
Traitement d'image sous Matlab Hajer Dahech
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"étudesMohamed Boubaya
 
Tp 3 transmission de donné modulation d'amplitude,de fréquence et de phase
Tp 3 transmission de donné modulation d'amplitude,de fréquence et de phaseTp 3 transmission de donné modulation d'amplitude,de fréquence et de phase
Tp 3 transmission de donné modulation d'amplitude,de fréquence et de phasehamdinho
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaNazih Heni
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learningQuentin Ambard
 

Tendances (20)

Filtre adaptatif LMS avec Système On Chi (SOC) sur FPGA
Filtre adaptatif LMS avec Système On Chi (SOC) sur FPGAFiltre adaptatif LMS avec Système On Chi (SOC) sur FPGA
Filtre adaptatif LMS avec Système On Chi (SOC) sur FPGA
 
Rapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRapport de Mémoire Master Recherche
Rapport de Mémoire Master Recherche
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Tp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlabTp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlab
 
States machines (1)
States machines (1)States machines (1)
States machines (1)
 
Traitement des images avec matlab
Traitement des images avec matlabTraitement des images avec matlab
Traitement des images avec matlab
 
Chapitre 5 échantillonnage.pptx
Chapitre 5 échantillonnage.pptxChapitre 5 échantillonnage.pptx
Chapitre 5 échantillonnage.pptx
 
ELE2611 Classe 3 - Filtres analogiques linéaires I
ELE2611 Classe 3 - Filtres analogiques linéaires IELE2611 Classe 3 - Filtres analogiques linéaires I
ELE2611 Classe 3 - Filtres analogiques linéaires I
 
Projet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleProjet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitale
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGEProjet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
 
Cours fondement du multimedia
Cours fondement du multimediaCours fondement du multimedia
Cours fondement du multimedia
 
Filtrage image
Filtrage imageFiltrage image
Filtrage image
 
correction examen rattrapage 2012 transmission numérique
correction examen rattrapage 2012 transmission numérique correction examen rattrapage 2012 transmission numérique
correction examen rattrapage 2012 transmission numérique
 
Traitement d'image sous Matlab
Traitement d'image sous Matlab  Traitement d'image sous Matlab
Traitement d'image sous Matlab
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"études
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
 
Tp 3 transmission de donné modulation d'amplitude,de fréquence et de phase
Tp 3 transmission de donné modulation d'amplitude,de fréquence et de phaseTp 3 transmission de donné modulation d'amplitude,de fréquence et de phase
Tp 3 transmission de donné modulation d'amplitude,de fréquence et de phase
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learning
 

Similaire à Projet Traitement Du Signal

td_devoirs_2013.pdf
td_devoirs_2013.pdftd_devoirs_2013.pdf
td_devoirs_2013.pdfMeryemH2
 
examen en DSP 2023.pdf
examen en DSP 2023.pdfexamen en DSP 2023.pdf
examen en DSP 2023.pdfkamouf
 
CM2 - Conversion Anlogique Numérique
CM2 - Conversion Anlogique NumériqueCM2 - Conversion Anlogique Numérique
CM2 - Conversion Anlogique NumériquePierre Maréchal
 
Trans_signal partiel.pdf
Trans_signal partiel.pdfTrans_signal partiel.pdf
Trans_signal partiel.pdfHassnTAI
 
Bac s 2014_centres_etrangers
Bac s 2014_centres_etrangersBac s 2014_centres_etrangers
Bac s 2014_centres_etrangersFabrice Lallemand
 
Modélisation du signal et photométrie : application à l'astrophotographie
Modélisation du signal et photométrie : application à l'astrophotographieModélisation du signal et photométrie : application à l'astrophotographie
Modélisation du signal et photométrie : application à l'astrophotographieLaurent Devineau
 
MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE DE...
MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE  DE...MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE  DE...
MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE DE...Abou Bakeur Ghehioueche
 
diaporama2020_cours-etude_frequentielle.pptx
diaporama2020_cours-etude_frequentielle.pptxdiaporama2020_cours-etude_frequentielle.pptx
diaporama2020_cours-etude_frequentielle.pptxYassineBenkraouda
 
Diabang et fatimetou mennou rapport design &amp; simulation of dssss using ma...
Diabang et fatimetou mennou rapport design &amp; simulation of dssss using ma...Diabang et fatimetou mennou rapport design &amp; simulation of dssss using ma...
Diabang et fatimetou mennou rapport design &amp; simulation of dssss using ma...Cheikh Tidiane DIABANG
 
MS2 presentation : pratiques de la démarche scientifiques
MS2 presentation : pratiques de la démarche scientifiquesMS2 presentation : pratiques de la démarche scientifiques
MS2 presentation : pratiques de la démarche scientifiquesJulien Physagreg
 
Estimation d’harmoniques dans un bruit multiplicatif à valeurs complexes
Estimation d’harmoniques dans un bruit multiplicatif à valeurs complexesEstimation d’harmoniques dans un bruit multiplicatif à valeurs complexes
Estimation d’harmoniques dans un bruit multiplicatif à valeurs complexesCynthia Pozun
 
Generalities sur scanner et ses generation
Generalities sur scanner et ses generationGeneralities sur scanner et ses generation
Generalities sur scanner et ses generationranahadjadji
 
Mettre obligatoirement le titre de la leçon ici
Mettre obligatoirement le titre de la leçon iciMettre obligatoirement le titre de la leçon ici
Mettre obligatoirement le titre de la leçon iciwospro-academy
 

Similaire à Projet Traitement Du Signal (20)

td_devoirs_2013.pdf
td_devoirs_2013.pdftd_devoirs_2013.pdf
td_devoirs_2013.pdf
 
Diviser Pour Régner
Diviser Pour RégnerDiviser Pour Régner
Diviser Pour Régner
 
examen en DSP 2023.pdf
examen en DSP 2023.pdfexamen en DSP 2023.pdf
examen en DSP 2023.pdf
 
CM2 - Conversion Anlogique Numérique
CM2 - Conversion Anlogique NumériqueCM2 - Conversion Anlogique Numérique
CM2 - Conversion Anlogique Numérique
 
Trans_signal partiel.pdf
Trans_signal partiel.pdfTrans_signal partiel.pdf
Trans_signal partiel.pdf
 
Video
VideoVideo
Video
 
Bac s 2014_centres_etrangers
Bac s 2014_centres_etrangersBac s 2014_centres_etrangers
Bac s 2014_centres_etrangers
 
Modélisation du signal et photométrie : application à l'astrophotographie
Modélisation du signal et photométrie : application à l'astrophotographieModélisation du signal et photométrie : application à l'astrophotographie
Modélisation du signal et photométrie : application à l'astrophotographie
 
MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE DE...
MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE  DE...MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE  DE...
MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE DE...
 
Comparaison
ComparaisonComparaison
Comparaison
 
GEII - OL3 : Signaux et systèmes numériques
GEII - OL3 : Signaux et systèmes numériquesGEII - OL3 : Signaux et systèmes numériques
GEII - OL3 : Signaux et systèmes numériques
 
Fic00126
Fic00126Fic00126
Fic00126
 
diaporama2020_cours-etude_frequentielle.pptx
diaporama2020_cours-etude_frequentielle.pptxdiaporama2020_cours-etude_frequentielle.pptx
diaporama2020_cours-etude_frequentielle.pptx
 
Diabang et fatimetou mennou rapport design &amp; simulation of dssss using ma...
Diabang et fatimetou mennou rapport design &amp; simulation of dssss using ma...Diabang et fatimetou mennou rapport design &amp; simulation of dssss using ma...
Diabang et fatimetou mennou rapport design &amp; simulation of dssss using ma...
 
Codage
CodageCodage
Codage
 
MS2 presentation : pratiques de la démarche scientifiques
MS2 presentation : pratiques de la démarche scientifiquesMS2 presentation : pratiques de la démarche scientifiques
MS2 presentation : pratiques de la démarche scientifiques
 
Estimation d’harmoniques dans un bruit multiplicatif à valeurs complexes
Estimation d’harmoniques dans un bruit multiplicatif à valeurs complexesEstimation d’harmoniques dans un bruit multiplicatif à valeurs complexes
Estimation d’harmoniques dans un bruit multiplicatif à valeurs complexes
 
Generalities sur scanner et ses generation
Generalities sur scanner et ses generationGeneralities sur scanner et ses generation
Generalities sur scanner et ses generation
 
Mettre obligatoirement le titre de la leçon ici
Mettre obligatoirement le titre de la leçon iciMettre obligatoirement le titre de la leçon ici
Mettre obligatoirement le titre de la leçon ici
 
246242769 sequence-1-pdf
246242769 sequence-1-pdf246242769 sequence-1-pdf
246242769 sequence-1-pdf
 

Plus de PierreMASURE

Plus de PierreMASURE (7)

Sms On FiRe
Sms On FiReSms On FiRe
Sms On FiRe
 
Présentation Web Technology
Présentation Web TechnologyPrésentation Web Technology
Présentation Web Technology
 
Compiling Under Linux
Compiling Under LinuxCompiling Under Linux
Compiling Under Linux
 
Projet Ma2
Projet Ma2Projet Ma2
Projet Ma2
 
Projet De ThéOrie Des Circuits
Projet De ThéOrie Des CircuitsProjet De ThéOrie Des Circuits
Projet De ThéOrie Des Circuits
 
Projet Bac3
Projet Bac3Projet Bac3
Projet Bac3
 
Projet Bac2
Projet Bac2Projet Bac2
Projet Bac2
 

Projet Traitement Du Signal

  • 1. PROJET DE TRAITEMENT DU SIGNAL – MASTER 1<br />CONVERTISSEURS NUMERIQUE – ANALOGIQUE UTILISES DANS LES LECTEURS CD<br />Roppe Quentin, Masure Pierre<br />1. Numérisation du signal audio analogique<br />Nous allons dans une première étape nous familiariser avec la numérisation d’un signal analogique. Pour ce faire, nous devons d’abord échantillonner le signal et ensuite le quantifier. Au fil de ce rapport, nous illustrerons par des figures réalisées sous Simulink les différentes étapes qui ont été nécessaires au bon déroulement du projet. <br />1.1 La quantification uniforme à L = 2Nniveaux<br />Après avoir préalablement nommé notre schéma Simulink « quantification_uniform.mdl », nous avons généré pendant 2 secondes un signal aléatoire uniforme x(n) de variance égale à 3 et de fréquence d’échantillonnage égale à 8000 Hz. <br />Nous désirons générer ce signal entre - q2 et q2 ( q est la notation théorique ). Nous savons que pour un signal aléatoire uniforme, la variance vaut q212 = 3. Nous pouvons donc en déduire la valeur de q = 6. Nous spécifions donc dans notre Uniform Random Number : <br />- minimum = - 3<br />- maximum = 3<br />- sample time = 1/8000 s ( correspondant à notre période d’échantillonnage) . <br />Via le bloc scope renommé x ( dans lequel nous avons décoché la limitation de points ), nous avons pu visualiser le signal x(n). Pour ce faire, nous avons également fixé time range à 0.02 afin de visualiser plus clairement le graphique. Nous observons bien des valeurs comprises entre -3 et 3.<br />Nous avons ensuite importé ces valeurs sous Matlab via le bloc To workspace . Dans ce bloc, nous avons appelé « variable name : x ». Nous avons fixé sample time = 1/8000 ( nous ne le rappellerons plus par la suite sauf si ce temps d’échantillonnage vient à changer ) ainsi que Array comme format. Nous obtenons bien une variance égale à var ( x ) = 3.0203 ≈ 3 .<br />Avant de commencer la quantification proprement dite, nous avons simulé le périodogramme moyenné du signal x(n). Comme demandé, nous avons fixé les paramètres :<br />- window type : Hamming<br />- FFT length ( après avoir décoché inherit length ) = 2^13<br />- number of spectral averages = 10 (correspondant au L théorique)<br />Etant donné que nous voulons calculer ce périodogramme par trames de 400 échantillons et que le signal est généré par échantillon, nous avons placé un buffer en amont. Nous avons alors précisé Output buffer size = 400 ( nous ne le repréciserons plus par la suite ).<br />Enfin, pour afficher ce périodogramme, nous avons utilisé un «  frequency vector scope ». Comme paramètres, nous avons fixé : <br />- input domain : frequency ( logique pour afficher un périodogramme )<br />- frequency range : [0… fs] ( pour afficher jusqu’à la fréquence d’échantillonnage)<br />- sample time = 1/8000 s (inherit décoché pour réaliser cette opération). <br />- amplitude scaling : dB<br />Etant donné qu’il s’agit d’un signal aléatoire uniforme de variance 3, nous savons que sa densité spectrale est constante et égale à la variance en dB : 10*log103=4.77 dB. C’est bien la valeur observée sur le périodogramme.<br />Voici les différentes figures obtenues jusqu’ici :<br />Figure 1: Génération d'un signal aléatoire uniforme et calcul de sa densité spectrale de puissance<br />Figure 2 : Signal aléatoire uniforme x(n) (gauche) et densité spectrale de puissance du signal x(n) (droite)<br />Nous allons maintenant implémenter la quantification uniforme sous Simulink. Cette quantification se fera sur l’intervalle [-A , +A] avec A = 3 et N = 3 (nombre de bits sur lequel l’information numérique sera codée). Pour réaliser cette quantification, nous allons simplement transposer sous forme de bloc la formule de quantification à savoir : <br />xquantifié=floor xq* q+ q2 tout en tenant compte de bien rester dans l’intervalle <br /> [A-q2 , -A +q2] avec q= 2*A2N=0.75 .<br />Nous avons donc placé un premier gain multipliant x par 1q=12*A2N . Ensuite, nous lui appliquons un floor ( arrondi vers le bas ) pour le remultiplier par après par q. Nous le sommons alors avec q2 . Enfin, afin de ne pas sortir de l’intervalle nous plaçons un bloc saturation où « upper limit » = A-(A/(2^N)) et « lower limit » = (-A)+(A/(2^N)). Nous mettons alors ce bloc sous un masque nommé quantification dans lequel nous initialisons<br />( edit mask parameters ) les valeurs de A et N.<br />Nous obtenons ce schéma pour la quantification :<br />Figure 3 : Schéma-bloc de la quantification uniforme<br />Nous pouvons observer le signal quantifié sur le scope où nous visualisons bien 8 niveaux distincts pour le signal xquantifié ce qui est logique : 2N niveaux de quantification. Ces 8 niveaux sont compris entre -3 et 3 ( plus exactement entre -3 + q 2 et 3 - q2 ).<br />Nous avons ensuite codé le périodogramme moyenné du signal quantifié exactement de la même façon que pour le signal non quantifié. On constate, comme nous l’avons vu au cours théorique, que l’erreur commise lors de la quantification peut être considérée comme un bruit qui vient s’ajouter au signal. Et en effet, le bruit est légèrement plus important autour de 4.77 dB pour le périodogramme moyenné du signal quantifié avec des pics dépassant les 8 dB ( ce qui n’est pas le cas sur le périodogramme du signal x(n) ). On le vérifiera de manière plus précise par après en calculant le RSB (rapport signal à bruit).<br />Nous avons ensuite simplement soustrait xquantifié(n) à x(n) via un bloc « add » pour obtenir l’erreur e(n). Nous le visualisons via un scope, ramenons les valeurs sous Matlab à l’aide d’un « workspace » et obtenons son périodogramme moyenné exactement avec les mêmes blocs qu’utilisés précédemment.<br />Le signal d’erreur est théoriquement compris entre [-q2 ,+q2] = [-38 ,+38] = [-0.375,+0.375]. C’est bien ce que nous observons sur le scope du signal d’erreur. Le signal d’erreur devrait être un bruit blanc de variance σee2= q212=10*log100.75212= -13.2905 dB. C’est bien autour de cette valeur qu’ « oscille » le périodogramme d’erreur. <br />Calculons maintenant la rapport signal à bruit ( x(n) et e(n) ) :<br /> RSBexpérimentaldB=10*log10var(x)var(e)= 10*log103.02030.0473= 18.0518 dB<br />RSBthéoriquedB=6.02*3+4.77-20*log1033= 18.0587 dB<br />Les deux valeurs théoriques et expérimentales concordent bien. Nous pouvons même rentrer un peu plus dans le détail. En effet, calculons le RSB ( xq (n) et e(n) ) :<br />RSBexpérimentaldB=10*log10var(xq)var(e)= 10*log102.96700.0473= 17.9790 dB<br />Nous constatons donc bien que le RSB du signal quantifié diminue.<br />Visualisons les graphes obtenus pour cette partie :<br />Figure 4 : Schéma-bloc du signal quantifié et du calcul de l’erreur de quantification<br />Figure 5 : Signal x(n) aléatoire uniforme quantifié (gauche) et signal d'erreur e(n) associé (droite)<br />Figure 6 : Densité spectrale de puissance du signal x(n) aléatoire uniforme quantifié (gauche) et densité spectrale de puissance du signal d'erreur associé (droite)<br />Nous allons maintenant remplacer le signal d’entrée x(n) aléatoire uniforme par un signal échantillonné à 8000 Hz composé de 12 sinusoïdes d’amplitudes et fréquences différentes. Le schéma-bloc est donc identique au précédent (cfr figure 4) excepté ce remplacement . Pour simuler cela, nous avons simplement sommé via un bloc « add » les 12 sinusoïdes discrètes avec les amplitudes et fréquences adéquates. <br />On constate que le signal généré a approximativement l’allure d’une sinusoïde ce qui est logique étant donné que c’est une somme de sinusoïdes. Le signal quantifié l’est bien sur 8 niveaux distincts comme précédemment. <br />De plus, on vérifie bien que le périodogramme moyenné est constitué d’un ensemble de raies aux différentes fréquences spécifiées. Vérifions l’amplitude d’une raie…<br />Enfin, comme le signal est suffisamment « complexe », l’erreur de quantification peut être assimilé à un bruit blanc de variance σee2= q212=10*log100.75212= -13.2906 dB. C’est bien l’amplitude « centrale » obtenue sur le périodogramme moyenné du signal d’erreur.<br />Figure 7 : Signal x(n) constitué de sinusoïdes (gauche) et signal quantifié de ces sinusoïdes (droite)<br />Figure 8 : Densité spectrale de puissance du signal quantifié constitué de sinusoïdes (gauche) et densité spectrale de puissance du signal d'erreur de ces mêmes sinusoïdes (droite)<br />Pour terminer cette première partie, nous allons remplacer le système constitué des sinusoïdes par une seule sinusoïde valant : xn= 2*sin2*pi*200*nTe où Te=1/8000 s. Il s’agit du même schéma-bloc (cfr figure 4) excepté ce remplacement. <br />Le signal n’est plus suffisamment complexe ; son erreur de quantification ne peut plus être considérée comme un bruit blanc. Le signal d’erreur n’a plus la variance d’un bruit blanc valant -13.2906 dB. En effet, le périodogramme moyenné présente des raies d’égales amplitudes ainsi que du bruit aux alentours de -50 dB.<br />En ce qui concerne le signal x(n), nous observons bien une sinusoïde échantillonnée d’amplitude 1.41 et de période 0.005 s. Nous constatons qu’il n’y a plus 8 niveaux de quantification mais 4. C’est logique ; en effet si l’on divise l’amplitude crête à crête de la sinusoïde par le pas de quantification, nous obtenons au maximum 4 niveaux de quantification ( 2* 20.75 ≈4 ).<br />Figure 9 : Signal x(n) correspondant à une sinusoïde échantillonnée (gauche) et cette sinusoïde quantifiée (droite)<br />Figure 10 : Signal d'erreur e(n) dû à la quantification de la sinusoïde et densité spectrale de puissance associée (droite)<br />Nous retournons les valeurs des signaux x(n), x_quantifié(n) et e(n) à l’aide de trois blocs « To workspace » dans le logiciel Matlab . Lorsque nous écoutons la différence de son entre la sinusoïde et le signal quantifié via la commande soundsc (x, 8000), nous remarquons que, pour le signal quantifié, le son est plus aïgu et qu’il y a superposition de plusieurs sons. C’est normal car son spectre est plus riche en harmoniques.<br />Enfin, pour terminer cette première partie, calculons le RSB des signaux x(n) et e(n).<br />RSBdB=10*log10σxx2σee2= 10*log101.0000.0454= 13.4294 dB<br />Si l’on compare cette valeur avec celle obtenue dans la cas du signal aléatoire uniforme, on constate que le rapport signal à bruit a diminué. C’est normal si l’on observe les densités spectrales d’erreur des deux signaux : le bruit relatif au périodogramme du sinus couvre environ 40 dB alors que pour le signal aléatoire c’est de l’ordre d’environ 8 dB.<br />Figure 11 : Périodogramme de l'erreur de quantification du signal aléatoire (gauche) et périodogramme de l'erreur de quantification du sinus (droite)<br />1.2 Le dithering<br />Le principe du dithering est d’ajouter un bruit aléatoire au signal analogique de façon à décorréler le bruit de quantification avec le signal. L’objectif de cette méthode est de réduire la perception du bruit de quantification.<br />Pour réaliser ce « dithering », nous allons adapter le masque réalisant la quantification uniforme. Nous allons construire un bruit blanc triangulaire ( meilleur dither existant ) en sommant deux bruits blancs uniformes allant de [- q2 , q2]. Il est facilement compréhensible que sommer deux bruits blancs uniformes donne un bruit blanc triangulaire.<br />Figure 12 : Création d’un bruit blanc triangulaire<br />Explications :<br />Prenons par exemple des valeurs comprises entre -3 et +3 de manière aléatoire et uniforme et on les somme. On obtient donc un histogramme compris entre -6 et +6. Cependant, pour obtenir 6 ( ou -6) , une seulement combinaison est possible ( 3 et 3) tandis que pour obtenir 0, beaucoup plus de combinaisons sont possibles (-3+3, -2.5+2.5, -1+1,…). Il est donc normal d’obtenir une densité de probabilité plus importante au centre et faible aux extrémités.<br />Nous avons donc sommé à l’aide du bloc « add » deux bruits blancs uniformes « Uniform Random Number » où :<br />- minimum = -A/(2^N) = - q2 <br />- maximum = A/(2^N) = + q2<br />- sample time = 1/8000 s<br />Il est à noter que nous avons modifié la valeur d’ « initial seed » pour l’un des deux bruits car Matlab ne génère pas tout à fait de manière aléatoire le bruit uniforme… Nous avons via la sortie « bruit 2 » ramené les valeurs dans « To workspace triangle » afin d’afficher son histogramme sous Matlab. Nous obtenons bien un histogramme sous Matlab ( commande : hist ( triangle ,100) ) en forme de bruit blanc triangulaire. Si l’on somme tous les bâtonnets, on obtient bien les 16001 échantillons ( 8000 éch. / seconde * 2 secondes de simulation) compris entre –q et +q à savoir -0.75 et +0.75. On peut également vérifier que le bruit triangulaire est blanc. En effet, sa variance vaut <br />σbruit triangulaire2=var triangle=10*log100.0944= -10.25 dB. On observe bien un périodogramme avec une valeur centrale d’environ -10.25 dB (densité spectrale de puissance « constante  il s’agit bien d’un bruit blanc.<br />Figure 13 : Histogramme du bruit blanc triangulaire (gauche) et densité spectrale de puissance de ce bruit blanc triangulaire (droite)<br />Le schéma-bloc de la figure 4 est donc conservé si ce n’est le bloc quantification où l’on a rajouté le « dither » au signal échantillonné x(n) ( où xn= 2*sin2*pi*200*nTe). Nous obtenons alors pour le bloc de « dithering + quantification » :<br />Figure 14 : Schéma-bloc du dithering ajouté à la quantification<br />De nouveau via la commande soundsc (x, 8000), nous allons écouter les signaux x(n) et x_quantifié(n). On constate que le bruit de quantification est moins gênant pour l’oreille car on entend le signal de départ avec du bruit au-dessus. Pour mieux comprendre cela, il suffit de comparer les densités spectrales de puissance avant et après dithering. On constate distinctement que le signal n’est plus étouffé par d’autres harmoniques et est donc plus audible. Cependant, on a ajouté un bruit aléatoire au signal avant de la quantifier, il serait donc normal d’obtenir un RSB plus petit que sans « dithering » . C’est bien ce que l’on constate : RSBdB=10*log10σxx2σee2= 10*log101.0000.1416= 8.4893<13.4294 dB<br />Figure 15 : Densité spectrale de puissance du sinus x(n) quantifié(gauche) et densité spectrale de puissance du sinus quantifié avec dithering (droite)<br />2. CNA conventionnel<br />Le convertisseur numérique/analogique a pour but de transformer le signal numérique en un signal analogique. Pour ce faire, le signal numérique x(n) est transformé par une fonction en escaliers x*(t), cette opération consistant à réaliser une interpolation d'ordre zéro. Dans un dernier temps, le signal en escalier est lissé par un filtre passe-bas analogique pour obtenir le signal analogique x(t).<br />Illustration sous Matlab et Simulink<br />...<br />10. Calculer alors sous Matlab le rapport signal à bruit entre ces deux signaux, au moyen de la fonction snr.m qui vous est fournie par le personnel de laboratoire.<br />function [snr_value, shift] = snr(signal,signal_plus_noise,max_shift,showplot)<br />Cette fonction renvoie le rapport signal à bruit calculé à partir des signaux en entrée.<br />Le max_shift nous donne le décalage maximal dans le temps en nombre d'échantillons entre le signal et le signal bruité. Le décalage actuel dans le temps (time-shift) est obtenu pour le calcul d'une cross-correlation maximale et cette valeur est renvoyée dans le shift en valeur absolue. Ceci est pris en compte pour estimer le bruit.<br />En fait, cette fonction calcule la cross-corrélation pour tout k et elle regarde où cette valeur est maximale. Une fois réalisé, elle peut donc estimer le décalage entre les deux signaux, elle effectue donc une correction pour ce décalage temporel des deux signaux et dans un dernier temps elle finit donc par estimer de manière correcte le rapport signal à bruit.<br />Maintenant, il est intéressant d'analyser pourquoi on constate un décalage temporel entre les deux signaux (le signal d'entrée et le signal en sortie, bruité). Ce délai est dû à l'utilisation du filtre, l'ordre du filtre, l'utilisation de buffers et l'emploi du bloc quot; TO FRAMEquot; ,…<br />code matlab:<br />sinr(sin_de_depart,sin_bruitée,48001)<br />48001 = nombre d'échantillons maximal pour la simulation=on suppose à raison que les deux sinusoïdes seront décalées l'une par rapport à l'autre au maximum de leur nombre d'échantillons respectifs=8000 Hz * 2 secondes de simulation * 3 (pour l'interpolation d'ordre zéro avec fréquence d'échantillonnage 3 fois plus élevée).<br />valeurs retournées:<br />shift=6<br />snr=27.8580 dB<br />Explication pourquoi SNR meilleur?<br />3. CNA à sur-échantillonnage<br />problèmes des CNA conventionnels:<br />nécessitent des composants analogiques de haute précision<br />très sensibles aux interférences<br />imposent de fortes contraintes lors de la conception du filtre passe-bas analogique de lissage, dont la bande de transition doit être restreinte à l'intervalle [fm, fe-fm] où fm est la fréquence maximum du signal.<br />fonctionnement du la CNA à sur-échantillonnage:<br />sur-échantillonnage du signal d'entrée x(n) par un facteur K (insère K-1 zéros entre chaque échantillon de x(n) ) x0(n)<br />filtrage par un filtre passe-bas numérique de bande passante égale à [0, fe/K] x#(n/K) avec une amplitude K fois plus petite que x(n) et fréquence d'échantillonnage K fois plus élevée<br />puissance du bruit de quantification e(n) filtré par le filtre passe-bas numérique d'interpolation<br />possible de re-quantifier le signal x#(n/K) sur N' bits (avec N' < N) tout en gardant la même puissance de bruit par rapport à la puissance du signal x'(n)<br />Il faut donc égaler les aires grises correspondant au bruit sur le spectre de x#(n/K) et le spectre de x'(n), égaler les densités spectrales de puissance des bruits de quantification de telle sorte qu'on puisse garder la même puissance du bruit avec un nombre N' de bits de quantification < N.<br />K=22(N-N') K=4 N-N'=1 N'=N-1 tout en conservant le même rapport singal à bruit.<br />Avantages :<br />gagner en nombre de bits de quantification<br />gagner en bande de transition pour le filtrage<br />Illustration sous Matlab et Simulink<br />Le schéma Simulink quot; CNA_conventionnel.mdlquot; est sauvegardé sous un nouveau nom, à savoir quot; CNA_surechantillonnage.mdlquot; . On fixe le temps de simulation à 2 secondes.<br />1.<br />Quantification:<br />A=3<br />N=6<br />2.<br />Modifications à apporter pour la visualisation de X0(f):<br />buffer 4*400<br />|FFT|²FFT length = 2^13<br />Freq Scope Sample time = 1/(8000*4) car sur-échantillonnage avec K=4.<br />Figure 16: Densité spectrale de puissance, gauche: quantifié, droite: x zéro<br />Figure 17: Oscillogramme, gauche: quantifié, droite: x zéro<br />Que constate-t-on?<br />Le spectre X0(f) a bien été sur-échantillonné par un facteur 4 par rapport au signal précédent situé à gauche de la figure 16 correspondant à x(n). Rajouter des zéros entre chaque échantillon ne modifie en rien le spectre. On a juste modifié la fréquence d'échantillonnage.<br />Sur la figure 17, on constate que pour construire x0(n), on est venu placer 3 zéros entre chaque échantillon de x(n).<br />3. On effectue le filtrage passe-bas numérique d'interpolation sous simulink au moyen d'un bloc Digital Filter Design de la librairie Signal processing blockset>Filtering> Filter Designs. On choisira un filtre non récursif de Parks-Mclellan (equiripple) de bande de transition [fe2-155Hz,fe2+ 155 Hz] On obtient x#(n/K). (x_sharp)<br />Figure 18: insertion du filtre passe-bas numérique<br />Figure 19: Spécifications du filtre passe-bas numérique<br />Commentaires:<br />La fréquence d'échantillonnage a utiliser est bien maintenant de 8000*4 Hz.<br />Cette nouvelle fréquence d'échantillonnage doit être utilisée dans tous les blocs de la figure 18 situés après le bloc Upsample.<br />4. Affichage du signal x#(n) ainsi obtenu dans un bloc scope renommé quot; x sharpquot; , et visualisation de sa transformée de Fourier calculée sur NTFD=2^13 points, au départ de trames de 4*400 échantillons.<br />On veillera donc bien à mettre dans le buffer 4*400, pour le module |FFT|² on stipulera bien que le calcul se réalise sur les 2^13 points. On modifiera aussi la fréquence d'échantillonnage à 32000 Hz dans les modules de visualisation, notamment (Freq Scope).<br />Figure 20: Oscillogramme de x sharp à dte comparé à celui de x zéro à gauche<br />On remarque que l'amplitude de x sharp a fortement diminué par rapport à x zéro. De plus on constate un délai de 0.004 secondes environ de x sharp sur le signal x zéro. Ceci est lié à l'effet du filtrage, à l'ordre élevé du filtre de Parks-Mclellan.<br />Figure 21: Densité spectrale de puissance de x sharp<br />On constate sur la figure 21 que le spectre est identique au spectre de x zéro. Toutefois, le but du filtrage passe-bas numérique était de supprimer le bruit en haute fréquence. L e bruit est donc ici éliminé en partie.<br />5. On effectue ici la re-quantification (avec dithering) sur N'=4 bits.<br />Nous avions crée un masque pour le module de dither/quantification. Nous devons donc modifier les paramètres de ce bloc de manière à l'adapter à la re-quantification sur N'=4 bits. On modifie donc le paramètre A par la valeur ¾. N est modifié et devient 4. Comme l'amplitude A est modifiée, une re-quantification devient possible. On veillera aussi à changer dans les blocs quot; Uniform Random Numberquot; de notre système de dither la fréquence d'échantillonnage qui vaut maintenant 32000 Hz.<br />6. Affichage du signal x'(n) dans un bloc scope renommé quot; x primequot; et visualisation de sa transformée de Fourier calculée sur NTFD=2^13 points, au départ de trames de 4*400 échantillons.<br />La procédure est classique. Nous avons notre fréquence d'échantillonnage de 32000 Hz. On doit donc modifier dans chaque bloc la fréquence d'échantillonnage afin de la mettre à cette valeur. On modifie le buffer pour les 4*400 échantillons. On modifie le bloc |FFT|² afin que le calcul soit réalisé sur les 2^13 points.<br />Figure 22: Densité spectrale de puissance de x prime<br />Figure 23: Oscillogramme, gauche: x sharp, droite: x prime<br />On constate ici sur la figure 23 que x prime est bien le signal x sharp requantifié sur N' bits avec N'=4.<br />Sur la figure 22, on constate que le bruit est à nouveau uniformément réparti sur tout le spectre et non plus sur une partie du spectre comme précédemment. Toutefois, le calcul a été réalisé afin de garder un même rapport signal à bruit. Les aires sous-jacentes aux densités spectrales de puissance pour x sharp et pour x prime sont en effet calculées pour être identiques.<br />7. On effectue l'interpolation d'ordre zéro telle que dans le CNA conventionnel mais on adapte les paramètres en fonction de la nouvelle fréquence d'échantillonnage à savoir 3*8000*4 Hz.<br />On doit donc modifier tous les blocs suivants l'interpolation d'ordre zéro par cette nouvelle fréquence d'échantillonnage (exemple Freq Scope).<br />De plus, on doit adapter tous les buffers suivants l'interpolation d'ordre en modifiant leur valeur à 4*3*400 échantillons par trame.<br />Pourquoi un facteur par 3 ? L'interpolation d'ordre zéro en réalisé en décalant 2 fois le signal initial, à la place d'avoir un échantillon, nous en avons maintenant 3. La fréquence et le nombre d'échantillons est donc multiplié par un facteur 3.<br />8. Affichage du signal x*t ainsi obtenu ainsi que sa transformée de Fourier calculée sur NTFD= 2^13 points, au départ de trames de 3*4*400 échantillons.<br />Figure 24: Oscillogramme de x star, donc après interpolation d'ordre zéro<br />Figure 25: Densité spectrale de puissance de x star<br />On constate bien sur la figure que la fréquence d'échantillonnage a été portée à 3*8000*4 Hz.<br />Le spectre du filtre d'interpolation d'ordre zéro est dupliqué à 3*8000*4 Hz.<br />On constate que le spectre est bien atténué et possède la même forme que la densité spectrale de puissance du rectangle élémentaire de base servant à effectuer l'interpolation d'ordre zéro.<br />Sur la figure 24, les échantillons sont multipliés par un facteur 3.<br />9. Calcul préalable sous Matlab de l'ordre du filtrage passe-bas analogique permettant de lisser le signal x*t pour obtenir le signal analogique désiré.<br />On utilise pour cela, la fonction:<br />[ordre_N,WN]=ellipord(WP,WS,Ap,As,'s'); <br />Le 's' correspond à un filtrage de type analogique. De plus, on supposera que la bande de transition sera contenue dans l'intervalle [3400 Hz, 2*fe-3400 Hz] avec fe=8000 Hz.<br />Code Matlab:<br />[ordre_N,Wn]=ellipord(2*pi*3400,2*pi*(2*8000-3400), 0.1,60,'s');<br />Réponse renvoyée par Matlab:<br />N=4=ordre du filtre<br />WN=2.1363 e+0.004<br />On constate en utilisant [3400 Hz, 2*fe-3400 Hz] (fe=8000 Hz) comme bande de transition du filtre qu'on est moins exigeant au niveau de la conception du filtre avec le CNA sur-échantillonné comparablement avec le CNA conventionnel.<br />10. Simulation du filtrage analogique sous simulink au moyen d'un bloc Analog Filter Design de la librairie Signal processing blockset>Filtering>Filter designs.<br />Figure 26: Paramètres du bloc du filtrage analogique<br />11. Affichage du signal xanalogique(t) ainsi obtenu ainsi que sa transformée de Fourier calculée sur NTFD=2^13 points, au départ de trames de 3*4*400 échantillons.<br />Figure 27: Densité spectrale de puissance de x analogique(t)<br />Figure 28: Oscillogramme de x star (gauche) et de x analogique (droite)<br />Bien évidemment, les buffers ont à nouveau été configurés pour 4*3*400 échantillons.<br />Le bloc Freq Scope a bien été placé à la fréquence d'échantillonnage de 3*4*8000 Hz.<br />On constate donc bien qu'à la sortie nous obtenons bien un signal analogique bruité avec un bruit de quantification.<br />Nous allons par après nous attarder à calculer comparer le signal d'entrée au signal de sortie. Nous allons aussi déterminer le rapport signal à bruit du signal analogique en sortie.<br />12. Retourner les valeurs de x_analogique(t) dans l'espace de travail Matlab et afficher dans une même figure sous Matlab, le signal x_analogique(t) récupéré ainsi que la vraie sinusoïde que l'on aurait du obtenir.<br />On utilise pour réaliser cela, un simple bloc quot; To Workspacequot; .<br />Commandes Matlab:<br />size(xan) ans = 1 1 192001<br />Ceci correspond bien à 8000(fréquence d'échantillonnage de départ) *3(interpolation d'ordre zéro)*4(sur-échantillonnage)*2( temps de simulation) = 192000 échantillons.<br />C'est une matrice, nous souhaitons obtenir un vecteur avec les 192001 éléments.<br />Commandes Matlab:<br />x(1:192001)=xan(1,1,:);<br />tout=[0:2/192000:2];<br />subplot(2,1,1)<br />plot(tout(1:19201),sinp(1:19201))<br />subplot(2,1,2)<br />plot(tout(1:19201),x(1:19201))<br />Remarque: le temps de simulation est fixé à 2 secondes, toutefois par souci de clarté, j'ai affiché le signal sous matlab jusqu'à 1/10 de la simulation.<br />On constate que le x analogique en sortie est bruité par rapport à une sinusoïde parfaite placée en entrée. L'amplitude du signal en sortie est divisé par un facteur 4 par rapport à la sinusoïde de départ. Ceci est du au facteur 4 du sur-échantillonnage.<br />(xanal)max=sqrt(2)/4= 0.3536<br />(sinp)max=sqrt(2)= 1.4142<br />De plus, on constate un délai entre les deux signaux. Ceci a déjà été expliqué précédemment dans ce rapport. Les facteurs principaux influençant ce délai sont la présence de filtres, de buffers, le bloc quot; To Framequot; ,…<br />13. Calcul sous matlab du rapport signal à bruit entre ces deux signaux, au moyen de la fonction snr.m.<br />La théorie concernant l'utilisation de la fonction snr.m a déjà été explicitée dans le rapport.<br />Le shift maximal entre les deux signaux est le nombre d'échantillons présent dans les signaux. Celui-ci vaut 192000 (192001).<br />Commande matlab:<br />snr(sinp,4*x,8000*2*3*4);<br />Valeurs renvoyées par matlab:<br />Shift=434<br />snr=19.4627 dB<br />On constate donc bien que le rapport signal a diminué par rapport à avant lors de l'utilisation du CNA conventionnel. Avant, cette valeur était de 27.85.<br />En effet, la quantification q est égale à 2A/2N.<br />Si N diminue, q augmente et donc, le bruit qui est en q²/12 augmente. C'est en modifant l'amplitude A qu'on a pu diminuer le nombre de bits de quantification. Toutefois, nous avons quantifier sur 4 bits alors qu'idéalement on aurait du re-quantifier sur N'=N-1=5 bits. On perd donc déjà ici un peu en rapport signal à bruit.<br />Puis, il faut aussi savoir qu'on a quantifier deux fois notre signal. Les erreurs de quantification ont donc été cumulées, d'où le fait que le rapport signal à bruit ait diminué.<br />Toutefois, l'avantage de l'utilisation du CNA sur-échantillonné est indéniable.<br />Avantages :<br />gagner en nombre de bits de quantification<br />gagner en bande de transition pour le filtrage<br /> <br />