Filtre Digitale

Cuprins

CAPITOLUL 1 – Filtre digitale

Aplicatii tipice ale procesarii de semnal

Despre procesarea digitala de semnal

Corelația semnalelor discrete in timp

Avantajele si dezavantajele filtrelor cu raspuns infinit la impuls(IIR)

CAPITOLUL 2 – Implementarea la nivel de sistem a filtrelor cu raspuns infinit la impuls (recursive)

Forma directa

Forma sistolica

Forma cascada

CAPITOLUL 3 – Cuantizarea coeficientilor si erori aparute

CAPITOLUL 4 – Sumatoare digitale

Sumatoare pe 1 bit

Sumatoare pe 16 biti

Intarzierile cauzate de acestea

Frecventa maxima la care functioneaza

CAPITOLUL 5 – Multiplicatoare

CAPITOLUL 6 – Implementarea filtrului in Verilog

CAPITOLUL 1 – Filtre digitale

Aplicatii tipice ale procesarii de semnal

Aplicatii de inregistrare a sunetului

Inregistrarile celor mai multe programe muzicale din zilele noastre se realizeaza in studiouri izolate fonic si acustic.Sunetul provenit de la fiecare instrument este preluat de un microfon plasat foarte aproape de instrument si inregistrat pe un track(o parte dintr-o bandă magnetică pe care sunetul poate fi înregistrat); o astfel de banda magnetica continand pana la 48 de track-uri.

Semnalele provenite de la track-uri diferite sunt apoi editate si mixate de inginerul de sunet intr-un sistem mix-down pentru a dezvolta o înregistrare stereo pe două căi.

Aceasta abordare are la baza o serie de motive.In primul rand,aceasta apropiere a fiecarui microfon fata de fiecare dintre instrumente asigura un grad ridicat de separatie dintre instrumente si minimizeaza zgomotul de fundal din inregistrare.In al doilea rand,partea de sunet a unui instrument poate fi reinregistrata daca este nevoie de acest lucru. In al treilea rand,in timpul procesului mix-down,inginerul de sunet poate manevra semnalele individuale folosind o varietate de dispozitive de prelucrare a semnalelor pentru a modifica echilibrele muzicale dintre sunetele generate de instrumente,poate schimba timbrul,si poate adauga efecte acustice naturale si alte efecte speciale.

O parte dintre aceste tehnici variate ale dispozitivelor de prelucrare a semnalelor este folosita pentru a modifica caracteristica spectrala a semnalului sonor si pentru a adauga efecte speciale,in timp ce o alta este utilizata pentru a imbunatati calitatea mediului de transmisie.

Cele mai folosite circuite de procesare a semnalului sunt:

Compresoarele și limitatoarele- sunt dispozitive utilizate pentru comprimarea gamei dinamice a unui semnal audio

Expandoare si porti de zgomot

Functia expandorului este functiei inversa a compresorului. Poarta de zgomot este un model special de expandor care atenueaza masiv semnalele cu nivele sub valoarea de prag.

Egalizatoare si filtre

Diferite tipuri de filtre sunt folosite pentru a modifica raspunsul în frecventa a unei inregistrari sau a canalului de monitorizare.

Doua dintre aplicatiile majore ale egalizatoarelor si filtrelor in inregistrarea sunetului sunt:

corectarea unor probleme care au avut loc în timpul înregistrării sau in timpul procesului de transfer

de a modifica continutul armonic sau continutul timbral al unui sunet inregistrat exclusiv in scop muzical sau creativ.

Sisteme de reducere a zgomotului

Pentru a fi înregistrata,muzica trebuie sa fie peste sunetul de fundal sau zgomot.Daca zgomotul de fundal este in jur de 30 dB,gama dinamica disponibila pentru muzica este de doar 90 dB,fiind necesara comprimarea intervalului dinamic pentru reducerea zgomotului.

Sistemul de reducere a zgomotului are doua parti: prima parte asigură comprimarea în timpul modului de înregistrare,în timp ce a doua parte prevede extindere complementara în timpul modului de redare.

Sisteme de intarziere și de reverberatie

Muzica generata intr-un studio inert nu suna natural comparativ cu muzica realizata in interiorul unei camere,spre exemplu o sala de concerte.Intr-o sala de concerte,undele sonore se propaga in toate directiile si ajung la ascultator din diferite directii si la momente variate de timp,in functie de distanta pe care undele sonore o strabate de la sursa la ascultator.Unda sonora care vine direct spre ascultator,numita sunet direct ,ajunge prima si ofera informatii ascultătorului in legatura cu localizarea, marimea si natura sursei de sunet.Acest lucru este urmat de cateva ecouri aflate la distanțe mici, numite reflectii timpurii, generate de reflectii ale undelor sonore din toate partile de camera si ajung la ascultător in diferite perioade de timp. Aceste ecouri furnizeaza indicii subconstientului ascultatorului cu privire la marimea camerei.Dupa aceste reflectii timpurii,si mai multe ecouri ajung la ascultator din cauza reflectiilor multiple.Grupul ultim de ecouri este denumit ca fiind reverberatie.Amplitudinea ecourilor scade exponential cu timpul,ca urmare a atenuării de la fiecare reflexie.Sistemele de intarziere cu factori de intarziere ajustabili sunt folosite pentru a crea in mod artificial primele reflectiile.

Aplicatii de apelare telefon

Procesarea de semnal poarta un rol definitoriu in detectia si generarea tonurilor de apelare a telefoanelor cu butoane.In telefoanele echipate cu apelare de tip touch-tone,apasarea oricarui buton genereaza un set unic de semnale in doua tonuri,numite semnalele multifrecventa dual-ton,care sunt prelucrate la biroul central de telefonie pentru identificarea numarului apasat prin stabilirea a doua frecvente de ton asociate.

Sunt folosite 7 frecvente pentru codarea cifrelor de la 0 la 10 si a acestor doua butoane speciale “ * ” si “ # ” .Frecventele de banda joasa folosite sunt 697Hz,770Hz,852Hz si 941Hz.

Sunt folosite si 3 frecvente de banda inalta: 1209Hz,1336Hz si 1477Hz.Frecventa de banda inalta 1633Hz nu are uz general,fiind folosita de serviciile speciale.

Aplicatii stereo de modulatie in frecventa

Pentru transmiterea unui semnal wireless ce are o gama de ocupare de joasa

frecventa,cum este semnalul audio,este necesar ca semnalul sa fie transformat intr-un semnal cu gama de frecventa ridicata prin modulatie pe un interval de frecventa inalta.

La receptor,semnalul modulat este demodulat pentru se a recupera semnalul de frecventa joasa.Modulatia,demodulatia si filtrarea sunt operatiile de procesare de semnal cele mai utilizate cand vine vorba de transmisiile wireless.

Pentru radio,cele mai folosite scheme de modulatie sunt modulatia in amplitudine(MA) si modulatia in frecventa(MF).

In procesul de modulatia in frecventa unda purtatoare este modulata astfel incat frecventa sa sa variaze in functie de semnalul audio transmis,amplitudinea acestei unde fiind mentinuta constanta,insa frecvența ei fiind modificata în conformitate cu variatiile semnalului audio transmis.

Persoana care a descris pentru prima data un astfel de sistem care era si realizabil a fost inventatorul Edwin Howard Armstrong.

Sinteze pentru muzica electronica (substractive și aditive)

Baza acestei sintezei musicale este următoarea reprezentare a semnalului sonor s(t):

(t) si (t) sunt amplitudinea care variaza in timp si frecventa componentei k al semnalului.(t) variaza lent in timp.

Pentru un instrument ce scoate un ton izolat,(t)=k,si ecuatia devine:

(t) t),

unde este frecventa fundamental.

Intr-un sunet muzical cu multe tonuri,toate celelalte frecvente sunt de obicei multipli intregi ai frecventei fundamentale si sunt numite frecvente partiale sau armonici.

Sinteza substractiva

Aceasta abordare,care reproduce aproape mecanismul de generare a sunetului unui instrument muzical, se bazeaza pe generarea unui semnal periodic care conține toate armonicile necesare și utilizarea de filtre pentru a atenua in mod selectiv componentele de frecventa partiale nedorite.

Sinteza aditiva

La sinteza aditiva, componentele de frecventa partiale sunt generate independent de oscilatoare la care frecventa de oscilatie variaza in timp.Apoi amplitudinile semnalelor dorite sunt modificate individual, aproximand variatiile reale obtinute in urma analizei si combinate pentru a produce un semnal sonor dorit.

Anularea ecoului din rețelele de telefonie

Efectul ecoului poate fi deranjant pentru vorbitor,depinzand de amplitudine si de intarzierea ecoului pe lungimea circuitului respectiv.Efectul ecoului este resimtit si mai rau in cadrul retelelor telefonice care utilizeaza circuite de comunicatii prin sateliti geostationari,unde intarzierea ecoului este de pana la 540ms.

In circuite de pana la 3000km lungime,reduceri corespunzatoare ale ecoului sunt atinse prin introducerea unor pierderi aditionale de semnal in ambele directii al unui circuit cu patru fire(acest circuit foloseste doua cai separate unidirectionale pentru transmiterea semnalului in ambele directii.

Pentru distante mai mari de 3000km,ecourile sunt controlate prin intermediul unui supresor de ecou.

Pentru coversatiile telefonice ce utilizeaza circuite prin satelit,o solutie foarte benefica ar fi sa se foloseasca un anulator de ecou.Circuitul genereaza o replica a ecoului folosind semnalul primit si il scade din semnalul ajuns in calea de transmisie.

In practica,o reducere a ecoului de 40dB este considerate satisfacatoare.

Despre procesarea digitala de semnal

Procesarea digitala a unui semnal analogic se face in 3 pasi principali:

Conversia unui semnal analogic in semnal digital

Procesarea versiunii digitale

Conversia semnalului digital anterior procesat inapoi in forma analogica

Cum amplitudinea semnalului analogic variaza in timp,un circuit de esantionare memorare este folosit initial pentru a esantiona intrarea analogica la intervale periodice si sa memoreze valoarea esantionata constanta la intrarea unui convertor analogic-digital pentru a premite o conversie digitala mai precisa.

Intrarea in convertorul analogic-digital este un semnal analogic de tip scara daca circuitul de esantionare-memorare memoreaza valoarea esantionata pana la urmatoarul moment de esantionare.

Iesirea din convertorul analogic-digital este un flux de date binar care este in continuare procesat de procesorul digital de punere in aplicare a algoritmului de prelucrare a semnalului dorit.

Iesirea procesorului digital,care este un alt flux de date,este convertita apoi intr-un semnal analogic de tip scara de catre convertorul digital-analogic.Filtru trece-jos de la iesirea convertorului digital-analogic indeparteaza toate componentele de frecventa inalta nedorite si transmite la iesire semnalul analogic procesat dorit.

Spre deosebire de circuite analogice, funcționarea circuitelor digitale nu depinde de valorile exacte ale semnalelor digitale.Ca urmare, un circuit digital este mai puțin sensibil la tolerante ale valorile componentelor si este destul de independent de temperatura, imbatranire, si majoritatea altor parametri externi.Un circuit digital poate fi reprodus cu usurinta in cantitati de volum si nu are nevoie sa fie ajustat nici în timpul constructiei si nici mai tarziu, in timp ce este  utilizat.

  Intr-un procesor digital, semnalele si coeficienții care descriu operatiunea de perfectionare sunt reprezentate sub forma de cuvinte binare.Astfel,precizia dorita se poate obtine prin simpla crestere a lungimii cuvintelor,care depinde strans de costul asociat acestei cresteri. Mai mult decat atat, intervalele dinamice pentru semnale și coeficienti pot fi marite in continuare prin utilizarea virgulei mobile aritmetica, daca este necesar.

Procesarea digitala permite o anumita impartire a procesorului intr-o serie de semnale de timp partajate, reducând astfel costurile de procesare per semnalului.

Avantaje ale procesarii digitale de semnal:

Permite ajustarea simpla a caracteristicilor procesorului in timpul prelucrarii, precum ajustarea necesara in implementarea filtrelor adaptive.

Permite realizarea anumitor caracteristici(nu este posibil cu implementarea analogica), cum ar fi faza liniara exacta si prelucrare multirate.

Semnalele digitale pot fi cascadate fara nicio problema de incarcare,lucru care nu se poate spune si despre semnalelevirgulei mobile aritmetica, daca este necesar.

Procesarea digitala permite o anumita impartire a procesorului intr-o serie de semnale de timp partajate, reducând astfel costurile de procesare per semnalului.

Avantaje ale procesarii digitale de semnal:

Permite ajustarea simpla a caracteristicilor procesorului in timpul prelucrarii, precum ajustarea necesara in implementarea filtrelor adaptive.

Permite realizarea anumitor caracteristici(nu este posibil cu implementarea analogica), cum ar fi faza liniara exacta si prelucrare multirate.

Semnalele digitale pot fi cascadate fara nicio problema de incarcare,lucru care nu se poate spune si despre semnalele analogice,care se deterioreaza rapid in timp si care nu se pot recupera in formele lor initiale

Aplicatii ale procesarii digitale de semnal in seismologie,unde sunt implicate semnale de foarte joasa frecventa(daca s-ar folosi procesarea analogica de semnal ar fi necesare bobine si condensatoare de dimensiuni foarte mari)

Dezavantaje ale procesarii digitale de semnal:

Complexitatea ridicata a sistemului in prelucrarea digitala a semnalelor analogice din cauza necesitatii unor dispozitive suplimentare de pre-și post prelucrare precum sunt convertoarele A/D și D/A si filtrele asociate acestora dar și circuite digitale complexe.

Intervalul limitat al frecvente disponibile pentru activitatea de procesare

Sistemele digitale au in constructia lor dispozitive active care consuma energie electrica(pe de alta parte,dispozitive pasive sunt si mai de incredere fata de dispozitive active)

In multe dintre aplicatii,avantajele depasesc cu mult dezavantajele acestei metode,si daca luam in considerare si scaderea preturilor hardware-elor procesoarelor digitale,aplicatiile in procesarea digitala de semnal cresc cu rapiditate.

Corelatia semnalelor discrete in timp

Corelatia semnalelor este des intalnita in aplicatii precum radare,sonare,comunicatii digitale,geologie,dar si in alte zone ale stiintei si ingineriei.Corelatia se apropie de ceea ce inseamna convolutia in matematica,in procesul de corelatie fiind implicate tot doua secvente de semnal.Rolul corelatiei intre doua semnale este acela de a masura unghiul pentru care cele doua semnale sunt similare si totodata sa se extraga informatii pentru a fi folosite in aplicatii mai vaste.

Fie doua secvente de semnale x(n) si y(n) pe care dorim sa le comparam,unde:

x(n) este semnalul transmis

y(n) este semnalul receptionat

Daca o tinta este prezenta in aer si cautata de radar sau sonar,semnalul y(n) este consta intr-o forma intarziata a semnalului transmis x(n),x(n) fiind reflectat de tinta respectiva,si corupt de zgomotul aditional( w(n)).

O ecuatie care descrie o secventa de semnal receptionat este urmatoarea:

y(n) = α x(n-D) + w(n),in care:

α este un factor de atenuare ce reprezinta pierderea de semnal implicata in transmisia tur-retur a semnalului x(n)

D este intarzierea tur-retur,care este un multiplu intreg al intervalul de masurat

O alta aplicatie a corelatiei este in comunicatiile digitale,unde informatia ce trebuie transmisa de la o sursa la alta este adesea convertita in forma binara,care este o secventa de 0 si de 1,secventa ce va fi apoi transmisa la destinatia dorita.

Avantajele si dezavantajele filtrelor cu raspuns infinit la impuls(IIR)

Avantaje

Din punct de vedere fizic,modelarea favorizeaza nominal filtrele de tip IIR in dezavantajul omologilor lor,filtrelor FIR,pentru un motiv destul de simplu: functiile rationale ofera proprietati de modelare ajustabile comparativ cu cele polinomiale.

Atunci cand se doreste sa se implementeze un filtru cu specificatii in ceea ce priveste banda de trecere,banda de oprire,riplul si/sau roll-off(caderea lina a raspunsului la zero,la fiecare capat al gamei de frecvente a unui echipament audio),filtrele IIR sunt mai eficiente decat filtrele FIR.Acest lucru se poate realiza cu un filtru cu raspuns infinit la impuls,de ordin mai mic,comparativ cu ordinul necesar unui filtru FIR care are indeplini aceleasi cerinte.

Dezavantaje

Principalul dezavantaj al filtrelor IIR este legat de instabilitatea acestora.Daca stabilitatea unui filtru FIR este garantata,la filtrele cu raspuns infinit la impuls trebuie sa li se asigure o proiectate foarte atenta daca se doreste ca acestea sa fie stabile.Pana si o rotunjire foarte foarte mica a valorilor coeficientilor poate face un filtru IIR stabil sa devina instabil.

Formele directe ale filtrelor de tip IIR sunt nesigure in medii de precizie finite si se pot confrunta cu usurinta cu problemele de stabilitate in timpul fazei de adaptare.

Un filtru IIR cauzal si stabil nu poate avea forma liniara.

CAPITOLUL 2 – Implementarea la nivel de sistem a filtrelor cu raspuns infinit la impuls

Implementarea unui filtru IIR,de tip trece-jos,metoda de proiectare Butterworth,de ordin 5,cu frecventa normalizata wc= .

Programele pe care le vom folosi sunt Matlab-ul si Modelsim-ul.

Pentru proiectarea si analiza filtrului vom folosi o interfata a Matlab-ului numita

FDATool.Astfel,se deschide Matlab-ul,iar in fereastra de comanda se scrie comanda:

>>fdatool si se apasa Enter.Dupa ce FDATool se deschide se trec specificatiile dorite si se fac setarile corespunzatoare.

Coeficientii functiei de transfer

Forma directa

Functia de transfer a unui filtru digital IIR de ordin N este caracterizata prin 2N+1 coeficienti unici,si in general necesita pentru implementare 2N+1 multiplicatoare si 2N sumatoare cu doua intrari.

Functia de transfer a unui filtru cu raspuns infinit la impuls (recursiv) este:

H(z)=

Filtru IIR in forma directa II

Se observa faptul ca schema se imparte in doua bucati:

Prima parte este reprezentata de procesorul elementar ,care este format din doua sumatoare si un multiplicator.(parte nerepetitiva)

Cea de-a doua parte este reprezentata de procesoarele de la la ,fiecare dintre acestea avand aceeasi structura: doua sumatoare,doua multiplicatoare si o celula de intarziere.(parte repetitiva)

Astfel,un procesor elementar al unui filtru IIR,in forma directa,ar avea structura urmatoare:

Ecuatii functionarii partii repetitive sunt:

Implementarea in Simulink a filtrului,in forma directa II

Forme de unda:

Forma sistolica

Coeficientii functiei de transfer la forma sistolica sunt aceiasi cu cei de la forma directa.

Forma sistolica a filtrului IIR se obtine din forma sa directa.Procesorul elementar specific formei sistolice este cel de la forma directa,la care se adauga urmatoarele:

Procesorul elementar la forma sistolica

(pentru partea repetitiva)

Partea repetitiva a formei sistolice cuprinde procesoarele de la la ,fiecare dintre acestea avand aceeasi structura: doua sumatoare,doua multiplicatoare si doua celule de intarziere.

Ecuatii functionarii partii repetitive sunt:

)

=

Implementarea in Simulink a filtrului,in forma sistolica

Forme de unda:

Forma cascada

Implementarea cascada pentru un filtru de ordin 3

Exemplu de mai sus este pentru filtru de ordin 3.

Pentru a obtine coeficientii pentru forma cascada,procedam astfel:

Incarcam in Matlab coeficientii filtrului pentru forma directa,apoi

Tastam in linia de comanda:

>> tf2sos(Num,Den)

ans =

0.3271 0.3268 0 1.0000 0.4810 0

1.0000 2.0018 1.0018 1.0000 1.0381 0.3289

1.0000 1.9993 0.9993 1.0000 1.3098 0.6766

Acestia sunt coeficientii functiei de transfer pentru forma cascada.

Implementarea in Simulink a filtrului IIR de ordin 5,in forma cascada:

Forme de unda:

CAPITOLUL 3 – Cuantizarea coeficientilor si erori aparute

In cazul filtrelor cu raspuns infinit la impuls, caracteristicile neliniare rezultate din operatia de cuantizare din multiplicatoare,pot cauza un comportament oscilatoriu la iesirea filtrelor, chiar si in absenta semnalului de intrare.Mai mult, in sumatoare poate aparea depasirea aritmetica care produce,de asemenea, oscilatii la iesire.

Principalele tipuri de erori de cuantizare care apar in filtrarea digitala sunt:

Erori de cuantizare ale semnalului de intrare in conversia analog – digitala (A/D);

Erori rezultate din cuantizarea coeficientilor filtrelor digitale;

Erori rezultate din rotunjirea produselor;

Depasirea aritmetica;

Oscilatii cu cicluri limita.

Erori rezultate din cuantizarea coeficientilor filtrelor digitale

Pentru cuantizarea coeficientilor sunt folosite trei metode:

Rotunjirea

Trunchierea

Trunchierea semn-valoarea

Prin rotunjire valoarea semnalului este aproximata de cel mai apropiat nivel de cuantizare.

Prin trunchiere valoarea semnalului este aproximata de cel mai mare nivel,care este inferior sau egal valoric cu esantionul semnalului.

Trunchierea semn – valoare, care este asemanatoare cu trunchierea pentru numere pozitive, dar valorile negative ale semnalului sunt aproximate de cel mai apropiat nivel de cuantizare mai mare sau egal cu semnalul.

Cuantizarea coeficientilor pentru forma directa

In Simulik:

In Verilog:

Cuantizarea coeficientilor pentru forma sistolica

In Simulik:

In Verilog:

Cuantizarea coeficientilor pentru forma cascada

In Simulink:

In Verilog:

`timescale 1ns / 1ns

module IMPLEMENTAREA_CASCADA (input [7:0] in1, input clk,input rst,

output [7:0] out );

wire [7:0] w11,w12,w22,w23,w24,w33,w34,w35;

wire[15:0] u1,p11,p12,p21,out1,u2,d1,d2,p22,p23,p24,p32,p42,out2,u3,d3,d4,p33,p34;

wire[15:0] p35,p43,p53,u4;

parameter a11=8'b00101010;

parameter b15=8'b11000010;

parameter a12=8'b00101010;

parameter a21=8'b01000000;

parameter b25=8'b10111110;

parameter a22=8'b01000000;

parameter b26=8'b11010110;

parameter a23=8'b01000000;

parameter a31=8'b01000000;

parameter b35=8'b10101100;

parameter a32=8'b01000000;

parameter b36=8'b10101001;

parameter a33=8'b01000000;

//BIQUAD_1

Sum_16_bit sum11({in1[7],in1[7],in1[7:0],6'b0},p21,u1);

assign w11={u1[15],u1[13:7]};

BISTABIL_8bit D11(clk,rst,w11,w12);

MULTIPLIER M11(w12,b15,p21);

MULTIPLIER M12(w11,a11,p11);

MULTIPLIER M13(w12,a12,p12);

Sum_16_bit sum12(p11,p12,out1);

//BIQUAD_2

Sum_16_bit sum22(out1,d1,u2);

assign w22={u2[15],u2[12:6]};

MULTIPLIER M22(w22,a21,p22);

BISTABIL_8bit D22(clk,rst,w22,w23);

MULTIPLIER M32(w23,b25,p32);

Sum_16_bit sum32({p42[15],p42[15:1]},p32,d1);

MULTIPLIER M23(w23,a22,p23);

Sum_16_bit sum23(p23,{p24[15],p24[15:1]},d2);

Sum_16_bit sum33({p22[15],p22[15:1]},d2,out2);

BISTABIL_8bit D23(clk,rst,w23,w24);

MULTIPLIER M24(w24,a23,p24);

MULTIPLIER M42(w24,b26,p42);

//BIQUAD_3

Sum_16_bit sum0(out2,d3,u3);

assign w33={u3[15],u3[12:6]};

MULTIPLIER M33(w33,a31,p33);

BISTABIL_8bit D33(clk,rst,w33,w34);

MULTIPLIER M43(w34,b35,p43);

Sum_16_bit sum43(p43,{p53[15],p53[15:1]},d3);

MULTIPLIER M34(w34,a32,p34);

Sum_16_bit sum34(p34,{p35[15],p35[15:1]},d4);

Sum_16_bit sum44({p33[15],p33[15:1]},d4,u4);

BISTABIL_8bit D34(clk,rst,w34,w35);

MULTIPLIER M53(w35,b36,p53);

MULTIPLIER M35(w35,a33,p35);

assign out={u4[15],u4[11:5]};

endmodule

BIQUAD_1

Pentru a descrie primul biquad avem nevoie de doua sumatoare pe 16 biti,trei multiplicatoare si o celula de intarziere(un bistabil pe 8 biti).In continuare vor fi prezentate descrierile in Verilog ale acestor componente.

Sumatorul pe 16 biti are urmatoarea descriere:

module Sum_16_bit(ain,bin,sum);

input wire [15:0] ain,bin;

output wire [15:0] sum;

wire [15:0] fir;

HA H0(ain[0],bin[0],sum[0],fir[0]);

FA FA1(ain[1],bin[1],fir[0],sum[1],fir[1]);

FA FA2(ain[2],bin[2],fir[1],sum[2],fir[2]);

FA FA3(ain[3],bin[3],fir[2],sum[3],fir[3]);

FA FA4(ain[4],bin[4],fir[3],sum[4],fir[4]);

FA FA5(ain[5],bin[5],fir[4],sum[5],fir[5]);

FA FA6(ain[6],bin[6],fir[5],sum[6],fir[6]);

FA FA7(ain[7],bin[7],fir[6],sum[7],fir[7]);

FA FA8(ain[8],bin[8],fir[7],sum[8],fir[8]);

FA FA9(ain[9],bin[9],fir[8],sum[9],fir[9]);

FA FA10(ain[10],bin[10],fir[9],sum[10],fir[10]);

FA FA11(ain[11],bin[11],fir[10],sum[11],fir[11]);

FA FA12(ain[12],bin[12],fir[11],sum[12],fir[12]);

FA FA13(ain[13],bin[13],fir[12],sum[13],fir[13]);

FA FA14(ain[14],bin[14],fir[13],sum[14],fir[14]);

FA FA15(ain[15],bin[15],fir[14],sum[15],fir[15]);

endmodule

,unde Half Adder-ul are structura:

`timescale 1ns / 1ps

module HA(a,b,sum,cout);

input a,b;

output sum, cout;

assign #30 sum = a^b;

assign #15 cout = a&b;

endmodule

iar Full Adder-ul:

`timescale 10ps / 10ps

module FA(a,b,cin,sum,cout);

input a,b;

input cin;

output sum, cout;

assign #60 sum = a^b^cin;

assign #75 cout = (a&b)|(a&cin)|(b&cin);

endmodule

Multiplicatorul are urmatoarea descriere:

module MULTIPLIER(x,y,p);

input [7:0] x,y;

output [15:0] p;

wire [6:0] cout_fir [7:0];

wire [6:0] sum_fir [7:0];

FA7biti A0(

.a(x[7:1]&{~y[0],{6{y[0]}}}),

.cin({7{1'b0}}),

.b(x[6:0]&{7{y[1]}}),

.cout(cout_fir[0][6:0]),

.sum(sum_fir[0][6:0]));

assign p[0] = x[0]&y[0];

FA7biti A1(

.a({x[7]&(~y[1]),sum_fir[0][6:1]}),

.cin(cout_fir[0][6:0]),

.b(x[6:0]&{7{y[2]}}),

.cout(cout_fir[1][6:0]),

.sum(sum_fir[1][6:0]));

assign p[1] = sum_fir[0][0];

FA7biti A2(

.a({x[7]&(~y[2]),sum_fir[1][6:1]}),

.cin(cout_fir[1][6:0]),

.b(x[6:0]&{7{y[3]}}),

.cout(cout_fir[2][6:0]),

.sum(sum_fir[2][6:0]));

assign p[2] = sum_fir[1][0];

FA7biti A3(

.a({x[7]&(~y[3]),sum_fir[2][6:1]}),

.cin(cout_fir[2][6:0]),

.b(x[6:0]&{7{y[4]}}),

.cout(cout_fir[3][6:0]),

.sum(sum_fir[3][6:0]));

assign p[3] = sum_fir[2][0];

FA7biti A4(

.a({x[7]&(~y[4]),sum_fir[3][6:1]}),

.cin(cout_fir[3][6:0]),

.b(x[6:0]&{7{y[5]}}),

.cout(cout_fir[4][6:0]),

.sum(sum_fir[4][6:0]));

assign p[4] = sum_fir[3][0];

FA7biti A5(

.a({x[7]&(~y[5]),sum_fir[4][6:1]}),

.cin(cout_fir[4][6:0]),

.b(x[6:0]&{7{y[6]}}),

.cout(cout_fir[5][6:0]),

.sum(sum_fir[5][6:0]));

assign p[5] = sum_fir[4][0];

wire [2:0] fir ;

FA A6 (

.a(~x[7]),

.cin(~y[7]),

.b(x[7]&y[7]),

.sum(fir[0]),

.cout(fir[1]));

FA7biti A7(

.a({x[7]&(~y[6]),sum_fir[5][6:1]}),

.cin(cout_fir[5][6:0]),

.b((~x[6:0])&{7{y[7]}}),

.cout(cout_fir[6][6:0]),

.sum(sum_fir[6][6:0]));

assign p[6] = sum_fir[5][0];

FA7biti A8(

.a(sum_fir[6][6:0]),

.cin({cout_fir[6][5:0],x[7]}),

.b({cout_fir[7][5:0],y[7]}),

.cout(cout_fir[7][6:0]),

.sum(sum_fir[7][6:0]));

assign p[13:7] = sum_fir[7][6:0];

FA A9(

.a(fir[0]),

.cin(cout_fir[6][6]),

.b(cout_fir[7][6]),

.sum(p[14]),

.cout(fir[2]));

FA A10(

.a(1'b1),

.cin(fir[1]),

.b(fir[2]),

.sum(p[15]),

.cout()

);

Endmodule

Full Adder-ul pe 7 biti are urmatoarea descriere:

module FA7biti(

input wire [6:0] a,b,cin,

output wire [6:0] sum,cout);

FA F1(.a(a[0]),.b(b[0]),.cin(cin[0]),.sum(sum[0]),.cout(cout[0]));

FA F2(.a(a[1]),.b(b[1]),.cin(cin[1]),.sum(sum[1]),.cout(cout[1]));

FA F3(.a(a[2]),.b(b[2]),.cin(cin[2]),.sum(sum[2]),.cout(cout[2]));

FA F4(.a(a[3]),.b(b[3]),.cin(cin[3]),.sum(sum[3]),.cout(cout[3]));

FA F5(.a(a[4]),.b(b[4]),.cin(cin[4]),.sum(sum[4]),.cout(cout[4]));

FA F6(.a(a[5]),.b(b[5]),.cin(cin[5]),.sum(sum[5]),.cout(cout[5]));

FA F7(.a(a[6]),.b(b[6]),.cin(cin[6]),.sum(sum[6]),.cout(cout[6]));

endmodule

Bistabilul pe 8 biti are urmatoarea descriere:

module BISTABIL_8bit(

input clk,reset,

input [7:0] d,

output reg [7:0] q);

always @ (posedge clk, posedge reset)

if (reset) q<=8'b0;

else

q<= d;

endmodule

Pentru a-l descrie ce cel de-al doilea biquad, BIQUAD_2:

si pe cel de-al treilea,BIQUAD_3,avem nevoie de patru sumatoare pe 16 biti,cinci multiplicatoare si doua celule de intarziere (doua bistabile pe 8 biti):

Forme de unda de la cuantizarea coeficientilor:

Forma directa

Forma sistolica

Forma cascada:

CAPITOLUL 4 – Sumatoare digitale

Sumatoare pe 1 bit

Este vorba despre full adder si half adder,sumator cu transport pe intrare si respectiv fara transport pe intrare.

Full Adder-ul are urmatoarea schema:

Tabelul de adevar ce descrie logica de functionarea a sumatorului cu transport pe intrare este dat mai jos:

Din tabel se deduce sinteza combinationala urmatoare:

Functiile logice ce descriu structura de mai sus sunt:

Half Adder-ul se obtine din structura Full Adder-ului,atunci cand =0,si are urmatoarea structura:

,functia care-l descrie fiind: .

Sumatoare pe 16 biti

Sumatorul pe 16 biti ripple carry (cu propagarea transportului)

Sumatoarele pe 16 biti ripple carry (cu propagarea transportului) au structura:

Aceasta arhitectura nu este una paralela, deoarece pentru a se realiza sumarea la bitul urmator,sumatorul pe 1 bit trebuie sa astepte rezultatul de la precedenta sumare ,pentru a lua in calcul transportul.

Intarzierile cauzate de sumatoare

Prin intarzierea unui circuit (poarta logica de exemplu) se intelege intervalul temporal scurs de la aparitia semnalului de intrare si aparitia raspunsului correct la iesire(gate delay).

Exemplu:

Comparatie intre cateva tipuri de sumatoare,pe n biti, in privinta intarzierii si a ariei ocupate:

Frecventa maxima la care functioneaza

CAPITOLUL 5 – Multiplicatoare

Inmultirea numerelor consta in generarea si adunarea produselor partiale obtinute prin inmultirea rangului curent al inmultitorului cu deinmultitul.

In cazul numerelor binare, produsul partial curent este egal cu deinmultitul, deplasat spre stanga conform pozitiei rangului inmultitorului, daca bitul curent al inmultitorului este unu,sau egal cu zero,daca bitul curent al inmultitorului este zero.

Daca produsul partial curent este diferit de zero,el se aduna la suma produselor partiale anterioare.

Multiplicarea este,deci,o adunare repetata,cu ajutorul sumatoarelor obtinandu-se si inmultirea.

Produsul logic AND este echivalent cu inmultirea a doi biti.

La inmultirea unui numar pe m biti cu un numar de n biti apar:

n produse partiale pe m biti

sunt necesare n-1 sumatoare pe m biti.

Multiplicatorul de 1 bit are urmatoarea forma:

Multiplicatoare paralele

Multiplicator natural

Multiplicatorul natural prezinta 13 timpi de propagare prin FA la operanzi pe B=5 biti.

Multiplicator Braun- minimizeaza timpul de propagare pe calea critica

Castigul multiplicatorului Braun este acela ca timpul necesar pentru a inmulti B=5 biti este 9 timpi de propagare prin Full Adder.

Multiplicarea numerelor cu semn

Pentru fixarea cadrului de rationament, sa presupunem doi operanzi:

A=

B=

Valorile zecimale ale celor doi operanzi se pot scrie:

Principiul multiplicatorului Baugh-Wooley

Structura multiplicatorului Baugh-Wooley

Similar Posts

  • . Elemente DE Organizare A Liniilor Radio In Gama Undelor Ultrascurte

    CUPRINS INTRODUCERE…………………………………………………………………………………………………….1 PROPAGAREA UNDELOR ULTRASCURTE(UUS) 1.1. Noțiuni de bază referitoare la propagarea undelor radio……………………………….2 1.2. Propagarea UUS în limitele orizontului vizibil………………………………………………3 I.2.1. Propagarea la distanțe mult mai mici decât vizibilitatea directă…………………3 I.2.2. Propagarea la distanțe apropiate de limita vizibilității directe……………………5 I.2.3. Influența accidentărilor de teren de la suprafața pământului……………………..6 1.3 Propagarea troposferică a UUS……………………………………………………………………7 1.4.Propagarea…

  • Tranzitii de Faza In Feroelectrici

    Materialele feroelectrice sunt materiale polare care poseda cel putin doua stari de echilibru ale vectorului polarizare spontana, in absenta unui camp electric extern. Prin aplicarea unui camp electric, orientarea polarizarii poate fi schimbata intre cele doua directii[1][2] Existenta polarizarii spontane se datoreaza faptului ca celula elementara a feroelectricilor este non-centrosimetrica. Feroelectricii sunt substante dielectrice neliniare,…

  • Aportul Limfoscintigrafiei In Diagnosticul Limfedemelor Extremitatilor

    Aportul limfoscintigrafiei in diagnosticul limfedemelor extremităților Cuprins: Partea generală Capitolul 1. Importanța subiectului Capitolul 2. Anatomia sistemului limfatic Capitolul 3. Fiziologia sistemului limfatic 3.1 Elemente de fiziologie și fiziopatologie a sistemului limfatic 3.2 Rata fluxului limfatic 3.3 Sistemul limfatic – funcția imunologică Capitolul 4. Afecțiuni ale sistemului limfatic 4.1 Limfedemul membrului superior 4.2 Limfedemul membrului…

  • . Tehnici Si Metode de Prelucrare Digitala a Imaginilor

    CUPRINS INTRODUCERE…………………………………………………………………8 CAPITOLUL 1 Tehnici si metode de prelucrare digitala a imaginilor.Imbunatatirea imaginilor……………………9 1.1 Generalitati……………………………………………………………9 1.2 Metode și algoritmi de îmbunătățire a imaginii………………………………9 1.3 Operațiuni punctuale…………………………………………………………………10 1.3.1 Accentuarea de contrast…………………………………………..10 1.3.2 Limitarea și binarizarea imaginilor………………………………….11 1.3.3 Inversarea (negativarea) imaginilor…………………………………12 1.3.4 Extragerea unui bit……………………………………………………….13 1.3.5 Compresia de contrast……………………………………………………13 1.3.6 Scăderea imaginilor ……………………………………………………..13 1.4 Modelarea imaginilor prin…

  • Studiu Privind Realizarea Unui Model Auto Rapid Pentru Deplasarea In Teren

    LUCRARE DE LICENȚĂ STUDIU PRIVIND REALIZAREA UNUI MODEL AUTO RAPID PENTRU DEPLASAREA ÎN TEREN CUPRINS Introducere Capitolul 1 : Stadiul actual privind realizarea vehiculelor ușoare pentru deplasarea rapidă 1.1. Necesitatea realizării vehiculelor ușoare pentru deplasări rapide 1.1.1. În domeniul civil 1.1.2. În domeniul militar 1.2. Tipuri de vehicule ușoare folosite în activități curente și speciale…

  • Materiale Compozite

      Efortul oamenilor de știința se orientează către materialele noi, și implicit asupra tehnicilor de prelucrare și proiectare analitică a elementelor active necesare prelucrării acestora. Studiul unor tehnologii au scos la iveală că acestea ar putea fi aplicate la scară industrială pentru avantajele economice, performanța și simplitatea proiectării.    Materialele compozite au fost concepute pentru a…