Vous êtes sur la page 1sur 20

Institut d’aéronautique et des études spatiales

Tp N°3 :

Implémentation et réalisation des filtres

Réalisé par :

Haddad liza

Zitouni malika

Module : traitement numérique du signal

Année universitaire :2020/2021.


Introduction :
En électronique, un filtre numérique est un élément qui effectue un filtrage à
l'aide d'une succession d'opérations mathématiques sur un signal discret. C'est-
à-dire qu'il modifie le contenu spectral du signal d'entrée en atténuant ou
éliminant certaines composantes spectrales indésirées. Contrairement aux
filtres analogiques, qui sont réalisés à l'aide d'un agencement de composantes
physiques (résistance, condensateur, inductance, transistor, etc.), les filtres
numériques sont réalisés soit par des circuits intégrés dédiés, des processeurs
programmables (FPGA, microprocesseur, DSP, microcontrôleur, etc.), soit par
logiciel dans un ordinateur.

Les filtres numériques peuvent, en théorie, réaliser la totalité des effets de


filtrage pouvant être définis par des fonctions mathématiques ou des
algorithmes. Les deux principales limitations des filtres numériques sont la
vitesse et le coût. La vitesse du filtre est limitée par la vitesse (l'horloge, le
« clock » en anglais) du processeur. Pour ce qui est du coût, celui-ci dépend du
type de processeur utilisé. Par contre, le prix des circuits intégrés ne cesse de
diminuer, et les filtres numériques se retrouvent partout dans notre
environnement, radio, téléphone cellulaire, télévision, lecteurs MP3, etc.
Les filtres numériques étant généralement réalisés par des processeurs, ils sont
décrits à l'aide de langages de programmation.

But du TP :
Réalisation et implémentation des différentes structures de filtre.
Etude du cycle limite et de la quantification.
Implémentation des filtres numériques :

Définition :
Un filtre numérique peut être défini par une équation aux différences, c'est-à-
dire l'opération mathématique du filtre dans le domaine temporel (discret).
La forme générale du filtre d'ordre M est l'une des suivantes

Fonction de transfert :
Une fonction de transfert, dans le domaine fréquentiel (Transformée en Z), permet
également de définir un filtre numérique. Ainsi, la fonction de transfert générale
d'ordre N d'un filtre numérique est la suivante :

Ou autrement écrit :

Les valeurs des coefficients a_ {k} et b_ {k fixeront le type du filtre : passe-


bas, passe-haut, etc.

Propriétés des filtres numériques :


Les avantages du filtrage numérique par rapport au filtrage analogique sont
importants :
 Reproductibilité : les caractéristiques de tous les filtres numériques
établis sur une même configuration sont rigoureusement identiques,
 Souplesse : la réponse en fréquence peut être très aisément modifiée en
changeant les coefficients arithmétiques ; le domaine des fréquences de
travail est facilement déplacé par modification de la fréquence
d'échantillonnage,
 Précision : les différentes manipulations étant effectuées sur des
nombres, la précision ne dépend, en grande partie, que de celle du CAN et
de celle du CNA,
 Association des filtres : la mise en série de filtres numériques ne pose
aucun problème d'interaction, tel que celui que l'on rencontre pour
l'adaptation des impédances des filtres analogiques,
Stabilité des caractéristiques : il n'y a pas de vieillissement des composants dû à
l'influence de la température sur les caractéristiques du filtre.
Les principaux inconvénients sont liés au problème de l'échantillonnage (spectre
du signal toujours limité) nécessitant l'utilisation de processeurs ayant une
bonne rapidité d'exécution pour pouvoir traiter des signaux ayant une forte
"dynamique" (fréquences élevées) en temps réel.

Représentation d’un filtre numérique :


Un filtrage numérique peut être représenté en utilisant plusieurs types de
spécifications.

 Fonction de transfert en z :

 Réponse impulsionnelle (transformée en z inverse de H (z)) :

 Equation aux différences :

Représentation d’un filtre numérique :


 Direct form

 In this form, there are two parts to this filter, the moving average
part and the recursive part (or the numerator and denominator
parts)

 Two version: direct form I and direct form II

 Cascade form

 The system function H (z) is factored into smaller second-order


sections, called biquads. H (z) is then represented as a product of
these biquads.

 Each biquad is implemented in a direct form, and the entire system


function is implemented as a cascade of biquad sections.

La Structure Cascade adresse deux types de problèmes :


Jumelage quels zéros avec quels pôles pour former une fonction de
transfert rational de second ordre.
Le but est de minimiser le dépassement causé par les pôles.
 Ordonner quelle section de second ordre sera en premier et
laquelle sera en dernier

 Parallel form

 H (z) is represented as a sum of smaller second-order sections.


 Each section is again implemented in a direct form.

 The entire system function is implemented as a parallel network of


sections.

Classification selon la réponse fréquentielle :

Classification selon la réponse impulsionnelle : Il y a deux


grandes familles de filtres numériques :

Les filtres RIF (filtres à réponse impulsionnelle finie) :


Ce type de filtre est dit fini, car sa réponse impulsionnelle se stabilisera
ultimement à zéro. Un filtre FIR est non récursif, c'est-à-dire que la sortie
dépend uniquement de l'entrée du signal, il n'y a pas de contre-réaction. Ainsi,
les coefficients {\displaystyle a}de la forme générale des filtres numériques
sont tous égaux à zéro.

Une propriété importante des filtres RIF est que les coefficients b du
filtre sont égaux à la réponse impulsionnelle du filtre. D'autre part, la forme
temporelle du filtre est tout simplement la convolution du signal avec les
coefficients b (ou réponse impulsionnelle).

Un exemple de filtre FIR simple est une moyenne. Effectivement, effectuer la


moyenne sur une série de données est équivalent à appliquer un filtre FIR à
coefficient constant 1/N.
Les RII (Filtre à réponse impulsionnelle infinie) :

Les filtres de la seconde famille, les RII (Filtre à réponse impulsionnelle infinie),
en anglais IIR (infinite impulse response), possèdent une réponse
impulsionnelle qui ne s'annule jamais définitivement ou qui converge
éventuellement vers zéro à l'infini. Ce type de filtre est récursif, c'est-à-dire
que la sortie du filtre dépend à la fois du signal d'entrée et du signal de sortie, il
possède ainsi une boucle de contre-réaction (feedback). Les filtres IIR sont
principalement la version numérique des filtres analogiques
traditionnels : Butterworth, Tchebychev, Bessel, Elliptique.

Les filtres RII :

De façon générale, le filtre à réponse impulsionnelle infinie est décrit par


l'équation aux différences suivante où x représente les valeurs du signal
d'entrée et y les valeurs du signal de sortie.

En utilisant le symbole de sommation, l'équation peut être réécrite de la façon


suivante

Réalisation :
Les filtres numériques peuvent être réalisés à l'aide de trois éléments ou
opérations de base, soit l'élément gain, l'élément de sommation et le retard
unitaire ; ces éléments sont suffisants pour réaliser tous les filtres numériques
linéaires possibles.

Propriété :
Les remarques générales suivantes peuvent être portées sur les filtres RII :

 Les filtres RII ne sont pas forcément stables, la stabilité dépend de la


position des pôles dans le plan complexe ;
 Beaucoup moins de calculs par rapport à un filtre RIF équivalent au niveau
des performances ;
 Généralement, les filtres RII sont plus sensibles aux erreurs
de quantification que les filtres RIF. La récursivité peut générer des
erreurs cumulatives ;
 Un filtre RII est plus sélectif qu'un filtre RIF du même ordre, c'est-à-
dire que la transition entre la bande passante et la bande rejetée est plus
rapide que dans le cas du filtre RIF.

Partie pratique :
Exo1 :

Programme :

b=[1 -3 11 -27 18]; a=[16 12 2 -4 -1]; %On introduit les valeurs des
coefficients a & b
[b0,B,A]=dir2cas(b,a) % On convertit depuis la forme directe à la forme
cascade
delta = impseq(0,0,7) % On génere les 8 échantillons
format long
hcas=casfiltr(b0,B,A,delta) %On génère la forme cascade du filtre
hdir=filter(b,a,delta) % On génere la forme direct du filtre

L’exécution :

hcas =
Columns 1 through 4
0.06250000000000 -0.23437500000000 0.85546875000000 -
2.28417968750000
Columns 5 through 8
2.67651367187500 -1.52264404296875 0.28984069824219
0.49931716918945
hdir =
Columns 1 through 4
0.06250000000000 -0.23437500000000 0.85546875000000 -
2.28417968750000
Columns 5 through 8
2.67651367187500 -1.52264404296875 0.28984069824219
0.49931716918945
Remarque : la réponse impulsionnelle délivré par la structure cascade et directe
est la même, résultat précis.
Exo 2 :
b=[1 -3 11 -27 18]; a=[16 12 2 -4 -1]; %On introduit les valeurs des
coefficients a & b
[C,B,A]=dir2par(b,a) % On convertit depuis la forme directe à la forme
parralele
format long; %15 chiffres sont affichés après la virgule décimale.
delta = impseq(0,0,7); % On génère la réponse impulsionelle
hpar=parfiltr(C,B,A,delta) %On génère la forme parallèle du filtre
hdir=filter(b,a,delta) %On génère la forme directe du filtre
L’exécution :
hpar =
Columns 1 through 4
0.06250000000000 -0.23437500000000 0.85546875000000 -
2.28417968750000
Columns 5 through 8
2.67651367187500 -1.52264404296875 0.28984069824219
0.49931716918945
hdir =
Columns 1 through 4
0.06250000000000 -0.23437500000000 0.85546875000000 -
2.28417968750000 Columns 5 through 8
2.67651367187500 -1.52264404296875 0.28984069824219
0.49931716918945
Remarque: on retrouve les mêmes résultats en directe et parallèle.

Exo3: The structure contains a cascade of two parallel sections. The first
parallel section contains 2 biquads, while the second one contains 3 biquads. We
will have to convert each parallel section into a direct form using the par2dir
function, giving us a cascade of 2 direct forms. The overall direct form can be
computed by convolving the corresponding numerator and denominator
polynomials. The overall cascade and parallel forms can now be derived from the
direct form.

Programme:

C0=0; B1=[2 4;3 1]; A1=[1 1 0.9; 1 0.4 -0.4]; %On introduit les valeurs des
coefficients
B2=[0.5 0.7;1.5 2.5;0.8 1]; A2=[1 -1 0.8;1 0.5 0.5;1 0 -0.5]; %On introduit
les valeurs des coefficients
[b1,a1]=par2dir(C0,B1,A1) % On convertit depuis la forme parallèle à la
forme directe
[b2,a2]=par2dir(C0,B2,A2) % On convertit depuis la forme parralèle à la
forme directe
b=conv(b1,b2) % Convolution du nominateur
a=conv(a1,a2) % Convolution du dénominateur
[b0,Bc,Ac]=dir2cas(b,a) % On convertit depuis la forme directe à la forme
cascade
[C0,Bp,Ap]=dir2par(b,a) % % On convertit depuis la forme directe à la forme
parallèle
L’éxécution
b1 =
5.0000 8.8000 4.5000 -0.7000
a1 =1.0000 1.4000 0.9000 -0.0400 -0.3600
b2 =2.8000 2.5500 -1.5600 2.0950 0.5700 -0.7750
a2 =1.0000 -0.5000 0.3000 0.1500 0.0000 0.0500 -0.2000
b=
Columns 1 through 7
14.0000 37.3900 27.2400 6.2620 12.4810 11.6605 -5.7215
Columns 8 through
9-3.8865 0.5425
a=
Columns 1 through 7
1.0000 0.9000 0.5000 0.0800 0.1400 0.3530 -0.2440
Columns 8 through
11-0.2890 -0.1820 -0.0100 0.0720
b0 =14.0000
Bc =1.0000 1.8836 1.13281.0000 -0.6915 0.67191.0000 2.0776
0.86661.0000 0 01.0000 -0.5990 0.0588
Ac =1.0000 1.0000 0.90001.0000 0.5000 0.50001.0000 -1.0000
0.80001.0000 1.5704 0.61051.0000 -1.1704 0.3276
C0=[]
Bp =-20.4201 -1.600024.1602 5.14482.4570 3.3774-0.8101 -
0.23828.6129 -4.0439
Ap =1.0000 1.0000 0.90001.0000 0.5000 0.50001.0000 -1.0000
0.80001.0000 1.5704 0.61051.0000 -1.1704 0.3276
Remarque: by using the MATLAB functions developed in this section, we can
probe and construct a wide variety of structures.
Exo4:
r=0.9; theta = (pi/180)*[-55:5:-35,35:5:55]’;
p=r*exp(j*theta); a = poly(p); b = 1;% Direct form: quantized
coefficients
N=15; [ahat,L,B] = Qcoeff(a,N);TITLE = sprintf(’%i-bit (1+%i+%i)
Precision’,N+1,L,B);% Comparison of Pole-Zero
Plotssubplot(1,2,1); [HZ,HP,Hl] =
zplane(1,a);set(HZ,’color’,’g’,’linewidth’,1);
set(HP,’color’,’g’,’linewidth’,1);set(Hl,’color’,’w’); axis([-
1.1,1.1,-1.1,1.1]);title(’Infinite
Precision’,’fontsize’,10,’fontweight’,’bold’);

The figure :
shows the pole-zero plots for filters with both infinite and 16-bit precision
coefficients. Clearly, with 16-bit word length, the resulting filter is completely
different from the original one and is unstable. To investigate finite word-length
effect on the cascade-form structure, we first converted the direct-form
coefficients into the cascade-form coefficients using thedir2casfunction,
quantized the resulting set of coefficients, and then converted back to the
direct-form for pole-zero plotting. We show results for two different word
lengths. In the first case, we used the same 16-bit word length. Since the cas-
cade coefficients have smaller integer parts that require only one integer bit,
the number of fractional bits is 14. In the second case we used 9 fractional bits
(same as those in the direct form) for a total word length of 11 bits.

subplot(1,2,2); [HZhat,HPhat,Hlhat] =
zplane(1,ahat);set(HZhat,’color’,’r’,’linewidth’,1);
set(HPhat,’color’,’r’,’linewidth’,1);set(Hlhat,’color’,’w’);
title(TITLE,’fontsize’,10,’fontweight’,’bold’);axis([-1.1,1.1,-
1.1,1.1]);
% Cascade form: quantized coefficients: Same N[b0,B0,A0] =
dir2cas(b,a); [BAhat1,L1,B1] = Qcoeff([B0,A0],N);TITLE1 =
sprintf(’%i-bit (1+%i+%i) Precision’,N+1,L1,B1);Bhat1 =
BAhat1(:,1:3); Ahat1 = BAhat1(:,4:6);[bhat1,ahat1] =
cas2dir(b0,Bhat1,Ahat1);subplot(1,2,1); [HZhat1,HPhat1,Hlhat1] =
zplane(bhat1,ahat1);set(HZhat1,’color’,’g’,’linewidth’,1);
set(HPhat1,’color’,’g’,’linewidth’,1);set(Hlhat1,’color’,’w’);
axis([-1.1,1.1,-
1.1,1.1]);title(TITLE1,’fontsize’,10,’fontweight’,’bold’);

% Cascade form: quantized coefficients: Same B (N=L1+B)N1 = L1+B;


[BAhat2,L2,B2] = Qcoeff([B0,A0],N1);TITLE2 = sprintf(’%i-bit
(1+%i+%i) Precision’,N1+1,L2,B2);Bhat2 = BAhat2(:,1:3); Ahat2 =
BAhat2(:,4:6);[bhat2,ahat2] =
cas2dir(b0,Bhat2,Ahat2);subplot(1,2,2); [HZhat2,HPhat2,Hlhat2] =
zplane(bhat2,ahat2);set(HZhat2,’color’,’r’,’linewidth’,1);
set(HPhat2,’color’,’r’,’linewidth’,1);set(Hlhat2,’color’,’w’);tit
le(TITLE2,’fontsize’,10,’fontweight’,’bold’);axis([-1.1,1.1,-
1.1,1.1]);
Remarque:
We observe that not only for 16-bit representation but also for 11-bit
representation, the resulting filter is essentially the same as the original one
and is stable. Clearly, the cascade form structure has better finite word-length
properties than the direct form structure.
Exo5:

The filter is a bandpass filter with 10 tightly clustered poles implemented using
the direct and the cascade forms. For the direct-form structure, we compute
the magnitude response for infinite precision as well as for 16-bit quantization.
For the cascade-form structure, we use 16-bit and 11-bit representations.

r=0.9; theta = (pi/180)*[-55:5:-35,35:5:55]’;p=r*exp(j*theta); a


= poly(p); b = 1;w=[0:500]*pi/500; H = freqz(b*1e-4,a,w);magH =
abs(H); magHdb = 20*log10(magH);% Direct form: quantized
coefficientsN=15; [ahat,L,B] = Qcoeff(a,N);TITLE = sprintf(’%i-
bit (1+%i+%i) Precision (DF)’,N+1,L,B);Hhat = freqz(b*1e-
4,ahat,w); magHhat = abs(Hhat);% Cascade form: quantized
coefficients: Same N[b0,B0,A0] = dir2cas(b,a);[BAhat1,L1,B1] =
Qcoeff([B0,A0],N);TITLE1 = sprintf(’%i-bit (1+%i+%i) Precision
(CF)’,N+1,L1,B1);Bhat1 = BAhat1(:,1:3); Ahat1 =
BAhat1(:,4:6);[bhat1,ahat1] = cas2dir(b0,Bhat1,Ahat1);Hhat1 =
freqz(b*1e-4,ahat1,w); magHhat1 = abs(Hhat1);% Cascade form:
quantized coefficients: Same B (N=L1+B)N1 = L1+B; [BAhat2,L2,B2]
= Qcoeff([B0,A0],N1);TITLE2 = sprintf(’%i-bit (1+%i+%i) Precision
(CF)’,N1+1,L2,B2);Bhat2 = BAhat2(:,1:3); Ahat2 =
BAhat2(:,4:6);[bhat2,ahat2] = cas2dir(b0,Bhat2,Ahat2);Hhat2 =
freqz(b*1e-4,ahat2,w); magHhat2 = abs(Hhat2);% Comparison of
Magnitude PlotsHf_1 =
figure(’paperunits’,’inches’,’paperposition’,[0,0,6,4]);subplot(2
,2,1); plot(w/pi,magH,’g’,’linewidth’,2);
axis([0,1,0,0.7]);%xlabel(’Digital Frequency in \pi
units’,’fontsize’,10);ylabel(’Magnitude
Response’,’fontsize’,10);title(’Infinite Precision
(DF)’,’fontsize’,10,’fontweight’,’bold’);subplot(2,2,2);
plot(w/pi,magHhat,’r’,’linewidth’,2); axis([0,1,0,0.7]);

%xlabel(’Digital Frequency in \pi


units’,’fontsize’,10);ylabel(’Magnitude
Response’,’fontsize’,10);title(TITLE,’fontsize’,10,’fontweight’,’
bold’);subplot(2,2,3); plot(w/pi,magHhat1,’r’,’linewidth’,2);
axis([0,1,0,0.7]);xlabel(’Digital Frequency in \pi
units’,’fontsize’,10);ylabel(’Magnitude
Response’,’fontsize’,10);title(TITLE1,’fontsize’,10,’fontweight’,
’bold’);subplot(2,2,4); plot(w/pi,magHhat2,’r’,’linewidth’,2);
axis([0,1,0,0.7]);xlabel(’Digital Frequency in \pi
units’,’fontsize’,10);ylabel(’Magnitude
Response’,’fontsize’,10);title(TITLE2,’fontsize’,10,’fontweight’,
’bold’);
Remarque:

The top row shows plots for the direct form, and the bottom row shows those
for the cascade form. As expected, the magnitude plot of the direct form is
severely distorted for 16-bit representation, while those for the cascade form
are preserved even for 11-bit word length.

Exo6:
We conclude that:

In our previous MATLAB simulations, we did not worry about the quantization in
multiplication or addition operations because the emphasis was on either signal
quantization or on filter coefficient quantization. The important operation that
we have to consider is the arithmetic overflow characteristics. We assume that
there presented numbers are in fractional two’s-complement format. Then in
practice, two overflow characteristics are used: a two’s-complement overflow,
which is a modulo (periodic) function, and a saturation, which is a limiting
function.

Exo7:

% Highpass filter, rounding operation in multiplier


a = -0.5; yn1 = 0; m = 0:10; y = [yn1, zeros(1,length(m))];
x = 0.875*impseq(m(1),m(1)-1,m(end));
for n = m+2
yn1 = y(n-1);
y(n) = QFix(a*yn1,3,'round','satur') + x(n);
end
subplot('position',[0.08,0.2,0.24,0.6]);
plot([-1,20],[0,0],'w'); axis([-1,10,-1,1]); hold on;
Hs_1 = stem([-1,m],y,'filled');set(Hs_1,'markersize',3,'color',[0,1,0]);
set(gca,'ytick',[-1:0.25:1],'fontsize',6);
ylabel('Amplitude','fontsize',8);
title('\alpha = -0.5, Rounding','fontsize',10);
xlabel('Sample index n','fontsize',8);
% Lowpass filter, rounding operation in multiplier
a = 0.5; yn1 = 0; m = 0:10; y = [yn1, zeros(1,length(m))];
x = 0.875*impseq(m(1),m(1)-1,m(end));
for n = m+2
yn1 = y(n-1);
y(n) = QFix(a*yn1,3,'round','satur') + x(n);
end
subplot('position',[0.42,0.2,0.24,0.6]);
plot([-1,20],[0,0],'w'); axis([-1,10,-1,1]); hold on;
Hs_1 = stem([-1,m],y,'filled');set(Hs_1,'markersize',3,'color',[0,1,0]);
set(gca,'ytick',[-1:0.25:1],'fontsize',6);
ylabel('Amplitude','fontsize',8);
title('\alpha = 0.5, Rounding','fontsize',10);
xlabel('Sample index n','fontsize',8);
% Highpass filter, Truncation operation in multiplier
a = -0.5; yn1 = 0; m = 0:10; y = [yn1, zeros(1,length(m))];
x = 0.875*impseq(m(1),m(1)-1,m(end));
for n = m+2
yn1 = y(n-1);
y(n) = QFix(a*yn1,3,'trunc','satur') + x(n);
end
subplot('position',[0.76,0.2,0.24,0.6]);
plot([-1,20],[0,0],'w'); axis([-1,10,-1,1]); hold on;

Hs_1 = stem([-1,m],y,'filled');set(Hs_1,'markersize',3,'color',[0,1,0]);
set(gca,'ytick',[-1:0.25:1],'fontsize',6);
ylabel('Amplitude','fontsize',8);
title('\alpha = -0.5, Truncation','fontsize',10);
xlabel('Sample index n','fontsize',8);
The output signal in the left plot agrees with that in previous
example and has an asymptotic period of two samples. The
middle plot for α = 0.5 (lowpass filter) shows that the limit cycle
has a period of one sample with amplitude of 1/8. Finally, the
right plot shows that the limit cycles vanish for the truncation
operation. This behavior for the
Truncation operation is also exhibited for lowpass filters

Exo 8 :
yn1 = 0; yn2 = 0;
m = 0:20; y = [yn2,yn1,zeros(1,length(m))];
x = 0.375*impseq(m(1),m(1)-2,m(end));
for n = m+3
yn1 = y(n-1); yn2 = y(n-2);
y(n) = QFix(a1*yn1,3,'round','satur')+QFix(a2*yn2,3,'round','satur')+x(n);
end
subplot('position',[0.1,0.2,0.39,0.6]);
plot([-1,20],[0,0],'w'); axis([-1,20,-0.5,0.5]); hold on;
Hs_1 = stem([-2,-1,m],y,'filled');
set(Hs_1,'markersize',3,'color',[0,1,0]);
set(gca,'ytick',[-0.5:0.25:0.5],'fontsize',6);
ylabel('Amplitude','fontsize',8);
title('Rounding Operation','fontsize',10);
xlabel('Sample index n','fontsize',8);
% Truncation operation in multipliers
yn1 = 0; yn2 = 0;
m = 0:20; y = [yn2,yn1,zeros(1,length(m))];
x = 0.375*impseq(m(1),m(1)-2,m(end));
for n = m+3
yn1 = y(n-1); yn2 = y(n-2);
y(n) = QFix(a1*yn1,3,'trunc','satur')+QFix(a2*yn2,3,'trunc','satur')+x(n);
end
subplot('position',[0.59,0.2,0.39,0.6]);
plot([-1,20],[0,0],'w'); axis([-1,20,-0.5,0.5]); hold on;
Hs_1 = stem([-2,-1,m],y,'filled');
set(Hs_1,'markersize',3,'color',[0,1,0]);
set(gca,'ytick',[-0.5:0.25:0.5],'fontsize',6);
ylabel('Amplitude','fontsize',8);
title('Truncation Operation','fontsize',10);
xlabel('Sample index n','fontsize',8);
Remarque: The round-off limit cycles have a period of six samples and amplitude
of 0.25, Unlike in the case of 1st-order filters, the limit cycles for the 2nd-
order exist even when truncation is used in the quantizer.

Conclusion:

La quantification des coefficients se fait selon la longueur du mot utilisé pour


l’implémentation.

La quantification de coefficients, change la fonction de transfert, et donc la


réponse fréquentielle.

Dans les fonctions de système en cascade et parallèle, les polynômes de


numérateur et de dénominateur sont regroupés en sections de forme directe de
second ordre et quantifiées section par section. Les pôles conjugués complexes
d’une section de second ordre étant suffisamment espacés, les modifications de
la position des pôles dues à la quantification des coefficients sont minimisées. De
même, la forme en cascade améliore la sensibilité des zéros, mais la forme
parallèle ne le peut pas car les zéros sous forme parallèle sont globalement
distribués.

L’effet de bruit de quantification est habituellement analysé de manière


statistique. La quantification, cependant, est un effet non linéaire, qui peut
provoquer des oscillations de cycle limite.

Une autre forme de non linéarité qu’on peut rencontrer dans les signaux et
systèmes numériques, est le dépassement, qui se produit lorsqu’une quantité x
cherche à atteindre une valeur en dehors de ses limites (-X, X) qui un autre
effet non linéaire.

Vous aimerez peut-être aussi