Projet Traitement Du Signal

of 24 /24
PROJET DE TRAITEMENT DU SIGNAL MASTER 1 CONVERTISSEURS NUMERIQUE ANALOGIQUE UTILISES DANS LES LECTEURS CD Roppe Quentin, Masure Pierre

Embed Size (px)

Transcript of Projet Traitement Du Signal

PROJET DE TRAITEMENT DU SIGNAL MASTER 1

CONVERTISSEURS NUMERIQUE ANALOGIQUE UTILISES DANS LES LECTEURS CDRoppe Quentin, Masure Pierre

1. Numrisation du signal audio analogiqueNous allons dans une premire tape nous familiariser avec la numrisation dun signal analogique. Pour ce faire, nous devons dabord chantillonner le signal et ensuite le quantifier. Au fil de ce rapport, nous illustrerons par des figures ralises sous Simulink les diffrentes tapes qui ont t ncessaires au bon droulement du projet.

1.1 La quantification uniforme L = niveauxAprs avoir pralablement nomm notre schma Simulink quantification_uniform.mdl, nous avons gnr pendant 2 secondes un signal alatoire uniforme x(n) de variance gale 3 et de frquence dchantillonnage gale 8000 Hz. Nous dsirons gnrer ce signal entre - et ( q est la notation thorique ). Nous savons que pour un signal alatoire uniforme, la variance vaut = 3. Nous pouvons donc en dduire la valeur de q = 6. Nous spcifions donc dans notre Uniform Random Number: - minimum = - 3- maximum = 3- sample time = 1/8000 s ( correspondant notre priode dchantillonnage) . Via le bloc scope renomm x ( dans lequel nous avons dcoch 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.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 dchantillonnage vient changer ) ainsi que Array comme format. Nous obtenons bien une variance gale var ( x ) = 3.0203 3 .Avant de commencer la quantification proprement dite, nous avons simul le priodogramme moyenn du signal x(n). Comme demand, nous avons fix les paramtres:- window type: Hamming- FFT length ( aprs avoir dcoch inherit length ) = 2^13- number of spectral averages = 10 (correspondant au L thorique)Etant donn que nous voulons calculer ce priodogramme par trames de 400 chantillons et que le signal est gnr par chantillon, nous avons plac un buffer en amont. Nous avons alors prcis Output buffer size = 400 ( nous ne le reprciserons plus par la suite ).Enfin, pour afficher ce priodogramme, nous avons utilis un frequency vector scope. Comme paramtres, nous avons fix: - input domain: frequency ( logique pour afficher un priodogramme )- frequency range: [0 fs] ( pour afficher jusqu la frquence dchantillonnage)- sample time = 1/8000 s (inherit dcoch pour raliser cette opration). - amplitude scaling: dBEtant donn quil sagit dun signal alatoire uniforme de variance 3, nous savons que sa densit spectrale est constante et gale la variance en dB : . Cest bien la valeur observe sur le priodogramme.

Voici les diffrentes figures obtenues jusquici:

Figure 1: Gnration d'un signal alatoire uniforme et calcul de sa densit spectrale de puissance

Figure 2 : Signal alatoire uniforme x(n) (gauche) et densit spectrale de puissance du signal x(n) (droite)

Nous allons maintenant implmenter la quantification uniforme sous Simulink. Cette quantification se fera sur lintervalle [-A , +A] avec A = 3 et N = 3 (nombre de bits sur lequel linformation numrique sera code). Pour raliser cette quantification, nous allons simplement transposer sous forme de bloc la formule de quantification savoir:

tout en tenant compte de bien rester dans lintervalle , avec .

Nous avons donc plac un premier gain multipliant x par . Ensuite, nous lui appliquons un floor ( arrondi vers le bas ) pour le remultiplier par aprs par q. Nous le sommons alors avec . Enfin, afin de ne pas sortir de lintervalle nous plaons un bloc saturation o upper limit = A-(A/(2^N)) etlower limit = (-A)+(A/(2^N)). Nous mettons alors ce bloc sous un masque nomm quantification dans lequel nous initialisons( edit mask parameters ) les valeurs de A et N.

Nous obtenons ce schma pour la quantification:

Figure 3 : Schma-bloc de la quantification uniforme

Nous pouvons observer le signal quantifi sur le scope o nous visualisons bien 8 niveaux distincts pour le signal ce qui est logique: niveaux de quantification. Ces 8 niveaux sont compris entre -3 et 3 ( plus exactement entre -3 + et 3 - ).Nous avons ensuite cod le priodogramme moyenn du signal quantifi exactement de la mme faon que pour le signal non quantifi. On constate, comme nous lavons vu au cours thorique, que lerreur commise lors de la quantification peut tre considre comme un bruit qui vient sajouter au signal. Et en effet, le bruit est lgrement plus important autour de 4.77 dB pour le priodogramme moyenn du signal quantifi avec des pics dpassant les 8 dB ( ce qui nest pas le cas sur le priodogramme du signal x(n) ). On le vrifiera de manire plus prcise par aprs en calculant le RSB (rapport signal bruit).Nous avons ensuite simplement soustrait (n) x(n) via un bloc add pour obtenir lerreur e(n). Nous le visualisons via un scope, ramenons les valeurs sous Matlab laide dun workspace et obtenons son priodogramme moyenn exactement avec les mmes blocs quutiliss prcdemment.Le signal derreur est thoriquement compris entre , = , = ,. Cest bien ce que nous observons sur le scope du signal derreur. Le signal derreur devrait tre un bruit blanc de variance . Cest bien autour de cette valeur quoscille le priodogramme derreur. Calculons maintenant la rapport signal bruit ( x(n) et e(n) ):

Les deux valeurs thoriques et exprimentales concordent bien. Nous pouvons mme rentrer un peu plus dans le dtail. En effet, calculons le RSB ( xq (n) et e(n) ):

Nous constatons donc bien que le RSB du signal quantifi diminue.Visualisons les graphes obtenus pour cette partie:

Figure 4 : Schma-bloc du signal quantifi et du calcul de lerreur de quantification

Figure 5 : Signal x(n) alatoire uniforme quantifi (gauche) et signal d'erreur e(n) associ (droite)

Figure 6 : Densit spectrale de puissance du signal x(n) alatoire uniforme quantifi (gauche) et densit spectrale de puissance du signal d'erreur associ (droite)Nous allons maintenant remplacer le signal dentre x(n) alatoire uniforme par un signal chantillonn 8000 Hz compos de 12 sinusodes damplitudes et frquences diffrentes. Le schma-bloc est donc identique au prcdent (cfr figure 4) except ce remplacement . Pour simuler cela, nous avons simplement somm via un bloc add les 12 sinusodes discrtes avec les amplitudes et frquences adquates. On constate que le signal gnr a approximativement lallure dune sinusode ce qui est logique tant donn que cest une somme de sinusodes. Le signal quantifi lest bien sur 8 niveaux distincts comme prcdemment. De plus, on vrifie bien que le priodogramme moyenn est constitu dun ensemble de raies aux diffrentes frquences spcifies. Vrifions lamplitude dune raieEnfin, comme le signal est suffisamment complexe, lerreur de quantification peut tre assimil un bruit blanc de variance Cest bien lamplitude centrale obtenue sur le priodogramme moyenn du signal derreur.

Figure 7 : Signal x(n) constitu de sinusodes (gauche) et signal quantifi de ces sinusodes (droite)

Figure 8 : Densit spectrale de puissance du signal quantifi constitu de sinusodes (gauche) et densit spectrale de puissance du signal d'erreur de ces mmes sinusodes (droite)

Pour terminer cette premire partie, nous allons remplacer le systme constitu des sinusodes par une seule sinusode valant: o Te=1/8000 s. Il sagit du mme schma-bloc (cfr figure 4) except ce remplacement. Le signal nest plus suffisamment complexe; son erreur de quantification ne peut plus tre considre comme un bruit blanc. Le signal derreur na plus la variance dun bruit blanc valant -13.2906 dB. En effet, le priodogramme moyenn prsente des raies dgales amplitudes ainsi que du bruit aux alentours de -50 dB.En ce qui concerne le signal x(n), nous observons bien une sinusode chantillonne damplitude 1.41 et de priode 0.005 s. Nous constatons quil ny a plus 8 niveaux de quantification mais 4. Cest logique; en effet si lon divise lamplitude crte crte de la sinusode par le pas de quantification, nous obtenons au maximum 4 niveaux de quantification .

Figure 9 : Signal x(n) correspondant une sinusode chantillonne (gauche) et cette sinusode quantifie (droite)

Figure 10 : Signal d'erreur e(n) d la quantification de la sinusode et densit spectrale de puissance associe (droite)

Nous retournons les valeurs des signaux x(n), x_quantifi(n) et e(n) laide de trois blocs To workspace dans le logiciel Matlab . Lorsque nous coutons la diffrence de son entre la sinusode et le signal quantifi via la commande soundsc (x, 8000), nous remarquons que, pour le signal quantifi, le son est plus agu et quil y a superposition de plusieurs sons. Cest normal car son spectre est plus riche en harmoniques.Enfin, pour terminer cette premire partie, calculons le RSB des signaux x(n) et e(n).

Si lon compare cette valeur avec celle obtenue dans la cas du signal alatoire uniforme, on constate que le rapport signal bruit a diminu. Cest normal si lon observe les densits spectrales derreur des deux signaux: le bruit relatif au priodogramme du sinus couvre environ 40 dB alors que pour le signal alatoire cest de lordre denviron 8 dB.

Figure 11 : Priodogramme de l'erreur de quantification du signal alatoire (gauche) et priodogramme de l'erreur de quantification du sinus (droite)1.2 Le ditheringLe principe du dithering est dajouter un bruit alatoire au signal analogique de faon dcorrler le bruit de quantification avec le signal. Lobjectif de cette mthode est de rduire la perception du bruit de quantification.Pour raliser ce dithering, nous allons adapter le masque ralisant la quantification uniforme. Nous allons construire un bruit blanc triangulaire ( meilleur dither existant ) en sommant deux bruits blancs uniformes allant de [- , . Il est facilement comprhensible que sommer deux bruits blancs uniformes donne un bruit blanc triangulaire.

Figure 12 : Cration dun bruit blanc triangulaire

Explications:Prenons par exemple des valeurs comprises entre -3 et +3 de manire alatoire 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 dobtenir une densit de probabilit plus importante au centre et faible aux extrmits.

Nous avons donc somm laide du bloc add deux bruits blancs uniformes Uniform Random Number o:

- minimum = -A/(2^N) = - - maximum = A/(2^N) = + - sample time = 1/8000 sIl est noter que nous avons modifi la valeur d initial seed pour lun des deux bruits car Matlab ne gnre pas tout fait de manire alatoire le bruit uniforme Nous avons via la sortie bruit 2 ramen les valeurs dans To workspace triangle afin dafficher son histogramme sous Matlab. Nous obtenons bien un histogramme sous Matlab ( commande: hist ( triangle ,100) ) en forme de bruit blanc triangulaire. Si lon somme tous les btonnets, 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 vrifier que le bruit triangulaire est blanc. En effet, sa variance vaut On observe bien un priodogramme avec une valeur centrale denviron -10.25 dB (densit spectrale de puissance constante il sagit bien dun bruit blanc.

Figure 13 : Histogramme du bruit blanc triangulaire (gauche) et densit spectrale de puissance de ce bruit blanc triangulaire (droite)

Le schma-bloc de la figure 4 est donc conserv si ce nest le bloc quantification o lon a rajout le dither au signal chantillonn x(n) ( o . Nous obtenons alors pour le bloc de dithering + quantification:

Figure 14 : Schma-bloc du dithering ajout la quantification

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 gnant pour loreille car on entend le signal de dpart avec du bruit au-dessus. Pour mieux comprendre cela, il suffit de comparer les densits spectrales de puissance avant et aprs dithering. On constate distinctement que le signal nest plus touff par dautres harmoniques et est donc plus audible. Cependant, on a ajout un bruit alatoire au signal avant de la quantifier, il serait donc normal dobtenir un RSB plus petit que sans dithering. Cest bien ce que lon constate:

Figure 15 : Densit spectrale de puissance du sinus x(n) quantifi(gauche) et densit spectrale de puissance du sinus quantifi avec dithering (droite)2. CNA conventionnelLe convertisseur numrique/analogique a pour but de transformer le signal numrique en un signal analogique. Pour ce faire, le signal numrique x(n) est transform par une fonction en escaliers , cette opration consistant raliser une interpolation d'ordre zro. Dans un dernier temps, le signal en escalier est liss par un filtre passe-bas analogique pour obtenir le signal analogique x(t).Illustration sous Matlab et Simulink...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.function [snr_value, shift] = snr(signal,signal_plus_noise,max_shift,showplot)

Cette fonction renvoie le rapport signal bruit calcul partir des signaux en entre.Le max_shift nous donne le dcalage maximal dans le temps en nombre d'chantillons entre le signal et le signal bruit. Le dcalage actuel dans le temps (time-shift) est obtenu pour le calcul d'une cross-correlation maximale et cette valeur est renvoye dans le shift en valeur absolue. Ceci est pris en compte pour estimer le bruit.

En fait, cette fonction calcule la cross-corrlation pour tout k et elle regarde o cette valeur est maximale. Une fois ralis, elle peut donc estimer le dcalage entre les deux signaux, elle effectue donc une correction pour ce dcalage temporel des deux signaux et dans un dernier temps elle finit donc par estimer de manire correcte le rapport signal bruit.

Maintenant, il est intressant d'analyser pourquoi on constate un dcalage temporel entre les deux signaux (le signal d'entre et le signal en sortie, bruit). Ce dlai est d l'utilisation du filtre, l'ordre du filtre, l'utilisation de buffers et l'emploi du bloc "TO FRAME",

code matlab: sinr(sin_de_depart,sin_bruite,48001)48001 = nombre d'chantillons maximal pour la simulation=on suppose raison que les deux sinusodes seront dcales 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 zro avec frquence d'chantillonnage 3 fois plus leve).valeurs retournes: shift=6 snr=27.8580 dB

Explication pourquoi SNR meilleur?3. CNA sur-chantillonnageproblmes des CNA conventionnels: ncessitent des composants analogiques de haute prcision trs sensibles aux interfrences 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 [,] o est la frquence maximum du signal.fonctionnement du la CNA sur-chantillonnage: sur-chantillonnage du signal d'entre x(n) par un facteur K (insre K-1 zros entre chaque chantillon de x(n) ) filtrage par un filtre passe-bas numrique de bande passante gale [0, ] avec une amplitude K fois plus petite que x(n) et frquence d'chantillonnage K fois plus leve puissance du bruit de quantification e(n) filtr par le filtre passe-bas numrique d'interpolation possible de re-quantifier le signal sur N' bits (avec N' < N) tout en gardant la mme puissance de bruit par rapport la puissance du signal

Il faut donc galer les aires grises correspondant au bruit sur le spectre de et le spectre de , galer les densits spectrales de puissance des bruits de quantification de telle sorte qu'on puisse garder la mme puissance du bruit avec un nombre N' de bits de quantification < N. K=4 N-N'=1 N'=N-1 tout en conservant le mme rapport singal bruit.Avantages : gagner en nombre de bits de quantification gagner en bande de transition pour le filtrageIllustration sous Matlab et SimulinkLe schma Simulink "CNA_conventionnel.mdl" est sauvegard sous un nouveau nom, savoir "CNA_surechantillonnage.mdl". On fixe le temps de simulation 2 secondes.1.Quantification: A=3 N=6

2.Modifications apporter pour la visualisation de : buffer 4*400 |FFT|FFT length = 2^13 Freq Scope Sample time = 1/(8000*4) car sur-chantillonnage avec K=4.

Figure 16: Densit spectrale de puissance, gauche: quantifi, droite: x zro

Figure 17: Oscillogramme, gauche: quantifi, droite: x zroQue constate-t-on? Le spectre a bien t sur-chantillonn par un facteur 4 par rapport au signal prcdent situ gauche de la figure 16 correspondant x(n). Rajouter des zros entre chaque chantillon ne modifie en rien le spectre. On a juste modifi la frquence d'chantillonnage. Sur la figure 17, on constate que pour construire ), on est venu placer 3 zros entre chaque chantillon de x(n).3. On effectue le filtrage passe-bas numrique 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 rcursif de Parks-Mclellan (equiripple) de bande de transition On obtient . (x_sharp)

Figure 18: insertion du filtre passe-bas numrique

Figure 19: Spcifications du filtre passe-bas numriqueCommentaires: La frquence d'chantillonnage a utiliser est bien maintenant de 8000*4 Hz. Cette nouvelle frquence d'chantillonnage doit tre utilise dans tous les blocs de la figure 18 situs aprs le bloc Upsample.4. Affichage du signal ainsi obtenu dans un bloc scope renomm "x sharp", et visualisation de sa transforme de Fourier calcule sur NTFD=2^13 points, au dpart de trames de 4*400 chantillons.On veillera donc bien mettre dans le buffer 4*400, pour le module |FFT| on stipulera bien que le calcul se ralise sur les 2^13 points. On modifiera aussi la frquence d'chantillonnage 32000 Hz dans les modules de visualisation, notamment (Freq Scope).

Figure 20: Oscillogramme de x sharp dte compar celui de x zro gaucheOn remarque que l'amplitude de x sharp a fortement diminu par rapport x zro. De plus on constate un dlai de 0.004 secondes environ de x sharp sur le signal x zro. Ceci est li l'effet du filtrage, l'ordre lev du filtre de Parks-Mclellan.

Figure 21: Densit spectrale de puissance de x sharpOn constate sur la figure 21 que le spectre est identique au spectre de x zro. Toutefois, le but du filtrage passe-bas numrique tait de supprimer le bruit en haute frquence. L e bruit est donc ici limin en partie.5. On effectue ici la re-quantification (avec dithering) sur N'=4 bits.Nous avions cre un masque pour le module de dither/quantification. Nous devons donc modifier les paramtres de ce bloc de manire l'adapter la re-quantification sur N'=4 bits. On modifie donc le paramtre A par la valeur . N est modifi et devient 4. Comme l'amplitude A est modifie, une re-quantification devient possible. On veillera aussi changer dans les blocs "Uniform Random Number" de notre systme de dither la frquence d'chantillonnage qui vaut maintenant 32000 Hz.6. Affichage du signal x'(n) dans un bloc scope renomm "x prime" et visualisation de sa transforme de Fourier calcule sur NTFD=2^13 points, au dpart de trames de 4*400 chantillons.La procdure est classique. Nous avons notre frquence d'chantillonnage de 32000 Hz. On doit donc modifier dans chaque bloc la frquence 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 ralis sur les 2^13 points.

Figure 22: Densit spectrale de puissance de x prime

Figure 23: Oscillogramme, gauche: x sharp, droite: x primeOn constate ici sur la figure 23 que x prime est bien le signal x sharp requantifi sur N' bits avec N'=4.Sur la figure 22, on constate que le bruit est nouveau uniformment rparti sur tout le spectre et non plus sur une partie du spectre comme prcdemment. Toutefois, le calcul a t ralis afin de garder un mme rapport signal bruit. Les aires sous-jacentes aux densits spectrales de puissance pour x sharp et pour x prime sont en effet calcules pour tre identiques.7. On effectue l'interpolation d'ordre zro telle que dans le CNA conventionnel mais on adapte les paramtres en fonction de la nouvelle frquence d'chantillonnage savoir 3*8000*4 Hz.On doit donc modifier tous les blocs suivants l'interpolation d'ordre zro par cette nouvelle frquence d'chantillonnage (exemple Freq Scope).De plus, on doit adapter tous les buffers suivants l'interpolation d'ordre en modifiant leur valeur 4*3*400 chantillons par trame.Pourquoi un facteur par 3 ? L'interpolation d'ordre zro en ralis en dcalant 2 fois le signal initial, la place d'avoir un chantillon, nous en avons maintenant 3. La frquence et le nombre d'chantillons est donc multipli par un facteur 3.8. Affichage du signal ainsi obtenu ainsi que sa transforme de Fourier calcule sur NTFD= 2^13 points, au dpart de trames de 3*4*400 chantillons.

Figure 24: Oscillogramme de x star, donc aprs interpolation d'ordre zro

Figure 25: Densit spectrale de puissance de x starOn constate bien sur la figure que la frquence d'chantillonnage a t porte 3*8000*4 Hz.Le spectre du filtre d'interpolation d'ordre zro est dupliqu 3*8000*4 Hz.On constate que le spectre est bien attnu et possde la mme forme que la densit spectrale de puissance du rectangle lmentaire de base servant effectuer l'interpolation d'ordre zro.Sur la figure 24, les chantillons sont multiplis par un facteur 3.9. Calcul pralable sous Matlab de l'ordre du filtrage passe-bas analogique permettant de lisser le signal pour obtenir le signal analogique dsir.On utilise pour cela, la fonction:[ordre_N,WN]=ellipord(WP,WS,Ap,As,'s'); 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.Code Matlab: [ordre_N,Wn]=ellipord(2*pi*3400,2*pi*(2*8000-3400), 0.1,60,'s');Rponse renvoye par Matlab: N=4=ordre du filtre WN=2.1363 e+0.004On 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.10. Simulation du filtrage analogique sous simulink au moyen d'un bloc Analog Filter Design de la librairie Signal processing blockset>Filtering>Filter designs.

Figure 26: Paramtres du bloc du filtrage analogique11. Affichage du signal ainsi obtenu ainsi que sa transforme de Fourier calcule sur NTFD=2^13 points, au dpart de trames de 3*4*400 chantillons.

Figure 27: Densit spectrale de puissance de x analogique(t)

Figure 28: Oscillogramme de x star (gauche) et de x analogique (droite)Bien videmment, les buffers ont nouveau t configurs pour 4*3*400 chantillons.Le bloc Freq Scope a bien t plac la frquence d'chantillonnage de 3*4*8000 Hz.On constate donc bien qu' la sortie nous obtenons bien un signal analogique bruit avec un bruit de quantification.Nous allons par aprs nous attarder calculer comparer le signal d'entre au signal de sortie. Nous allons aussi dterminer le rapport signal bruit du signal analogique en sortie.12. Retourner les valeurs de x_analogique(t) dans l'espace de travail Matlab et afficher dans une mme figure sous Matlab, le signal x_analogique(t) rcupr ainsi que la vraie sinusode que l'on aurait du obtenir.On utilise pour raliser cela, un simple bloc "To Workspace".Commandes Matlab: size(xan) ans = 1 1 192001Ceci correspond bien 8000(frquence d'chantillonnage de dpart) *3(interpolation d'ordre zro)*4(sur-chantillonnage)*2( temps de simulation) = 192000 chantillons.C'est une matrice, nous souhaitons obtenir un vecteur avec les 192001 lments.Commandes Matlab: x(1:192001)=xan(1,1,:); tout=[0:2/192000:2]; subplot(2,1,1) plot(tout(1:19201),sinp(1:19201)) subplot(2,1,2) plot(tout(1:19201),x(1:19201))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.

On constate que le x analogique en sortie est bruit par rapport une sinusode parfaite place en entre. L'amplitude du signal en sortie est divis par un facteur 4 par rapport la sinusode de dpart. Ceci est du au facteur 4 du sur-chantillonnage.

(xanal)max=sqrt(2)/4= 0.3536(sinp)max=sqrt(2)= 1.4142

De plus, on constate un dlai entre les deux signaux. Ceci a dj t expliqu prcdemment dans ce rapport. Les facteurs principaux influenant ce dlai sont la prsence de filtres, de buffers, le bloc "To Frame",

13. Calcul sous matlab du rapport signal bruit entre ces deux signaux, au moyen de la fonction snr.m.

La thorie concernant l'utilisation de la fonction snr.m a dj t explicite dans le rapport.

Le shift maximal entre les deux signaux est le nombre d'chantillons prsent dans les signaux. Celui-ci vaut 192000 (192001).

Commande matlab: snr(sinp,4*x,8000*2*3*4);

Valeurs renvoyes par matlab: Shift=434 snr=19.4627 dB

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.

En effet, la quantification q est gale 2A/.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'idalement on aurait du re-quantifier sur N'=N-1=5 bits. On perd donc dj ici un peu en rapport signal bruit.Puis, il faut aussi savoir qu'on a quantifier deux fois notre signal. Les erreurs de quantification ont donc t cumules, d'o le fait que le rapport signal bruit ait diminu.Toutefois, l'avantage de l'utilisation du CNA sur-chantillonn est indniable.

Avantages : gagner en nombre de bits de quantification gagner en bande de transition pour le filtrage