CS266303B2 - Digital filter - Google Patents

Digital filter Download PDF

Info

Publication number
CS266303B2
CS266303B2 CS784019A CS401978A CS266303B2 CS 266303 B2 CS266303 B2 CS 266303B2 CS 784019 A CS784019 A CS 784019A CS 401978 A CS401978 A CS 401978A CS 266303 B2 CS266303 B2 CS 266303B2
Authority
CS
Czechoslovakia
Prior art keywords
output
výstup
filter
input
adder
Prior art date
Application number
CS784019A
Other languages
English (en)
Other versions
CS401978A2 (en
Inventor
George L Brantingham
Richard H Wiggins
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of CS401978A2 publication Critical patent/CS401978A2/cs
Publication of CS266303B2 publication Critical patent/CS266303B2/cs

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0283Filters characterised by the filter structure
    • H03H17/0285Ladder or lattice filters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • G10L13/047Architecture of speech synthesisers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/04Recursive filters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Complex Calculations (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analogue/Digital Conversion (AREA)
  • Filters That Use Time-Delay Elements (AREA)

Description

Vynález se týká generování složitých průběhů s použitím číslicových signálů, zvláště syntézy řeči číslicovými obvody s použitím metod lineární predikce a jeho předmětem je číslicový filtr typu s křížovými články pro obvody určené к syntéze řeči nebo generování časových průběhů. Filtr podle vynálezu pro syntézu řeči může být obsažen v jediném integrovaném obvodu, čímž se usnadňuje jeho použití v různých aplikacích v průmyslu sdělovací iIim i ): у , ''Ί l<'ih>vyrh .-iplihncí ).пг>и iičir-í г.-1гп)п, л»1*‘1пулг( zařízení např. telefony, zařízení pro utajení řeči, rozhLasové a televizní přistrojí? atd. a další zařízení, jež generují, zvuk lidského hlasu.
V současné době se v praxi i při experimentech používá několika metod číslicového zobrazení lidské řeči. Jsou známy např. tyto metody číslicového kódování řeči: pulsní kódová modulace, diferenční pulsní kódová modulace, adaptivní predikční kódování, modulace delta, kanálové vokodéry, hlasem buzené vokodéry, cepstrové vokodéry, formantové vokodéry a lineární predikční kódování. Tyto metody se stručně popisují v článku Voice signals: Bit by bit na str. 28 až 34 časopisu IEEE Spektrum z října 1973.
Simulace jednotlivých metod číslicového kódování řeči počítačem obecně ukazují že lineární predikční metody číslicového zobrazení řeči mohou poskytovat přirozenější řeč než dřívější vokodérové systémy (např. kanálový vokodér) při současně nižším toku dat než u systémů s pulsní kódovou modulíící. Systémy s lineární predikcí často používají vícestupňové číslicové filtry a čím je počet stupňů vyšší, tím přirozenější se stane výsledná generovaná řeč.
První aplikace metod lineární predikce pro číslicové generování řeči spadají do konce šedesátých a začátku sedmdesátých let. Historická analýza některých z těchto prvních prací je uvedena v práci Markela a Graye Linear Prediction of Speech (Spriqger Verlag, New York 1976) na str. 18 až 20.
Vícestupňový číslicový filtr, použitý při lineárním predikčním kódování, je nejlépe typu se všemi póly, u něhož všechny kořeny jsou s výhodou uvnitř jednotkové kružnice (z) ='l, jestliže matematickou přenosovou funkci vyjádříme jako transformaci z. Filtr sám může mít tvar filtru z křížových článků, typu naznačeného na obr. 2a a 2b, ovšem jsou známy díilší typy filtru včetně filtrů příčkových, normalizovaných příčkových filtrů a dalších, jak je vysvětleno v kap. 5 knihy Linear Prediction of Speech. Každý stupeň filtru z křížových článků vyžaduje dvě operace sčítání, dvě operace násobení a jednu operaci zpoždění. Filtr se budí bud ze zdroje periodického signálu pro hlasné nebo ze zdroje nahodilého signálu pro nehlasné zvuky. Koeficienty filtru se s výhodou znovu nastavují po každých několika milisekundách, zatímco budicí signál se opakovaně přivádí častěji.
Dříve se obvody filtru z křížových článků podle obr. 2a realizovaly vhodným programováním velkých číslicových počítačů. Příklad programování počítače v jazyce Fortran pro účely syntézy řeči počítačem je vysvětlen v dříve zmíněné knize Linear Prediction of Speech. Při daném toku dat budicího signálu a velkém počtu aritmetických operací, tj. dvou násobeních a dvou sčítáních pro každý stupeň vícestupňového filtru, a vzhledem к tomu, že zvyšováním počtu stupňů filtru se zvyšuje i přirozenost generované řeči, používaly se dosud ve většině případů syntézy řeči rychlé číslicové počítače. Prováděly se také pokusy realizovat vícestupňový filtr s použitím techniky obvodů velké integrace s prvky typu MOS a principu multiprocesingu s řadou aritmetických jednotek pracujících současně; tato technika ovšem vyžaduje realizaci velmi vysokého počtu obvodů pro násobení a sčítání na jednom polovodičovém substrátu. Náhradou mřížové struktury na obr. 2a jednotlivými sčítačkami a násobičkami vznikne složitý a rozsáhlý polovodičový substrát.
V americkém pat. spise č. 4 022 974 se popisuje syntetizér řeči, který obsahuje jako součást rekurzivní nebo příčkový filtr. Takový rekurzivní filtr potřebuje к realizaci pouze dvě matematické operace, jedno násobení a jedno sčítání, nemá však inherentní stabilitu filtru s křížovými články.
CS 266 303 B2
Americký pat. spis č. 4 052 563 je zaměřen na systém přenosu řeči, obsahující část pro analýzu a část pro syntézu řeči. Po provedení analýzy vlnového tvaru řeči výsledný zakódovaný číslicový signál existuje v každém z řady přenosových kanálu, nesoucích příslušné syntetické řečové signály, 'ryto řečové nígnály v řadě řečových kanálů jsou zakódovány zpil r.obcni vytvářejícím multiplexované číslicové výstupy, které se pak časové mul ti pl exit) í pro přivedení do ř<’ř(ivrli<i nyní <·Ι Izéiu, kdo nr žínka Jí repi otlukované řečové signály pro κι/.ι|ί·|ΐ4ΐΐ v př I slušných řečových kanálech. Provedení na obr. 8 ukazuje jediný číslicový násobiči filtr sn zpětnou vazbou a multiplexováním, přičemž multiplexování se také požaduje mezi řadou dočasných pamětí podle časování kanálů časově multiplexovaného signálu, který vznikl z řady samostatných řečových kanálu. Dočasné paměti jsou všechny umístěny na výstupní straně číslicového filtru a jsou připojeny na jeho vstup pouze prostřednictvím zpětnovazební smyčky. Číslicový filtr není však podrobně popsán a lze jen předpokládat, že bude odpovídat provedení podle obr. 6, které obsahuje řadu aritmetických jednotek spolupracujících s násobičkou a zahrnujících dvě sčítačky a odčítačku.
Vynález odstraňuje nevýhody dosavadních filtrů a jeho předmětem je číslicový filtr se vstupy číslicového budicího signálu a číslicových hodnot zobrazujících koeficienty filtru, zejména pro syntetizéry řeči, který sestává ze zásobníku koeficientů spojeného vedením s násobičkou, ze sčítačky-odčítačky, jejíž vstup je spojen s výstupem násobičky a výstup je připojen к paměťovému obvodu, jehož výstup je spojen sběrnicí se vstupem násobičky. Podstata vynálezu spočívá v tom, že ke sběrnici na vstupu násobičky je připojen první přepínač к selektivnímu připojování výstupu sčítačky-odčítačky a výstupu paměťového obvodu na vstup násobičky. Paměťový obvod obsahuje první zpoždovací obvod s krátkou dobou zpoždění, druhý zpoždovací obvod s delší dobou zpoždění a paměť spojenou přes první přepínač se vstupem násobičky, přičemž výstup prvního zpoždovacího obvodu je připojen ke vstupu násobičky. Na vstupu sčítačky-odčítačky je zapojen druhý přepínač к selektivnímu připojení výstupu sčítačky-odcítačky, druhého zpoždovacího obvodu a paměti ke vstupu sčítačky-odčítačky. Přitom první přepínač obsahuje s výhodou spínače pro selektivní připojení výstupu sčítačky-odčítačky, výstupu prvního zpoždovacího obvodu nebo výstupu paměti ke vstupu násobičky, a druhý přepínač obsahuje spínače к selektivnímu připojení výstupu sčitačky-odčítačky, výstupu druhého zpoždovacího obvodu nebo výstupu paměti ke vstupu sčítačky-odčítačky. Mezi druhým zpoždovacím obvodem a pamětí je zapojen třetí přepínač к selektivnímu připojování výstupu druhého zpoždovacího obvodu ke vstupu paměti.
Vynález umožňuje realizovat filtr z křížových článků pro generování složitých průběhů, jako je lidská řeč, na jediném substrátu pomocí struktur MOS, který je relativně jednoduchý a má menší rozměry.
Vynález jeho vlastnosti a použití budou vysvětleny v souvislosti s příklady provedení znázorněnými na výkresech, kde značí obr. la blokové schéma základních prvků syntetizéru řeči, obr. lb časový průběh budicího signálu a koeficientů Kn obr. 2a, 2b typický filtr z křížových článků, jaký se používá v obvodech pro syntézu řeči, obr. 3 časování pro generování mezivýsledků ve filtru z křížových článků o N stupních, obr. 4 časování pro generování mezivýsledků ve filtru z křížových článků o 10 stupních, obr. 5 jedno provedení číslicového filtru, ekvivalentního filtru z křížových článků, obr. 6 jiné provedení Číslicového filtru, ekvivalentního filtru z křížových Článků, obr. 7 maticovou násobičku použitou v ekvivalentním číslicovém filtru. Obr. 8A až 8D logická schémata jednotlivých prvků z obr. 7 a obr. 9 zobecněný tvar číslicového filtru podle vynálezu.
Na obr. la jsou ve formě blokového schématu znázorněny základní prvky syntetizéru řeči.
Obvod pro syntézu řeči obsahuje několikastupňový filtr 10 z křížových Článků, který číslicově filtruje budicí signál U s použitím koeficientů Κχ *n- Na výstupu filtru l_0 z křížových článků je číslicový signál 12, který se převádí číslicově analogovým převodníkem 13 do analogové podoby. Výstup převodníku 13 se mění na slyšitelné zvuky reproduktorem
CS 266 303 B2 nebo jiným zvukovým měničem; rozumí se, že mezi převodníkem 13 a reproduktorem 14 je možno použít zesilovače pro zesílení analogového výstupu převodníku 13 na úroveň potřebnou pro reproduktor 14.
Budicí signál U se obecně odvozuje z jednoho ze dvou zdrojů, zdroje 15 hlasného nlgnálu ·ί zdi oje 16 tich 1 annélio algnúlu. KLerý z obou zdiojů ík* uplatní, určuje číslicový přepánač 17.· Zdroj 15 hlasného signálu se použije ke generování zvuků, při kterých během řeči kmitají lidské hlasivky nebo hlasové vazy, jako je zvuk E ve slově Eva. Rychlost, jakou se hlasové vazy zavírají a otvírají, určuje výšku generovaného zvuku. Zdroj 16 nehlasného signálu se použije při generování zvuků jako je F ve slově Fish, kde hlasové vazy jsou trvale otevřené a vzduch se jimi prohání do hlasového traktu. Použitý zdroj 15, 16 tedy závisí na zvuku, který se má generovat.
Zdroj 16 nehlasného signálu zpravidla generuje nahodilý číslicový signál, zatímco zdroj 15 hlasného signálu generuje periodický číslicový signál. Číslicová data, dodávaná oběma zdroji 15 a 1_6, mohou být ovšem uložena v jedné nebo v několika permanentních pamětech. Výhodné je však uložení těchto dat v zakódovaném tvaru, např. jako výška hlasu nebo jako kód řídící generátor nahodilých Čísel. Data se tedy zpravidla nejprve dekódují, dříve než se nahodilá nebo periodická data (např. signál V) vyšlou do filtru .10.. V závislosti na tom, jak jsou data uložena, je ovšem možno eliminovat nutnost použití přepínače 17. Když se data uloží jako výška hlasu \nebo kód, pro řízení generátoru nahodilých čísel, uloží se do permanentní paměti s výhodou také zesílení A. Zesílení A upraví signál V konstantní amplitudy ze zdroje 15 hlasného signálu nebo ze zdroje 16 nehlasného signálu, aby se vytvořil budicí signál U pro filtr 10.
Budicí signál U, který obecně odpovídá nebo modeluje funkci hlasových vazů, se mění filtrem 10 z křížových článků. Filtr 1£ z křížových článků obecně odpovídá nebo modeluje funkci hlasového traktu, který filtruje zvuky generované hlasovými vazy. Koeficienty Kj až Kn filtru zobrazují tvar (tj. rezonance) hlasového traktu při řeči. Proto se koeficienty K^ až Kn periodicky znovu nastavují, aby odpovídaly změnám tvaru hlasového traktu a je možno je uložit spolu s údaji o signálu hlasného a nehlasného zdroje do permanentní paměti.
Na obr. lb je v podobě grafu vyobrazen časový průběh výstupu nehlasného zdroje 16 a hlasného zdroje 15. Na výstupu hlasného zdroje jsou naznačeny impulsy s periodou 5 ms, což odpovídá výšce hlasu 200 Hz; tato výška hlasu odpovídá hlasným zvukům v hlasovém rozsahu mnoha žen. Protože muži mají typicky nižší výšku hlasu, budou mít výstupní impulsy pro mužský hlasný zdroj nižší opakovači kmitočet.
Hlasný zdroj 15 je naznačen s impulsy na výstupu, jejichž perioda odpovídá výšce hlasu osoby; je ovšem třeba rozumět, že periodické impulsy lze nahradit jinými periodickými funkcemi, jako je např. doznívající sinusovka nebo tzv. cvrlikání”, které se opakují s periodou odpovídající výšce hlasu. Signál nehlasného zdroje 16 je naznačen jako nahodilý.
Na obr. lb je naznačeno, že se koeficienty filtru 10 z křížových článků znovu nastavují po každých 5 ms. Je třeba rozumět, že četnost nastavování koeficientů filtru 10 je volitelná při návrhu. Čím se koeficienty nastavují častěji, tím přesněji filtr 10 modeluje dynamiku hlasového traktu, avšak s odpovídajícím vzrůstem objemu dat uložených v dříve zmíněné permanentní paměti. Méně časté nastavování koeficientů má ovšem opačný účinek. Bylo zjištěno, že při nastavování koeficientů přibližně každých 5 ms se dosáhne syntézy lidské řeči s vysokou kvalitou s filtrem 10 z křížových článků s rozumnými požadavky na kapacitu paměti.
Na obr. lb je časová osa rozdělena na intervaly po 100 ms. Tyto intervaly odpovídají četnosti dat z hlasného zdroje 15 f z nehlasného zdroje 16 a také četnosti dat na vstupu a výstupu filtru 10 z křížových článků. Ačkoli se z obr. lb může zdát, že signály z nehlasného zdroje 16 a z hlasného zdroje 15 jsou analogové, je nutno vzít na vědomí, že
CS 266 303 B2 jde ve skutečnosti o signály číslicové, jejichž velikost je naznačena a které se znovu nastavují v intervalech, naznačených na časové ose na obr. Ib. Pokud jde o Informace, týkající se odvození velikosti koeficientů filtru, odkazujeme na dříve zmíněnou knihu uLin<?ar Prodlet i on of Sponch .
*
V daném uspořádání bude tedy četnost dat na vstupu převodníku 13 10 kHz a horní mezní kmitočet syntetické řeči z převodníku 13 bude 5 kliž. Tuto četnost je ovšem možno podle přání při návrhu měnit. Na příklad četnost dat 9 kHz by vyvolala mezní kmitočet syntetizéru 4 kHz.
Na obr. 2a a 2b je naznačeno blokové schéma filtru 10 z křížových článků. Na obr. 2a je filtr H) z křížových článků, obsahující deset stupňů S1 až S10, každý z nich je ekvivalentní stupni podle obr. 2b. Pro větší názornost jsou na obr. 2a podrobně nakresleny jen tři stupně. Na vstupu stupně S10 je budicí signál U a výstup 12 stupně S1 se přivádí do převodníku 1_3 (viz obr. la). Odborník zjistí, že výstup 17 ze stupně S10 se nepoužívá, takže sčítačku 17a a násobičku 17b je možno vypustit.
Na obr. 2b je naznačen jediný stupeň Sn filtru 10 z křížových článků. Vstup (jL) do tohoto stupně se přivádí na jeden vstup první sčítačky 18, jejíž výstup je Yn (i) . Druhý vstup této první sčítačky 18, který se přivádí na její odčítací vstup, se odvozuje z výstupu první násobičky 19, která násobí koeficient výstupem bn(i - 1) ze zpoždovacího obvodu 22. Výstup ze zpoždovacího obvodu 22 se také přivádí do druhé sčítačky 21, která na druhý vstup dostává výstup z druhé násobičky 20. Druhá násobička 20 násobí koeficient К výstupem z první sčítačky _1_8, který je ovšem roven Yp (_i) . Výstup z druhé sčítačky 21 je b^+^ (i) . Jak je patrno, index u Y a b určuje stupeň, ve kterém se data používají, zatímco číslo v závorce označuje cykl, v němž se data generují. Zpoždovací obvod 22 provádí funkci zpoždění o jeden časový cyklus jako například posuvný registr. Jednou za každý časový cyklus se přivede nová hodnota U (i) dat (nebo Y^j(i.)) na stupeň S10, jakožto budicí signál U. Takto se musí během cyklu v každém stupni filtru 10 z křížových článků provést dvě násobení a dvě sčítání, tj. při četnosti dat podle obr. Ib je nutno tyto čtyři operace realizovat v každém stupni filtru 10 během 100 /is. Filtr 10 z křížových článků na obr. 2a byl navržen s deseti stupni; ovšem odborníku je známo, že počet stupňů lze při návrhu zvolit podle požadované kvality zvuků, syntetizovaných filtrem 10. Bylo zjištěno, že desetistupňovým filtrem z křížových článků je možno generovat syntetickou řeč, která je prakticky nerozlišitelná od skutečné lidské řeči.
Je zřejmé, že během kteréhokoli časového cyklu musí deset stupňů filtru 10 z křížových článků provést dvacet operací násobení a dvacet operací sčítání/odčítání. Dále zjistíme, že všechny tyto operace není možno provádět současně, neboř Υ^θ je nutno vypočítat dříve než Y , které je nutno vypočítat dříve než Υθ atd., v každém časovém cyklu. Během téhož časového cyklu je také nutno vypočítat b1Q až b^ a vložit je do zpožďovacích obvodů 22 jednotlivých stupňů pro použití v následujícím časovém cyklu. Proměnné Y a b, definované na obr. 2b, jsou také naznačeny ve stupních S1, S9 a S10 na obr. 2a. Rovnice udávající vztahy mezi jednotlivými proměnnými Y a b jsou uvedeny v tab. I. Je nutno poznamenat, že proměnné Y a b a také koeficienty jsou několikamístná čísla; koeficienty až Κ^θ se mohou pohybovat v dekadickém ekvivalentu mezi plus jedničkou a minus jedničkou a periodicky se nastavují popsaným způsobem.
Na obr. 3 jsou v názorné podobě naznačeny jednotlivé mezivýsledky, získané z násobiček a sčítaček N-stupňového filtru z křížových článků; vodorovná osa znázorňuje čas a svislá jednotlivé stupně N-stupňového filtru 10 z křížových článků. Např. v N-tém stupni jsou naznačeny mezivýsledky -Kn«bn a Κη·Χη* generované násobičkami 19 a 20 (viz obr. 2b) a mezivýsledky Yn a bzískávané ze sčítaček 18 a 21 (obr. 2b). Časově musí být mezivýsledek —η’—n 9enerov^n dříve, než se může získat Yfi; Yn se musí generovat dříve, než se může generovat Κη·Χη a ϋη·Χη se musí generovat před vytvářením bn+i« Podle naznačeného časového měřítka vyžaduje operace sčítání intervalu 5 yUs, zatímco násobení potřebuje delší časový
CS 266 303 B2
úsek. Co se týká vzájemných vztahů generování mezivýsledků v jednotlivých stupních, je patrno, že výstup z operace sčítání musí být к dispozici před spuštěním operace násobení .rKn».b.n, jak je naznačeno šipkou 2j>. Tato skutečnost vynucuje vložení intervalu 23 prázdné operace mezi operaci sčítání bn+1 a operaci násobení -Kn»bn, když se může během libovolné- ho intervalu 5 /is spustit pouze jedna operace sčítání a jedna operace násobení, jak je p<il.ino z J. J ničívaly 24 pLázdných operací яе vkládají mezi druhé operace sčítání a následující operace násobení z důvodů symetrie. Jak je patrno, operace, naznačené ve všech stupních N-stupňového filtru z křížových článků, se mohou provádět současně v pořadí vyobrazeném na obr. 3 a příslušné mezivýsledky budou к dispozici podle potřeby. Obr. 3 znázorňuje celkový charakter a použitelnost číslicové realizace několikastupňového filtru z křížových článků, kterou popíšeme. Je třeba poznamenat, že znázornění na obr. 3 ukazuje operace prováděné během jednoho ze zmíněných časových cyklů. Časový interval 5 /is pro operaci sčítání byl zvolen při návrhu, protože odpovídá integrovaným obvodům typu MOS s kanálem p. Podle přání je ovšem možno použít jiné časové intervaly. <? * \ . v ' !
Na obr. 4 je podobné vyobrazení jako na obr. 3 s tím, že obr. 4 představuje číslicovou realizaci ekvivalentu desetistupňového filtru 10 z křížových článků a horizontální osa byla prodloužena, tak aby byl patrný více než jeden časový cyklus. Každý časový cyklus byl kromě toho rozdělen na dvacet intervalů TI až T20, z nichž každý má s výhodou trvání řádu 5/is. Jak jsme se již zmínili, je možno volit i jiné trvání. Na obr. 4 jsou také označeny časové cykly i - 1 a i + 1, aby se usnadnilo porovnávání příchodu mezivýsledků ve filtru 10 s požadavky, jež vyplývají z matematického výrazu, reprezentujícího filtr 10 na tab. I.
V prvním intervalu TI se přivádí budicí signál U na vstup; výstup Y^ z filtru dostaneme v intervalu Til. Z porovnání obr. 4 a tab. I je patrno, že jednotlivé vstupy, potřebné pro operace násobení, jsou к dispozici, když je jich zapotřebí, a také, že jednotlivé vstupy pro operace sčítání jsou к dispozici, když je jich zapotřebí. Z obř. 4 dále vidíme, že operace sčítání (která trvá jeden interval) se spouští a ukončuje v každém intervalu, a podobně, že operace násobení set se také spouští (a dokončuje) v každém intervalu, i když určitá spuštěná operace násobení bude dokončena až po osmi intervalech. Zařízení, provádějící tyto operace, popíšeme podrobněji s odkazy na obr. 5, 9 a 10a až lOd.
Uvedli jsme, že operace násobení a sčítání se s výhodou spouštějí v každém časovém intervalu. Ve skutečnosti se počet časových intervalů v jednom cyklu s výhodou rovná dvojnásobku stupňů ekvivalentního filtru z křížových článků. Pro osmi nebo dvanáctistupňový filtr z křížových článků tedy bude mít ekvivalentní číslicový filtr s výhodou šestnáct nebo čtyřiadvacet intervalů na jeden cykl. Z obr. 3 a 4 vyplývá, že počet časových intervalů, přidělený operaci násobení, částečně závisí na počtu intervalů v cyklu. Osm intervalů je možno použít pro operaci násobení v desetistupnovém ekvivalentním číslicovém filtru, zatímco šest intervalů je možno použít v osmistupňovém ekvivalentním číslicovém filtru, pokud se řídíme zapojením číslicového ekvivalentního filtru podle obr. 3 a 4. Odborníkům bude ovšem zřejmé, že počet intervalů pro operaci násobení určuje počet bitů, které se násobí, tj. omezuje počet bitů zobrazujících koeficienty К . Ve většině aplikací bude počet bitu, přidělených koeficientům Kn v uspořádání podle obr. 3 a 4, poskytovat velice přijatelnou syntetickou řeč. Jestliže se ovšem bude požadovat ještě větší přesnost zobrazení koeficientů К , není možné spouštět operace násobení a sčítání v každém intervalu cyklu a bude nutno vložit nějaké zpoždění v některém bodu cyklu. Potom cyklus bude ovšem vyžadovat delší čas к dokončení a tím se sníží četnost dat (a kmitočtová charakteristika) systému.
Jak je patrno z obr. 4, získávají se'nebo mohou se získávat mezivýsledky a bjjj ovšem jak jsme se zmínili u obr. 2a, tyto konkrétní mezivýsledky nejsou při číslicové realizaci filtru z křížových článků zapotřebí. S odkazem na obr. 5 ukážeme, že mezivýsledky K10'—10 a — 11 nebo některá jiná čísla se často snadněji generují a zanedbávají než aby se zařízení bránilo v provádění těchto výpočtů. V dalším popíšeme, jak se operace násobení, prováděná násobičkou 18 (obr. 1), dá udělat místo výpočtu K1Q.Y10 v zařízení.
CS 266 303 B2
Na obr. 5 je naznačeno blokové schéma číslicové realizace ekvivalentního filtru 10 z křížových článku. I'.illr obsahu je mat icovou násobičku 3J, fičítauku/odčítačku 3 3, první zpožďovací obvod 34 pro zpoždění o jeden interval, druhý zpožďovací obvod 35 a paměř 36. Dala, vstupující a vyrJupujíeí z l«’rhlo jednolrk v každém z dvacet i Časových intervalů TJ .iž '1’20 (pro ekvivalentní desetistupňový filtr), jsou uvedena na obr. 6. Maticová násobička 30 podle obr. 5 a 6 realizují násobení, které prováděly násobičky 19 a 20 (obr. 2a a 2b) v každém z deseti stupňů filtru z křížových článků. Maticová násobička JO. přijímá vedeními 32 koeficienty Κχ až Κ^θ, uložené v zásobníku 31, a sběrnicí 40 bud Y^ nebo b^. Zásobník JJ s výhodou obsahuje deset posuvných registrů, z nichž každý má deset stupňů. Data uložená v zásobníku JI koeficientů, jsou zobrazena v tab. II a vysílají se do maticové násobičky JJJ vedeními 32. Maticová násobička 30 spouští další operace násobení v každém časovém intervalu (jak je naznačeno na obr. 4), tj. přibližně za každých 5/is. Maticová násobička 30 má s výhodou osm stupňů, jak je patrno z obr. 9. Probíhá řada operací sčítání a pOSUVŮ, jak se data posouvají těmito osmi stupni a data se násobí příslušným koeficientem Kn, uloženým v zásobníku 31 koeficientů. Operace násobení trvá 40 /is; protože nová operace násobení začíná každých 5/is, je v každém, okamžiku v různém stupni rozpracování osm násobení. Osm intervalů výpočtu maticové násobičky 30 je patrno z obr. 6 spolu se vstupy a výstupy násobičky. Například vstupy násobičky v intervalu TI vystupují z násobičky o osm intervalů později, tj. v T9. Koeficienty, uložené v zásobníku JJ, jsou uloženy jako devítibitová čísla s jedním dalším bitem pro znaménko. Jak je zde uvedeno, tato čísla mají rozsah od -1 do +1 (v desítkové soustavě), což zjednodušuje strukturu maticové násobičky 30.
Výstup maticové násobičky 30 se přivádí do sčítačky-odčítačky JJ. Tento výstup má v navrženém uspořádání podobu třináctibitového paralelního kanálu: 12 bitů datových a 1 bit pro znaménko. Je ovšem zřejmé, že počet bitů datového kanálu je otázkou návrhu. Druhý vstup přichází do sčítačky-odčítačky JJ přes druhý přepínač 37 a tvoří jej v intervalu TI budicí signál U, v intervalech T2 až T10 výstup sčítačky-odčítačky JJ, v intervalech Til až Tl_9 výstup druhého zpožďovacího obvodu 35 a v intervalu T20 výstup paměti JJ. Pro názornost jsou na vstupu sčítačky-odčítačky 33 nakresleny jednoduché jednopólové spínače 37A až 37D; je ovšem zřejmé, že výhodnější bude použít spínačů v pevné fázi jak pro tyto spínací funkce, tak i pro ostatní naznačené spínací funkce. Výstup sčítačky-odčítačky 33 se přivádí na spínač 37B druhého přepínače 37, na vstup prvního zpožďovacího obvodu J4 pro zpoždění o jeden interval a na spínač 38A prvního přepínače 38, zapojeného na vstup sběrnice 40 . Výstup ze sčítačky-odčítačky 33 je také realizován jako 13 bitů Široký kanál, který se ve zpoždovacím obvodu 34 zpozdí o jeden interval, než je přiveden na vstup druhého zpožďovacího obvodu 35 a na spínač 38B prvního přepínače J8. Druhý zpoždovací obvod 35 uloží data z třináctibitového kanálu do třinácti posuvných registrů, z nichž každý má osm stupňů. Druhý zpožďovací obvod 35 je uspořádán tak, že posuv se provádí pouze v intervalech TJJ až T2. Výstup druhého zpožďovacího obvodu 35 se přivádí na spínače J7c a 39. Tento spínač 39 se zavírá v intervalu T20 pro časování výstupu Y^ filtru do paměti 36. Výstup 12 paměti 36 se přivádí do analogově číslicového převodníku 13 (obr. la) a na spínače 3_7d a 38c.
Spínač 37b je uzavřen v intervalech T2 až T10, spínač 37c je uzavřen v intervalech Til až T1J a spínač 37d je uzavřen v intervalu T20. Spínač 38a je uzavřen v intervalech T13 až TI, spínač 38b je uzavřen mezi intervaly T3 až T12 a spínač 38c je uzavřen v intervalu T2. Druhé strany spínačů 38a, 38b a 38c jsou sběrnicí 40 spojeny se vstupem maticové násobičky JO.
Na obr. 6 jsou uvedeny jednotlivé mezivýsledky, jež se objevují v obvodu podle obr. 5 v časových intervalech TI až T20. Na obr. 6 vidíme, že jedním vstupem násobičky je informace o koeficientu K^, zatímco druhý vstup se mění podle toho, který ze spínačů 38a až 38c je uzavřen. V intervalu TI je uzavřen spínač 38a, jak jsme již uvedli, takže na vstup násobičky se přivádí výstup sčítačky/odčítačky 3J, v tomto případě b2(i - 1). Na druhý vstup sčítačky/ /odčítačky 33 současně přichází budicí signál U(i). V intervalu T2 přichází na vstup násobičky 30 hodnota bx(i - 1), která podle obr. 5 přichází z výstupu paměti 36 přes spínač 38c.
CS 266 303 B2
Podle Obr. 6 je na výstupu paměti 36 Υχ(i - 1), avšak podle poslední položky tab. I zjistíme, že b^ (i__2__i) je rovno zpožděnému γχ (_i), t j. (i - 1) . V intervalu T2 se na druhý vstup sčítačky/odčítačky 33 přivádí okamžitý výstup této sčítačky/odčítačky, t j. v tomto případě X10(i)· v intervalu T3 jsou vstupy násobičky hodnoty K]Q a X10<í)· která se odvozuje z výstupu prvního zpožďovacího obvodu 3 4. Výsledky tohoto násobení ovšem nebudou к dispozici dříve než v intervalu ICLk' kily н<» ρΓ i vedou jako jodon z<» vntupů nč f I áčky/oelČÍ kačky 33.
V intervalu Til se na druhý vstup sčítačky/odčítačky 33 přivádí výstup druhého zpoždovacího obvodu 35. První výraz, přicházející z druhého zpožďovacího obvodu 35, je (i - 1) , který se poprvé objevil na výstupu tohoto zpoždovacího obvodu 35 v intervalu T2 a na tomto výstupu zůstal, neboř zpoždovací obvod 35, jak jsme se zmínili, se mezi intervaly T3 a Til neposouvá.
V intervalu T13 se na vstup maticové násobičky 30 opět přivádí výstup sčítačky/odčítačky 33 přes spínač 38a. V intervalu T20 vystupuje hodnota Y^ (.i) z druhého zpožďovacího obvodu 35 do paměti 36 a současný výstup paměti 36, Y^ (i - 1), se přivádí na druhý vstup sčítačky-odČítaČky 33 přes spínač 37D pro získání hodnoty b^(i - 1), jak jsme se zmínili dříve. Paměť 36 si uloží výstup Y^ filtru na jeden cyklus.
Filtru podle obr. 5 je také možno použít v aplikaci ekvivalentní N-stupňovému filtru s M-stupňovou násobičkou (například mohou koeficienty mít M + 2 bity), jestliže se mezi sčítačku-odčítačku 33 a první zpoždovací obvod 34 vloží posuvný registr se zpožděním rovným N - M - 2 časových intervalů. Spojení ke spínači 38A se pak provede z výstupu tohoto přidaného posuvného registru a zpoždění v druhém zpoždovacím obvodu 35 se nastaví na N + Μ - 1. Tento zobecněný tvar filtru je znázorněn na obr. 9. V uspořádání podle obr. 5 je N - M - 2 rovno nule, takže v tomto případě není zapotřebí žádného zpoždění.
Ve filtru z obr. 5 a tab. II je N + Μ - 1 rovno sedmnácti, což odpovídá počtu časových intervalů mezi okamžikem příchodu dat do druhého zpoždovacího obvodu 35 a výstupu dat z druhého zpoždovacího obvodu 35. Např. v tab. II je hodnota b^ (i - 1) vložena do druhého zpoždovacího obvodu 35 v časovém intervalu T2 a vychází z něj v intervalu Ti 9, tedy o sedmnáct intervalů později. Druhý zpoždovací obvod 35 má však v tomto provedení jen osm stupňů a přídavné zpoždění nastává v intervalech T3 až Til, kdy se druhý paměťový obvod 35 tvořený posuvným registrem neposouvá. Těchto devět Časových intervalů probíhá v době, kdy hodnoty Y2 - Y10 jsou na výstupu prvního zpoždovacího obvodu 34 a nemají být zaváděny do druhého zpoždovacího obvodu 35, jak je zřejmé z tab. II. Počet stupňů ve druhém zpoždovacím obvodu 35 plus počet časových intervalu v jednom cyklu, kdy se data ve drobném zpoždovacím obvodu 35 neposouvájí, se tedy rovná zpoždění N + Μ - 1 časových intervalů ve druhém zpoždovacím obvodu 35.
Jak je patrno, ekvivalentní desetistupňový filtr podle obr. 5 provádí operaci filtrace, dosahovanou filtrem 10 z křížových článků podle obr. Ia s vyhovující rychlostí. Například v navrženém uspořádání se přivádí budicí signál U s četností 10 kHz, tj. každých 10 0/is a základní operace jak ve sčítačce/odčítačce 33, tak i v maticové násobičce 30, v prvním zpoždovacím obvodu 34 a v druhém zpoždovacím obvodu 35 se provádějí v nominálních intervalech po 5/is. Odborníkům je známo, že tyto rychlosti jsou dobře dosažitelné použitím prvků MOS velké integrace s kanálem typu p, takže celý filtr podle obr. 5 lze realizovat v podobě poměrně levného prvku MOS velké integrace s kanálem typu p pro syntézu řeči nebo generování složitých průběhů.
Odborníkům je zřejmé, že základní uspořádání desetistupňového filtru z křížových Článků podle obr. 5 je také použitelné pro Číslicové filtry ekvivalentní filtrům z křížových článků s jiným počtem stupňů. Pro zvolené uspořádání filtru bylo vybráno deset stupňů, protože desetistupňové filtry z křížových článků byly zvoleny ministerstvem národní obrany (Department of Defense) vlády USA jako standard pro použití v obvodech pro syntézu řeči s predikčním kódováním. Pokud by se ovšem vyskytlo přání použít tohoto vynálezu к realizaci číslicového filtru s jiným počtem ekvivalentních stupňů, je třeba poznamenat, že počet
CS 266 303 B2 intervalu, na který se rozdělí jeden cyklus, má být nejméně dvojnásobkem poctu ekvivalent“ nich stupňů. Ve zvoleném uspořádání je počet intervalů (dvacet) roven dvojnásobku počtu ekvivalentních .stupňů (deset). Kdybychom chtěli například dvanáctistupňový ekvivalentní filtr, počet intervalů uvnitř cyklu by měl být roven nejméně dvacetičtyřem a popsané základní řešení by пр poněkud rozšířilo. Лг třeba рот namona t , ·>.«·» pro dv.lnác 11 n I upňový .·)< v I V.I loni II i Čín lícový lilii bude maticová násobička 30 potřebovat deset intervalů к provedení násobení, pokud vycházíme z popsaného základního schématu, tj. v každém intervalu se spouští jedna operace sčítání a jedna operace násobení. To je patrno z obr. 3, jestliže dosadíme N = 12 a příslušně doplníme diagram. Kdyby se ovšem podržela doba 5 /is pro každý interval, bude četnost dat, dosažitelná dvanáctistupňovou verzí, nižší než u desetistupňové verze filtru. Také je třeba poznamenat, že při zvětšení zpoždění v maticové násobičce 3J0 je možno také zvětšit počet bitů koeficientů až 2 celkového počtu deseti na celkový počet dvanácti bitů. Obdobně pokud bychom chtěli ekvivalentní osmistupňový filtr, bude počet intervalu v cyklu nejméně Šestnáct a vložením N = 8 na obr. 3 zjistíme, že čas průchodu násobičkou 30 by byl Šest itnervalů. V tomto případě by použití maticové násobičky, kterou popíšeme podrobněji v dalším, omezilo počet bitů koeficientů v zásobníku 31 na maximálně 8 bitů. Ovšem jak jsme se dříve zmínili při popisu obr. 4, je možno v některých případech použít dokonce více časových intervalů к provádění operace násobení. Může to být žádoucí při návrhu, jestliže se požaduje zvýšená přesnost koeficientů К . Tato zvýšená přesnost bude vyžadovat více bitů koeficientů Kn, což naopak vyžaduje větší zpoždění v maticové násobičce 3_0. Základní řešení ekvivalentního filtru podle obr. 5 se tím poněkud modifikuje, protože operace násobení a sčítání pak nezačínají v každém časovém intervalu. Odborníkům je zřejmé, že v tomto případě je nutno některé z mezivýsledků dočanně uložil, což vyžaduje dopLnění filtru podle obr. 5 přídavnými pamětovými prvky. Tyto modifikace zde podrobně nepopisujeme, nebot takové modifikace číslicové realizace filtru patří mezi schopnosti zkušeného návrháře číslicových obvodu.
Již dříve jsme uvedli, že číslicovým filtrem podle obr. 5 se generují mezivýsledky
K]θ.ϊIQ(i)a bЦ(i), ale Že tyto mezivýsledky se nepoužijí, protože jich při realizaci filtru l_0 podle obr. la není zapotřebí. Připomeneme-li si, že data V z hlasného či nehlasného zdroje se násobí činitelem A zesílení v násobičce 18 ve známém obvodu pro syntézu řeči podle obr. la, zjistíme, že toto násobení je možno provést maticovou násobičkou 30 v té době, kdy násobička generuje součin Κ^θ . (i.) . Uspořádání číslicového filtru s prováděním násobení V(i). A je naznačeno na obr. 6. V tab. IV jsou naznačeny jednotlivé mezivýsledky, generované v obvodu podle obr. 7.
Z obr. 6 a tab. IV je patrné, že tento obvod včetně generovaných mezivýsledků je podobný obvodu na obr. 5 s modifikacemi, jež následují. Vztahové značky na obr. 6 jsou stejné jako na obr. 5. Data V, jež se mají násobit koeficientem A, se přivádějí přes spínač j38_D na jeden vstup maticové násobičky 30 v intervalu T3 místo výstupního signálu z prvního zpoždovacího obvodu 34 pro zpoždění o jeden interval. V intervalu Til, když se násobení dokončí a vznikne U(i + 1) , tj. A.V(i + 1) , vstoupí na druhý vstup sčítačky-odčítačky 33, místo výstupu byQ (i - 1) z druhého zpoždovacího obvodu 35, logické nuly. Koeficienty K, a také zesílení A se ovšem musí vložit do zásobníku 31 koeficientu. Jak je patrno z obr. 6 a tab. IV, toto uspořádání začleňuje funkci, prováděnou násobičkou 18 na obr. la, do číslicové realizace filtru 10 z křížových článku. Data uložená v zásobníku jsou uvedena v tab. V. Aktualizace činitele zesílení A se s výhodou provádí stejně často jako aktualizace koeficientů Kn v zásobníku 31.
Na obr. 7 je naznačena ve formě blokového schématu maticová násobička 30. Vedení
- 1 až 32 - 9 přijímají nejnižší až nejvyšší bit koeficientů ze zásobníku 31 koeficientů. Na vedení 32-10 vstupuje znaménko ze zásobníku 31 koeficientů. Druhý vstup do, maticové násobičky 30 přichází po sběrnici £0. Vedení 40-1 až 40 - 12 sběrnice 40 přenášejí nejnižší až nejvyšší bit a vedení 40 - 13 přenáší znaménko dat na sběrnici 40.
Na obr. 7 je matice prvků označených písmeny А, В, C a D (prvky Ьег označení jsou
CS 266 303 B2 také typu A, tj. odpovídají také obr. 8a). Prvky A až D odpovídají obvodům na obr. 8A až 8D. Na obr. 8A až 8D jsou obvody ohraničeny čárkovaně s určitými vodiči překračujícími tyto čárkované přímky. Relativní poloha vodičů překračujících čárkované přímky na obr. 8Л až 8D odpovídá co do umístění vodičům, spojujícím prvky A až D na obr. 7. Na obr. 7 jsnu prvky uspořádány do osmi řad a dvanácti sloupců. Osm řad odpovídá dříve zmíněným osmi stupňům maticová násobičky 10. Tyto nl.tiphě Jsou oznniViiy nn pravé nlrnnČ obr. 7 a obsahují osm buněk 51 posuvného registru, připojených к vedení 40 ~ 13. Dvanáct sloupců odpovídá dvanácti bitům číslicových dat na vedeních 40-1 až 40 - 12, vstupujících do maticové násobičky 30. Data na vedeních 40-1 až 40 - 13 postupují maticovou násobičkou 30 stupeň za stupněm jakoby posuvným registrem, zatímco probíhá jejich násobení v maticové násobičce 30, Doba Šíření kterýmkoli stupněm je řádu 5 ^s, jak bylo dříve uvedeno.
Vedení 32-1 ze zásobníku 31 je připojeno na jeden vstup dvanácti součinových hradel 51-1 až 52 - 12, jejichž druhé vstupy jsou jednotlivě připojeny na vedení 40-1 až 40 - 12. Výstupy těchto hradel 52-1 až 52-12 jsou připojeny na vstupy dílčích Součtů · prvků typu А а В stupně 1 (viz obr. 8A а 8B).
Vedení 32-2 až 32-8 ze zásobníku 31 jsou jednotlivě spojena s koeficientovými vstupy к prvkům typu A (obr. 8A) ve stupních 1 až 7 maticové násobičky 30. Vedení 32 - 9 je připojeno na stejně označený vstup prvků typu C stupně 8 (viz obr. 8C). Data na vedeních 40-1 až 40-12 se přivádějí к datovým vstupům a prvků stupně 2 a přes ně prostřednictvím jejich datových výstupů a dále ke stupňům 2 až 8. Vstup b dílčího součtu prvků stupně 1 se odvozuje z výstupů hradel 52-1 až 52 - 12. V dalších stupních se odvozuje z výstupů a dílčího součtu nejbližšího vyššího bitu předchozího stupně s výjimkou vstupu dílčího .
součtu prvků v nejvyšším bitu (řádu), kde se vstup dílčího součtu odvozuje z ‘přenosového výstupu c z nejvyššího bitu předešlého stupně. Přenosové výstupy c* z prvků jsou kromě toho v každém stupni spojeny do série s přenosovými vstupy c prvků.
Podle obr. 10A data ze zásobníku 31 určují, zda se výstup b~ dílčího součtu spojí přímo se vstupem b dílčího součtu přes přenosové hradlo 60 nebo s výstupem obvodu 62 pro exklusivní součet přes přenosové hradlo 61. Součinové hradlo 63 a obvod 64 pro exklusivní součet se řídí signály na datovém vstupu a a na vstupu b dílčího součtu. Obvod 62 pro exklusivní součet se řídí výstupem z obvodu 64 pro exklusivní součet a signálem na přenosovém vstupu c. Samočinné hradlo 65 se řídí výstupem obvodu 64 pro exklusivní součet a signálem na přenosovém vstupu e a jeho výstup se přivádí spolu s výstupem hradla 63 na vstupy součtového obvodu 66, jehož výstupem je přenosový výstup c. Datový výstup b odpovídá signálu na datovém vstupu b zpožděnému sekcí posuvného registru 62, sestávající např. ze dvou invertorů. Jak je patrno z obr. 8C, prvek typu C je identický s prvkem typu Λ s tím rozdílem, že neobsahuje datový výstup a' ani posuvný registr 62· Na obr. 8B je naznačen prvek typu B, který obsahuje jen posuvný registr 67', spojený s datovým vstupem a a datovým výstupem a~, a součinové hradlo 68, připojené к datovému vstupu a a vstupu b dílčího součtu a vytvářející přenosový výstup c'. Na obr. 8D je prvek typu D, vytvářející přenosový výstup c' ze součinového hradla 6 8', do kterého vede datový vstup a a vstup b dílčího součtu.
Jak je patrno, v každém stupni se počítá nový dílčí součet včetně potřebného předávání informace o přenosu mezi prvky stupně, avšak výstup dílčího součtu se bud nemění, jestliže na vedení ze zásobníku 31 koeficientů je logická nula, nebo se přičítá к vstupním datům, aby se získal výstup dílčího součtu, jestliže na vedení ze zásobníku 31 koeficientů je logická 1. Dílčí součty se posouvají do dalších nižších míst, jak data procházejí maticovou násobičkou. V každém stupni se ovšem nejnižší bit ztrácí. Koeficienty Kn ze zásobníku 21 však odpovídají číslům v rozsahu -1 až +1. Jestliže tedy se na vedeních 32 1 až 32 - 9 objeví logické nuly, výstup z maticové násobičky bude nulový a naopak, jsou-li všechny bity na vedeních 32-1 až 32-9 jedničkové, data, vystupující po sběrnici 40 projdou maticovou násobičkou beze změny. Pro ostatní možné kombinace dat na vedeních 32-1 až 32 - 9 budou data na sběrnici 40 odstupňována mezi nulou a hodnotou vstupující na sběrnici 40 ve 29 možných krocích podle velikosti dat na vedeních 43-1 až 32-2.
CS 266 303 B2
Jak data procházejí jednotlivými stupni maticové násobičky 30 jakoby posuvným registrem, data ze zásobníku 3JL koeficientů se různě posouvají, jak je patrno například z tab. III a tab. V, aby se zajistilo, že správný bit správného koeficientu přijde ve správný okamžik do maticové násobičky 3U_* Na obr. 8Л až 8C nejsou znázorněny časovači impulsy pro řízení • čelil O ohvo<li’i, l.-ik .iby j > i .1 < < > v.t 1 у Hřívo zmíněným zpíntobrm jako ponuvného rog i л t r u·, proloží* jak je dobře známo odborníkům, tyto časovači funkce lze získat přidáním hradel, řízených hodinami, do obvodů podle obr. 8Л až 8C nebo použitím logických obvodů, používajících nabíjení předem a podmíněného vybíjení, a proto tyto úvahy o časování zde nejsou podrobně uvedeny.
Podle obr. 7 se údaj o znaménku na vedení 40 - 13 jen zpozdí v osmém stupni maticové násobičky 30 v prvcích posuvného registru 51 a pak se porovnává ,s údajem o znaménku ze zásobníku 31 koeficientů na vedení 32 - 10 v obvodu 53 pro exklusivní součet, čímž se získá správné znaménko výstupních dat podle obvyklých pravidel násobení.
Podrobně byla popsána maticová násobička 30 naznačená na obr. 5 a 6. Zbývající prvky, jako je sčítačka-odčítačka 33.' první zpoždovací obvod 34, druhý zpoždovací obvod 35 a paměť 36. nejsou podrobně popsány, protože tyto obvyklé prvky jsou dobře známy. Sčítačka— -odčítačka 33 dostává na svých vstupech data včetně znaménka a musí rozhodovat, zda se žádá operace odčítání nebo sčítání podle znaménka přicházejícího s daty.
Tabulka I
Rovnice Stupeň Yio(i) = - K10b10<i - 11 10
Y, (i) = Y10(i) - Kjbgli - 1) 9
bi0(i) = b9(i - 1) + KgYgíi) 9
Y8 = Y9(i) - Va(i - 11 8
b9(i) - ba'1 ' 1) + KgYg(Í) 8
Y7(i) = Ya(i> - K?b7(i -1) 7
b8(i) = b7 (i - 1) + k7y7(i) 7
Y6(i) = Y7(Í) - w1 - 6
b7 (i) = b6(i - i) + K6Y6(i) 6
Y5(i) = Y6(i) - K5b5(i - 1) 5
b6(i) = b5(i - 1) 4- K5Y5(i) 5
Y4(i) = Y5(i) - K4b4li - η 4
b5(i) = b4(i - i) + k4y4U> 4
Y3 (i) = Y4(i) - K3b3(i - 1) 3
b4(i) = b3(i - 1) + K3Y3(i) 3
Y2(i) = Y3(i) - K2b2(i - 1) 2
b3 (i) = b2(i - 1) + K2Y2(i) 2
(i) = Y2(i) - K1b1(i - 1) 1
b2(i) = bj(i - 1) + K1Y1(i) 1
bx (i) = Yj(Í)
CS 266 303 B2
Tabulka II
Interval Vstupy násobičky 1 2 Výstupy násobičky a jeden vstup sčítačky-odčítačky Druhý vstup sčítačky-odčítačky Výstup sčítačky-odčítačky Výstup zpožďovacího obvodu Výstup pos. re gistru Výstup paměti
11 K2 bj (i - 1) —К IO * l),o(i - 1) U(i) b2(i I) Ьд(1 1) li.iO 11 Y|(< .... π
T2 -K, b| (i - υ -K9 · b9(i - n Y|o(i> Υ,ο(ί) b2(i - 1) b,o (i - 1)
T3 К 10 Yio(<) -K8 · b8(í - 1) Y9(i) Y9(0 Yjo(i)
T4 к9 Y9(i> -K7 ‘ b7(i - 1) Y8(i) Y8(Í) Y9(i)
T5 Kg ve(i) -K6 · b6(i - 1) Y7{i) Y7(i) Ys(i)
T6 κ7 γ7ω -k5 · b5(i - υ γ«ω γβω Y7(i)
T7 Кб Υ6(ί) -K4 · b4 (i - 1) Y5(i) Y5(i) γβω
T8 Κ5 Y5(i) -K3 · b3(i - 1) γ«ω Y4(i) vs(i)
T9 κ4 γ4(ί) -K2 · b2(i- 1) Y3(i) Yj(i) Y9w
T10 Кз Y3(i> -K, · b,(i - 1) Y2(·) Y2 () Y3(Í)
Til κ2 Ya (i) К io. * Yjo (·) b|o(i — 11 Yi(i) Y2 (i) b10(i - υ
T12 Κι Y| ω K9 · Y9(i) b»(i - 1) blt (i) Yj (0 b9 (i - n
T13 -Κ,ο bio(i) Ke · Ye(i) b,(i - 1) bio (i) bil (i) b8(i - υ
T14 9 b9(i) K7 · Y7(i) b,(i - 1| b9(i) Ь10(· 1 b7 (i - n
T15 8 b8(i) K6 · Y6(il b«(i - 1) be (i) b9 (i) b6(i - n
T16 7 b7(i) K5 · Ys(i) b5(i - 1) b7(i) bB(i) bs (i - υ
T17 β bA <») K4 · Y4(i) b, (i - 11 b6(i) b7(i) b4(i - i)
T18 5 b5(i> K3 · Y3(í) b,(i - 1) bs (i) bji) b3 (i - υ
T19 4 b4 (i) K2 · Y2 (i) b2(i - 11 b4 (i) b$(i) b2 (i - υ
T20 3 bj(i) K, · Y, (i) b,(i - 1) b3(i) b4(i) Y| (i) Y| (í - υ
TI 2 b, (i) —к 10 · bio(i) U(i + 1) b2 (i) b3(i) bjj(i) v, (i)
Tabulka III
Data ze zásobníku 31 (obr. 5) v intervalech
Výstup ze zásobníku Intervaly
Bit Řádek TI T2 T3 T4 T5 T6 T7 T8 T9 T10
Til T12 T13 TI 4 T15 TI 6 T17 T18 T19 T20
LSB 32 - 1 K2 K1 K10 K9 co K7 K6 K5 K4 K3
32-2 K2 Kí K10 K9 K8 K7 K6 K5 K4 K3
32-3 K3 K2 K1 K10 Kg K8 K7 K6 K5 K4
32-4 K4 K3 K2 K1 K10 Kg K8 K7 K6 K5
32-5 K5 K4 K3 K2 K1 K10 K9 K8 · K7 K6
32-6 K6 K5 K4 K3 K2 K1 K10 K9 K8 K7
32-7 k7 K6 K5 K4 K3 K2 K1 K10 K9 K8
32-8 K8 K7 K6 K5 K4 K3 k2 K1 K10 K9
MSB 32-9 K9 K8 K7 K6 K5 K4 K3 K2 K1 K10
SIGN BIT 32 - 10 K9 K8 K7 K6 K5 K4 K3 K2 K1 K10
CS 266 303 B2
Tabulka IV
Interval Vstupy Výstupy násobičky a jeden vstup sčítačky-odčítačky «10 · '>l0(i 1) Druhý vstup sčítačky-odčítačky U(i) Výstup sčítačky-odčítačky b2(i 0 Výstup zpožďovacího obvodu b3(i - П Výstup pos. registru U(i> Výstup paměti Υ. (i - 1)
T 1 násobičky
1 »<2 2
l>2 (i I)
T2 -K, bj (i - n —K9 · b9(i — 1) Y.o(i) Yio(i) b2(i - 1) b|0 i - υ
T3 A V (i + 1) -Ke · b8(i - 1) Y9(i) Y9(i) Yio(i>
T4 K9 Y9(í) -K7 · b7(í - 1) Y8(i) Y8(i) Y9(i)
T5 Ke Y8(i) -K6 · b6(i - П Y7(il Y7(i) Y8(i)
T6 K7 Y7W -K5 · b$(i - 1) Ye(i) Y6(i) Y7GI
T7 Ke Y6(i) -K4 · b4 (i - 1) Y$(f) Ys(i) Y6(i)
T8 Ks Ys(i) -K3 · b3(i - 1) Y4(i> Y4(i) Ys (i)
T9 K4 Y«(í> -K2 · b2 (i - 1) Y3(il Y3(i) Y4(0
T1O K3 Y3(Í) -Kj · b,(i- 1) Y2(i) Y2(i) γ3ω
Til K2 Y2(0 U(i + 1) 0 Y1 (i) Y2 (í) bio(i - υ
T12 К, Y1 (i) K9 · Y9 (i) b9(í - 1) U(i + 1) Yi(i> b9(i - υ
T13 — к 10 bio(i) K8 · Y8 (i) b8(i - 1) b10(<) U(i + 1) b8 (i - υ
T14 9 b9(i) K7 · Y7(i) b7(í - 1) b9(i) bio (i) b7(i - η
T15 β be(i) K6 · YJi) b6(i - 1) b8 (i) b9 (i) b8(i - η
T16 -К-» b7 (i) Ks · Ys (i) bs(i - n b7(i> b8 (i) b$ (i - η
T17 β b6(í) K4 · Y4(i) b4(i - n b6(i) b7<i) b4 (i - υ
T18 -K5 b5 (i) K3 · Y3(i) b3(i - υ b$(i) b6(i) b3(i - η
T19 -K4 b4(i) K2 · Y2 (i) b2(i - 1) b4(i) b5(i) b2(i - η
T20 -K3 b3(i) Kj · YJi) ь, (»- υ b3{i) b4(i) Y. (i> YJi- η
TI -K2 b2(i) — K|0 * b|o(i) U(i + 1) b2(i) b3(i) U(i + 1) Y.(Í)
CS 266 303 В2

Claims (8)

1. Číslicový filtr se vstupy Číslicového budicího signálu a číslicových hodnot zobrazujících koeficienty filtru, zejména pro syntetizéry řeči, který sestává ze zásobníku koeficientů spojeného vedením я násobičkou, ze nč í tačky-odčí kačky, jej í>. vnlup je fi|><))<4> я v ý я tupeni násobičky a výstup je připojen к paměťovému obvodu, jehož výstup je spojen sběrnicí se vstupem násobičky, vyznačený tím, že ke sběrnici (40) na vstupu násobičky (30) je připojen první přepínač (38) к selektivnímu připojování výstupu sčítačky-odčítačky (33) a výstupu paměťového obvodu (41) na vstup násobičky (30).
2. Číslicový filtr podle bodu 1, vyznačený tím, že paměťový obvod (41) obsahuje první zpoždovací obvod (34) s krátkou dobou zpoždění, druhý zpožďovací obvod (35) s delší dobou zpoždění a paměť (36) spojenou přes první přepínač (38) se vstupem násobičky (30), přičemž výstup prvního zpožďovacího obvodu (34) je připojen ke vstupu násobičky (30).
3. Číslicový filtr podle bodu 1 nebo 2, vyznačený tím, že na vstupu sčítačky-odčítačky (33) je zapojen druhý přepínač (37) к selektivnímu připojení výstupu sčítačky.-odčítačky (33) , druhého zpožďovacího obvodu (35) a paměti (36) ke vstupu sčítačky-odčítačky (33).
4. Číslicový filtr podle bodu 3, vyznačený tím, že první přepínač (38) obsahuje spínače (3ΘΑ, 38В, 38C) pro selektivní připojení výstupu sčítačky-odčítačky (33), výstupu prvního zpožďovacího obvodu (34) nebo výstupu paměti (36) ke vstupu násobičky (30), a druhý přepínač (37) obsahuje spínače (37В, 37C, 37D) к selektivnímu připojení výstupu sčítačky-odčítačky (33), výstupu druhého zpožďovacího obvodu (35) nebo výstupu paměti (36) ke vstupu sčítačky-odčítačky (33).
5. Číslicový filtr podle bodu 3 nebo 4, vyznačený tím, že mezi druhým zpožďovacím obvodem (35) a pamětí (36) je zapojen třetí přepínač (39) к selektivnímu připojování výstupu druhého zpožďovacího obvodu (35) ke vstupu paměti (36).
6. číslicový filtr podle jednoho z bodu 3 až 5, vyznačený tím, že zdroj (11) budicího signálu je připojen ke vstupu sčítačky-odčítačky (33) přes spínač (37A) druhého přepínače (37) .
7. číslicový filtr podle jednoho z bodů 1 až 5, vyznačený tím, Že zdroj (11) budicího signálu je připojen sběrnicí (40) ke vstupu násobičky (30) přes spínač (38D) prvního přepínače (38) .
8. Číslicový filtr podle jednoho z bodů 2 až 7, vyznačený tím, že výstup číslicového signálu (12) je připojen к číslicově analogovému převodníku (13), 2a kterým je zapojen reproduktor (14).
CS784019A 1977-06-17 1978-06-19 Digital filter CS266303B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US80746177A 1977-06-17 1977-06-17

Publications (2)

Publication Number Publication Date
CS401978A2 CS401978A2 (en) 1989-02-10
CS266303B2 true CS266303B2 (en) 1989-12-13

Family

ID=25196423

Family Applications (1)

Application Number Title Priority Date Filing Date
CS784019A CS266303B2 (en) 1977-06-17 1978-06-19 Digital filter

Country Status (20)

Country Link
JP (1) JPS547838A (cs)
AR (1) AR218313A1 (cs)
AU (1) AU520897B2 (cs)
BE (1) BE868205A (cs)
BR (1) BR7803856A (cs)
CA (1) CA1118104A (cs)
CH (1) CH633922A5 (cs)
CS (1) CS266303B2 (cs)
DE (1) DE2826570A1 (cs)
ES (3) ES470853A1 (cs)
FR (1) FR2394933A1 (cs)
GB (1) GB1603993A (cs)
IL (1) IL54878A (cs)
IT (1) IT1156831B (cs)
MX (1) MX144810A (cs)
NL (1) NL186425C (cs)
PL (1) PL116404B1 (cs)
SE (1) SE437747B (cs)
SU (1) SU886760A3 (cs)
ZA (1) ZA783305B (cs)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2020077B (en) 1978-04-28 1983-01-12 Texas Instruments Inc Learning aid or game having miniature electronic speech synthesizer chip
GB2059726B (en) * 1979-10-03 1984-06-27 Nippon Telegraph & Telephone Sound synthesizer
JPS6054680B2 (ja) * 1981-07-16 1985-11-30 カシオ計算機株式会社 Lsp音声合成装置
AU588334B2 (en) * 1985-07-18 1989-09-14 Raytheon Company Digital sound synthesizer and method
AU620384B2 (en) * 1988-03-28 1992-02-20 Nec Corporation Linear predictive speech analysis-synthesis apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2199427A5 (cs) * 1972-09-12 1974-04-05 Ibm France
US3979557A (en) * 1974-07-03 1976-09-07 International Telephone And Telegraph Corporation Speech processor system for pitch period extraction using prediction filters
NL7506141A (nl) * 1975-05-26 1976-11-30 Philips Nv Digitaal filter.
US3980873A (en) * 1975-06-27 1976-09-14 Aeronutronic Ford Corporation Digital convolutional filter
US4022974A (en) * 1976-06-03 1977-05-10 Bell Telephone Laboratories, Incorporated Adaptive linear prediction speech synthesizer

Also Published As

Publication number Publication date
ZA783305B (en) 1980-01-30
CH633922A5 (en) 1982-12-31
JPS6144320B2 (cs) 1986-10-02
DE2826570A1 (de) 1979-01-04
IT1156831B (it) 1987-02-04
AU3701778A (en) 1979-12-20
SE7806380L (sv) 1978-12-18
DE2826570C2 (cs) 1988-10-20
NL186425B (nl) 1990-06-18
IL54878A (en) 1980-07-31
NL7806366A (nl) 1978-12-19
ES470853A1 (es) 1979-10-01
JPS547838A (en) 1979-01-20
PL116404B1 (en) 1981-06-30
SE437747B (sv) 1985-03-11
IL54878A0 (en) 1978-08-31
AU520897B2 (en) 1982-03-04
CS401978A2 (en) 1989-02-10
PL207704A1 (pl) 1979-04-09
GB1603993A (en) 1981-12-02
CA1118104A (en) 1982-02-09
BR7803856A (pt) 1979-04-17
NL186425C (nl) 1990-11-16
SU886760A3 (ru) 1981-11-30
FR2394933B1 (cs) 1983-09-30
MX144810A (es) 1981-11-23
ES477928A1 (es) 1979-10-16
BE868205A (fr) 1978-10-16
FR2394933A1 (fr) 1979-01-12
IT7849909A0 (it) 1978-06-16
ES477929A1 (es) 1979-10-16
AR218313A1 (es) 1980-05-30

Similar Documents

Publication Publication Date Title
US4344148A (en) System using digital filter for waveform or speech synthesis
US4209844A (en) Lattice filter for waveform or speech synthesis circuits using digital logic
US4422155A (en) Multiplier/adder circuit
US4521907A (en) Multiplier/adder circuit
US4520499A (en) Combination speech synthesis and recognition apparatus
US5103416A (en) Programmable digital filter
US4398262A (en) Time multiplexed n-ordered digital filter
US4584701A (en) Reverberator having tapped and recirculating delay lines
CS266303B2 (en) Digital filter
JPH0296200A (ja) 適応差動パルス符号変調音声発生器
JPH01245607A (ja) 合成型良限インパルス応答デジタルフィルタ
KR100233284B1 (ko) 어드레스 발생장치
JPH0767063B2 (ja) デジタル信号処理回路
KR840002361B1 (ko) 디지탈 필터
JPS6336577B2 (cs)
JPS6337969B2 (cs)
US4403295A (en) Signal synthesizer apparatus
KR20000000827A (ko) 디지털 필터링에 사용되는 어드레스 발생기
KR100293712B1 (ko) 디지털 필터링에 사용되는 어드레스 발생기
JPS6327898B2 (cs)
CA1126864A (en) Lattice filter for waveform or speech synthesis circuits using digital logic
JPS6320048B2 (cs)
JPH03124110A (ja) ディジタルコントロールドフィルタ
McLaughlin A single-chip speech synthesis system
JPS602688B2 (ja) デイジタル信号減衰器