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
Czech (cs)
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/en
Publication of CS266303B2 publication Critical patent/CS266303B2/en

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)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (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)

Abstract

The digital filter comprises a memory (31) storing filter coefficients, a multiplier (30) multiplying internal data of the filter by the said filter coefficients, an adder/subtracter (33) adding the results of the multiplications to other data obtained in the filter, a delay circuit (34) connected up to the output of the adder/subtracter, a shift register (35) storing and retrieving at the requisite the time the data coming from the delay circuit, and an interlock output memory (36) storing a datum output by the filter. These various elements are interconnected with the aid of switches (37, 38) in order to perform the successive operations of multiplication and addition during a cycle. This filter, equivalent to a lattice filter, can be used in a voice synthesizer. <IMAGE>

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.The present invention relates to the generation of complex waveforms using digital signals, in particular digital circuit speech synthesis using linear prediction methods and the object of which is a cross-type digital filter for circuits intended for speech synthesis or time waveform generation. The speech synthesis filter of the present invention may be contained within a single integrated circuit, thereby facilitating its use in a variety of industrial applications (i): у, 'Ί l ih ih rh> ih ih ih ih ih í г.-1гп) п, л »1 * '1пулг (devices such as telephones, speech secrecy devices, radio and television equipment, etc.) and other devices that generate the sound of a human voice.

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.Currently, several methods of digital representation of human speech are used in practice and in experiments. For example, the following methods of digital speech coding are known: pulse code modulation, differential pulse code modulation, adaptive prediction coding, delta modulation, channel vocoders, voice excited vocoders, cepstral vocoders, formant vocoders, and linear prediction coding. These methods are briefly described in Voice signals: Bit by bit on pages 28-34 of IEEE Spektrum, October 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č.Simulations of individual digital speech coding methods generally show that linear predictive digital speech prediction methods can provide more natural speech than earlier vocoder systems (eg, a channel vocoder) at a concurrently lower data flow than pulse code modulation systems. Linear prediction systems often use multistage digital filters, and the higher the number of degrees, the more natural the resulting generated speech becomes.

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.The first applications of linear prediction methods for digital speech generation fall into the late sixties and early seventies. A historical analysis of some of these early works is given in Markel and Gray's Linear Prediction of Speech (Spriqger Verlag, New York 1976) on pages 18-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.The multistage digital filter used in linear prediction coding is preferably of the all-pole type, with all roots preferably within the unit circle (z) = '1, if the mathematical transfer function is expressed as a z transformation. 2a and 2b, however, other types of filter are known, including rung filters, normalized rung filters, and others, as explained in Chap. 5 books Linear Prediction of Speech. Each step of the cross-link filter requires two addition operations, two multiplication operations, and one delay operation. The filter is excited either from a periodic signal source for loud or from a random signal source for loud noises. Preferably, the filter coefficients are reset every few milliseconds, while the excitation signal is repeatedly applied more frequently.

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.Previously, the filter circuitry of the cross-cells of FIG. 2a was implemented by suitable programming of large digital computers. An example of programming a computer in Fortran for computer speech synthesis is explained in the aforementioned book Linear Prediction of Speech. Given the data flow of the wake-up signal and the large number of arithmetic operations, ie two multiplications and two additions for each stage of the multi-stage filter, and since increasing the number of filter stages increases the naturalness of the generated speech, fast digital computers. Attempts have also been made to implement a multi-stage filter using the technique of large integration circuits with MOS-type elements and the multiprocessing principle with a number of arithmetic units operating simultaneously; however, this technique requires the implementation of a very large number of multiplication and addition circuits on a single semiconductor substrate. By replacing the lattice structure in Fig. 2a with individual adders and multipliers, a complex and extensive semiconductor substrate is formed.

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.In US Pat. No. 4,022,974 discloses a speech synthesizer which comprises a recursive or a partition filter as part of it. Such a recursive filter needs only two mathematical operations to perform, one multiplication and one addition, but it does not have the inherent stability of the cross-cell filter.

CS 266 303 B2CS 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.US Pat. No. 4,052,563 is directed to a speech transmission system comprising an analysis section and a speech synthesis section. After the speech waveform analysis, the resulting encoded digital signal exists in each of the plurality of transmission channels carrying the respective synthetic speech signals. The clear speech signals in the plurality of speech channels are encoded by multiplexing the digital outputs, which then exit) to bring into the ééΙéééééééééééééééééééééééééééééééééΐéΐΐΐΐΐΐééééééééééééééééééééé Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení Provedení na na na na na na 8 na 8 na 8 shows a single digital multiplier filter with feedback and multiplexing, wherein multiplexing is also required between a series of temporary memories according to the channel timing of the time-multiplexed signal resulting from a series of separate speech channels. entrance only pros However, the digital filter is not described in detail and can only be assumed to correspond to the embodiment of FIG. 6, which includes a series of arithmetic units cooperating with a multiplier and including two adders and a subtractor.

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.The present invention eliminates the disadvantages of prior art filters and relates to a digital filter with digital excitation signal inputs and digital values displaying filter coefficients, particularly for speech synthesizers, consisting of a coefficient stack connected by a multiplier line, a subtractor-subtractor whose input is connected to a multiplier output. and the output is connected to a memory circuit whose output is connected to the multiplier input by a bus. SUMMARY OF THE INVENTION The first switch is connected to the bus at the multiplier input to selectively connect the adder-subtractor output and the memory circuit output to the multiplier input. The memory circuit includes a first delay circuit with a short delay time, a second delay circuit with a longer delay time, and a memory coupled via the first switch to the multiplier input, the output of the first delay circuit being connected to the multiplier input. At the adder-subtractor input a second switch is connected to selectively connect the adder-subtractor output, the second delay circuit and the memory to the adder-subtractor. Preferably, the first switch comprises switches for selectively adding the adder-subtractor output, the first delay circuit output or the memory output to the multiplier input, and the second switch comprises switches for selectively adding the adder-subtractor output, the second delay circuit output or the memory output to the adder-input. odčítačky. A third switch is connected between the second delay circuit and the memory to selectively connect the output of the second delay circuit to the memory input.

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.The invention makes it possible to implement a cross-link filter to generate complex waveforms, such as human speech, on a single substrate using MOS structures, which is relatively simple and has smaller dimensions.

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.The invention and its features will be explained in conjunction with the embodiments shown in the drawings, in which Fig. 1a shows a block diagram of the basic elements of a speech synthesizer, Fig. 1b shows the timing of the excitation signal and the coefficients K n Fig. 2a, 2b Fig. 3 timing for generating intermediate results in a N-degree cross-section filter, Fig. 4 timing for generating intermediate results in a 10-degree cross-section filter, Fig. 5 one embodiment of a digital filter equivalent 6 shows another embodiment of a digital filter, an equivalent cross-link filter, FIG. 7 a matrix multiplier used in an equivalent digital filter. Giant. 8A to 8D are logic diagrams of the individual elements of FIGS. 7 and 9, a generalized shape of a digital filter according to the invention.

Na obr. la jsou ve formě blokového schématu znázorněny základní prvky syntetizéru řeči.Fig. 1a shows the basic elements of a speech synthesizer in block diagram form.

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 reproduktoremThe speech synthesis circuit comprises a multi-stage cross-link filter 10 that digitally filters the excitation signal U using coefficients Κχ to * n . At the output of the cross-link filter 10 is a digital signal 12 which is converted by analog-to-analog converter 13. The output of the converter 13 changes into audible sounds through the loudspeaker

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.CS 266 303 B2 or other sound transducer; it will be understood that amplifiers may be used between the converter 13 and the loudspeaker 14 to amplify the analog output of the converter 13 to the level required for the loudspeaker 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.The excitation signal U is generally derived from one of two sources, the source 15 of the loud alarm of the drawbar wall 16 silence 1 annélio algnúlu. The one of the two * is determined by the digital switch 17. · The source 15 of the loud signal is used to generate sounds during which human vocal cords or vocal ligaments vibrate, such as the E sound in the word Eva. The speed at which voice ligaments close and open determines the pitch of the generated sound. The non-loud signal source 16 is used in generating sounds such as F in the word Fish, where the voice ligaments are permanently open and air is blown through them into the vocal tract. Thus, the source 15, 16 used depends on the sound to be generated.

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.Generally, the loud signal source 16 generates a random digital signal, while the loud signal source 15 generates a periodic digital signal. However, the digital data supplied by the two sources 15 and 16 may be stored in one or more permanent memories. However, it is preferable to store this data in a coded form, e.g. as a voice pitch or as a code controlling a random number generator. As a rule, the data is first decoded before random or periodic data (e.g., a V signal) is sent to the .10 filter. However, depending on how the data is stored, it is possible to eliminate the need for a switch 17. When the data is stored For example, as a voice pitch or code to control the random number generator, the gain A is preferably also stored in the permanent memory. The gain A adjusts the constant amplitude signal V from the loud signal source 15 or from the loud signal source 16 to produce a wake-up signal filter 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.The excitation signal U, which generally corresponds to or modeles the function of the voice ligaments, is changed by the filter 10 of the cross-links. The cross-link filter 16 generally corresponds to or modeles the voice tract function that filters the sounds generated by the voice ligaments. The filter coefficients K i to K n show the shape (ie resonance) of the voice tract during speech. Therefore, the coefficients Ki to K n periodically re-adjusted to correspond to changes in shape of the vocal tract, and can be saved with the data signal and the loud nehlasného resources to permanent memory.

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.In Fig. 1b, the time course of the output of the loud source 16 and the loud source 15 is shown as a graph. At the output of the loud source, pulses with a period of 5 ms, corresponding to a voice pitch of 200 Hz, are indicated; this pitch corresponds to the loud sounds in the vocal range of many women. Because men typically have a lower pitch, the output pulses for the male speaker will have a lower repetition rate.

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ý.The loud source 15 is indicated with output pulses whose period corresponds to the pitch of the person's voice; however, it should be understood that the periodic pulses can be replaced by other periodic functions, such as the fading sine wave or the so-called chirping, which are repeated with a period corresponding to the pitch of the voice. The signal of the loud source 16 is indicated as random.

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.In Fig. 1b it is indicated that the cross-section filter coefficients 10 are reset every 5 ms. It is to be understood that the frequency setting of the filter coefficients 10 is selectable at design. The more often the coefficients are set, the more precisely the filter 10 modeles the dynamics of the voice tract, but with a corresponding increase in the amount of data stored in the aforementioned non-volatile memory. However, the less frequent adjustment of the coefficients has the opposite effect. It has been found that by adjusting the coefficients approximately every 5 ms, high quality human speech synthesis is achieved with a cross-link filter 10 with reasonable memory capacity requirements.

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í, žeIn Fig. 1b, the timeline is divided into intervals of 100 ms. These intervals correspond to the frequency data from the loud source 15 f of nehlasného source 16 and frequency of data input and output filter 10 of cross-links. Although it may appear from Fig. 1b that the signals from the loud source 16 and the loud source 15 are analogous, it should be noted that

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 .In fact, these signals are digital signals whose size is indicated and which are reset at the intervals indicated in the timeline in Fig. Ib. Regarding Information regarding the Derivation of Filter Coefficients, reference is made to the previously mentioned book by Lin &amp; Prodlet i on 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.Thus, in the configuration, the data rate at the input of the converter 13 will be 10 kHz and the upper limit of the synthetic speech from the converter 13 will be 5 kli. However, this frequency can be changed according to the design. For example, a 9 kHz data rate would trigger a 4 kHz synthesizer cutoff frequency.

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.2a and 2b, a block diagram of a cross-link filter 10 is shown. Fig. 2a shows a cross-link filter 10 comprising ten stages S1 to S10, each of which is equivalent to that shown in Figure 2b. For clarity, only three stages are shown in detail in FIG. 2a. At the input of stage S10 there is an excitation signal U and the output 12 of stage S1 is supplied to the converter 13 (see FIG. 1a). One skilled in the art will recognize that the output 17 of stage S10 is not used, so that the adder 17a and the multiplier 17b can be omitted.

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.In Fig. 2b, a single stage Sn of the cross-link filter 10 is indicated. The input (jL) to this stage is fed to one input of the first adder 18, the output of which is Y n (i). The second input of this first adder 18, which is fed to its subtraction input, is derived from the output of the first multiplier 19, which multiplies the coefficient by the output b n (i-1) of the delay circuit 22. The output of the delay circuit 22 is also fed to the second adder. 21, which receives the output from the second multiplier 20 at the second input. The second multiplier 20 multiplies the coefficient K by the output from the first adder 18, which is, however, equal to Y p (_i). The output of the second adder 21 is b + + (i). As can be seen, the index u Y ab determines the degree to which the data is used, while the number in parentheses indicates the cycle in which the data is generated. The delay circuit 22 performs a one-time delay function such as a shift register. Once in each time cycle, a new data value U (i) of data (or Y ^ j (i.)) Is applied to stage S10 as an excitation signal U. Thus, two multiplication and two additions, i.e. at the data frequency of FIG. Ib, these four operations must be performed at each stage of the filter 10 during 100 / is. The cross-link filter 10 of Figure 2a was designed with ten stages; however, it is known to the skilled person that the number of stages can be selected according to the desired quality of the sounds synthesized by the filter 10. It has been found that a 10-degree cross-cell filter can generate synthetic speech that is virtually indistinguishable from real human speech.

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.Obviously, during any time cycle, ten stages of the cross-link filter 10 must perform twenty multiplication operations and twenty addition / subtraction operations. Further, we find that all these operations cannot be performed simultaneously, since ř ^ θ must be calculated earlier than Y, which must be calculated earlier than Υθ, etc., in each time cycle. During the same time cycle, it is also necessary to calculate b10 to b4 and insert them into the delay circuits 22 of the individual stages for use in the following time cycle. The variables Y and b, as defined in Fig. 2b, are also indicated in steps S1, S9 and S10 in Fig. 2a. The equations giving the relationships between the individual variables Y and b are given in Table. I. It should be noted that the variables Y and b and the coefficients are several-digit numbers; coefficients up to Κ ^ θ can range in decimal equivalent between plus one and minus one and are periodically adjusted as described.

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ýFig. 3 shows, in an illustrative form, the individual intermediate results obtained from multipliers and adders of the N-step filter from the cross-links; the horizontal axis shows the time and the vertical individual stages of the N-stage cross-link filter 10. E.g. in the Nth stage, the intermediate results -K n «b n and Κ η · Χ η * are generated by multipliers 19 and 20 (see Fig. 2b) and the intermediate results Y n and obtained from the adders 18 and 21 (Fig. 2b). Time must be PartResult -η' enerov 9-n-n before they can gain Yfi; Yn must be generated before Κη · Χη can be generated and ϋη · Χ η must be generated before generating b n + i «According to the indicated time scale, the addition operation requires an interval of 5 yUs, while multiplication requires a longer time

CS 266 303 B2CS 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 ' !section. Regarding interrelationships of generating intermediate values in each stage, it is seen that the output of the addition operation must be available before starting к multiplication operation .rK n ».b. n as indicated by the arrow 2j>. This forces the insertion of an empty operation interval 23 between the addition operation b n + 1 and the multiplication operation -K n »b n when only one addition operation and one multiplication operation such as p < il.ino of J. J destroyed 24 paused operations яе insert between the second addition operations and subsequent multiplication operations because of symmetry. As can be seen, the operations outlined in all stages of the N-stage cross-link filter can be performed simultaneously in the order shown in Fig. 3 and the respective intermediate results will be available as needed. Giant. 3 shows the overall nature and usability of the digital implementation of the multi-stage cross-link filter that we will describe. It should be noted that the illustration in Fig. 3 shows operations performed during one of said time cycles. The time interval 5 / is for the addition operation was chosen at design since it corresponds to MOS type ICs with p channel. However, other time intervals may be used if desired. < ? * \. 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.Fig. 4 is a similar view to Fig. 3 except that Fig. 4 represents the numerical realization of the equivalent of a 10-degree cross-cell filter 10 and the horizontal axis has been extended to show more than one cycle of time. In addition, each time cycle was divided into twenty intervals T1 to T20, each preferably having a duration of the order of 5 / is. As already mentioned, it is possible to choose another duration. In FIG. 4, the time cycles i-1 and i + 1 are also indicated to facilitate comparison of the arrival of the intermediate results in the filter 10 with the requirements resulting from the mathematical expression representing the filter 10 in Table 1. AND.

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.In the first interval T1, an excitation signal U is applied to the input; the output Y ^ from the filter is obtained in the interval Til. In comparison, FIG. It can be seen that the individual inputs required for multiplication operations are available when needed, and also that the individual inputs for addition operations are available when needed. Z obř. 4 further shows that the addition operation (which lasts one interval) starts and ends at each interval, and similarly, that the set multiplication operation also starts (and finishes) at every interval, even if a specific multiplication operation triggered is completed after eight intervals. The apparatus performing these operations will be described in more detail with reference to FIGS. 5, 9 and 10a-10d.

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.We have stated that multiplication and addition operations are preferably triggered at each time interval. In fact, the number of time intervals per cycle is preferably equal to twice the degrees of the equivalent cross-link filter. Thus, for an eight or twelve step cross-link filter, the equivalent digital filter will preferably have sixteen or twenty-four intervals per cycle. 3 and 4, the number of time intervals allocated to the multiplication operation depends in part on the number of intervals in the cycle. Eight intervals can be used for a multiplication operation in a 10-degree equivalent digital filter, while six intervals can be used in an 8-degree equivalent digital filter, as long as the digital equivalent filter shown in FIGS. 3 and 4 is used. multiplication determines the number of bits that are multiplied, ie limits the number of bits displaying coefficients К. In most applications, the number of bits allocated to the coefficients K n in the arrangement of FIGS. 3 and 4 will provide a very acceptable synthetic speech. However, if even greater accuracy is required for the display of the coefficients K, it is not possible to run multiplication and addition operations at each cycle interval, and some delay at a cycle point will have to be entered. Then, however, the cycle will require a longer time to complete, thereby reducing the system's data rate (and frequency response).

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í.As can be seen from FIG. 4, intermediate results can be obtained or intermediate results can be obtained, but, as mentioned in FIG. 2a, these particular intermediate results are not required in the digital implementation of the cross-link filter. Referring to Fig. 5, we show that the intermediate results K 10'-10 and - 11 or some other numbers are often easier to generate and neglect than to prevent the device from performing these calculations. In the next we describe how the multiplication operation, performed by multiplier 18 (Fig. 1) can be done instead of calculating K 1Q course, Y 10 in the device.

CS 266 303 B2CS 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.Fig. 5 shows a block diagram of a digital implementation of an equivalent cross-link filter 10. The content of the contents is a matrix multiplier 31, a reader / subtractor 33, a first delay circuit 34 for one interval delay, a second delay circuit 35, and a memory 36. It has an incoming and outgoing one-inch in each of the twenty. The time intervals T1-120 (for the equivalent 10-stage filter) are shown in FIG. 6. The matrix multiplier 30 of FIGS. 5 and 6 realizes the multiplication performed by the multipliers 19 and 20 (FIGS. 2a and 2b) in each. from a 10-degree cross-link filter. Matrix multiplier JO. it receives, via lines 32, the coefficients Κ χ to Κ ^ θ stored in the cartridge 31, and the bus 40 to either Y ^ or b ^. The cartridge 11 preferably comprises ten shift registers, each having ten degrees. The data stored in the stack of coefficients J1 are shown in Tab. The matrix multiplier 30 triggers further multiplication operations at each time interval (as indicated in FIG. 4), i.e. approximately every 5 / is. The matrix multiplier 30 preferably has eight stages as shown in FIG. 9. A series of addition and feeds operations take place as the data is shifted by these eight stages and the data is multiplied by the respective coefficient K n stored in the coefficient stack 31. The multiplication operation takes 40 / is; since the new multiplication operation begins every 5 / is, there is eight multiplication at each time at a different degree of elaboration. The eight matrix multiplier calculation intervals 30 are shown in Figure 6 along with the multiplier inputs and outputs. For example, multiplier inputs in the T1 interval output from the multiplier eight intervals later, ie in T9. The coefficients stored in stack 11 are stored as nine-bit numbers with one additional bit for the sign. As stated herein, these numbers range from -1 to +1 (in decimal), which simplifies the matrix multiplier structure of 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.The output of the matrix multiplier 30 is fed to the adder-subtractor 11. This output takes the form of a thirteen-bit parallel channel in the proposed configuration: 12 bits of data and 1 bit for the sign. However, it is clear that the number of bits of the data channel is a design issue. The second input arrives at the adder-subtractor JJ via the second switch 37 and consists of a wake-up signal U at intervals T1, at the intervals T2 to T10 the adder-subtractor JJ intervals, at T1 to T19 intervals the second delay circuit 35 and T20 memory JJ . For the sake of clarity, simple single-pole switches 37A to 37D are shown at the adder-subtractor 33; however, it will be appreciated that it will be preferable to use solid-state switches for both these switching functions and the other switching functions indicated. The output of the adder-subtractor 33 is applied to switch 37B of second switch 37, to the input of the first delay circuit 14 for a one-time delay, and to switch 38A of the first switch 38 connected to the bus input 40. The output of the adder-subtractor 33 is also implemented as a 13 bit wide channel, which is delayed by one interval in the delay circuit 34 before being applied to the input of the second delay circuit 35 and to the switch 38B of the first switch 18. The second delay circuit 35 stores data from the thirteen-bit channel in thirteen shift registers, each of which has eight degrees. The second delay circuit 35 is arranged such that the displacement is performed only at intervals T1 to T2. The output of the second delay circuit 35 is fed to switches 17c and 39. This switch 39 closes at the interval T20 for timing the output Y1 of the filter to memory 36. The output 12 of memory 36 is fed to the analog-to-digital converter 13 (FIG. 3d and 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.Switch 37b is closed at intervals T2 to T10, switch 37c is closed at intervals T1 to T1J, and switch 37d is closed at T20. Switch 38a is closed at intervals T13 to T1, switch 38b is closed between intervals T3 to T12, and switch 38c is closed at T2. The other sides of the switches 38a, 38b and 38c are coupled by the bus 40 to the input of the matrix multiplier 10.

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.FIG. 6 shows the individual intermediate results that appear in the circuit of FIG. 5 at time intervals T1 to T20. In Fig. 6, one input of the multiplier is information of the coefficient K i, while the other input varies according to which of the switches 38a to 38c is closed. In the interval T1, the switch 38a is closed, as already mentioned, so that the output of the adder / subtractor 31, in this case b 2 (i-1), is applied to the multiplier input. At the same time, the second input of the adder / subtractor 33 receives the drive signal U (i). In the interval T2, the value of b x (i-1) is input to the multiplier 30, which, according to FIG. 5, comes from the memory output 36 via the switch 38c.

CS 266 303 B2CS 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.Referring to FIG. 6 the output of the memory is 36 Υ χ (i - 1), but according to the last item tab. I find that b ^ (i__2__i) is equal to the delayed γ χ (_i), ie (i - 1). In the interval T2 the second input of the adder / subtractor 33 is supplied with an instantaneous output of this adder / subtractor, i.e. in this case X 10 (i) · in the interval T3 there are inputs of a multiplier of K i Q and X 10 (i) derives from the output of the first delay circuit 344.

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á.At the interval T1, a second delay circuit 35 is output to the second input of the adder / subtractor 33. The first expression coming from the second delay circuit 35 is (i-1) that first appeared at the output of this delay circuit 35 at interval T2 and This output remains, since the delay circuit 35, as mentioned above, does not shift between the intervals T3 and Til.

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.At the interval T13, the addition of the adder / subtractor 33 via the switch 38a is again supplied to the input of the matrix multiplier 30. In the interval T20, the value of Y ^ (.i) from the second delay circuit 35 outputs to the memory 36 and the current output of the memory 36, Y ^ (i-1) is fed to the second adder-subtractor 33 via switch 37D to obtain the value b ^. (i - 1) as we mentioned earlier. The memory 36 stores the filter output Y1 for one cycle.

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í.The filter of FIG. 5 can also be used in an application equivalent to an N-stage filter with an M-stage multiplier (for example, the coefficients may have M + 2 bits) if a shift register with a delay equal to or lower is inserted between the adder-subtractor 33 and the first delay circuit. N - M - 2 time intervals. The connection to the switch 38A is then made from the output of this added shift register and the delay in the second delay circuit 35 is set to N + Μ - 1. This generalized filter shape is shown in Figure 9. In the arrangement of Figure 5, N - M - 2 equal to zero, so no delay is required in this case.

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.In the filter of FIG. II is N + Μ - 1 equal to seventeen, which corresponds to the number of time intervals between the time the data arrives at the second delay circuit 35 and the data output from the second delay circuit 35. For example, FIG. in tab. II, the value b1 (i-1) is input to the second delay circuit 35 at the time interval T2 and is based on it at the interval T19, that is, seventeen intervals later. However, the second delay circuit 35 has only eight degrees in this embodiment and the additional delay occurs at intervals T3 to T1 when the second memory circuit 35 formed by the shift register is not shifted. These nine time intervals take place at a time when the values of Y2-Y10 are at the output of the first delay circuit 34 and are not to be fed to the second delay circuit 35, as shown in Tab. II. Thus, the number of degrees in the second delay circuit 35 plus the number of time intervals in one cycle when the data in the small delay circuit 35 does not shift is equal to the delay N + Μ - 1 time intervals in the second delay circuit 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ů.As can be seen, the equivalent ten-stage filter of FIG. 5 performs the filtration operation achieved by the cross-link filter of FIG. 1a at a satisfactory speed. For example, in the proposed arrangement, a 10 kHz excitation signal U is provided, i.e. every 10 0 / is, and the basic operation in both the adder / subtractor 33 and the matrix multiplier 30, in the first delay circuit 34 and in the second delay circuit 35 performed at nominal intervals of 5 / is. It is known to those skilled in the art that these speeds are well achievable by using MOS large integration with the p-channel so that the entire filter of Fig. 5 can be realized as a relatively inexpensive MOS large integration with the p-channel for speech synthesis or generating complex waveforms.

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četIt will be appreciated by those skilled in the art that the basic arrangement of the 10-stage cross-cell filter of FIG. 5 is also applicable to digital filters equivalent to cross-cell filters with a different number of degrees. Ten degrees were selected for the chosen filter arrangement because ten-stage cross-cell filters were chosen by the US Department of Defense as the standard for use in prediction coded speech synthesis circuits. However, should it be desired to use the present invention to realize a digital filter with a different number of equivalent degrees, it should be noted that the number of

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.CS 266 303 B2 shall be at least twice the number of degrees equivalent. In the selected arrangement, the number of intervals (twenty) is twice the number of equivalent stages (ten). For example, if we wanted a 12-stage equivalent filter, the number of intervals within a cycle should be at least twenty-four, and the described basic solution would extend somewhat. Лг need рот namona t, ·>. «·» For twelve 11 n I clamp. ·) <In I VI last year II i The Chinese face lily will need ten intervals to perform multiplication, based on the basic scheme described above. that is, one addition operation and one multiplication operation are triggered at each interval. This is evident from Fig. 3 if we substitute N = 12 and add the diagram accordingly. However, if the interval of 5 / is kept for each interval, the data rate obtainable by the 12-stage version will be lower than that of the 10-stage version of the filter. It should also be noted that by increasing the delay in the matrix multiplier 30, it is also possible to increase the number of bits of the coefficients up to 2 of the total number of ten to a total of twelve bits. Similarly, if we wanted an equivalent eight-stage filter, the number of cycle intervals would be at least sixteen, and by inserting N = 8 in Figure 3, we would find that the pass time of the multiplier of 30 would be six itals. In this case, using a matrix multiplier, which will be described in more detail below, would limit the number of coefficient bits in stack 31 to a maximum of 8 bits. However, as mentioned earlier in the description of FIG. 4, in some cases even more time intervals can be used to perform the multiplication operation. This may be desirable when designing an increased accuracy of the coefficients К. This increased accuracy will require more bits of the coefficients K n , which in turn requires a greater delay in the matrix multiplier 30. The basic solution of the equivalent filter of FIG. 5 is thus somewhat modified, since the multiplication and addition operations then do not start at every time interval. It will be apparent to those skilled in the art that in this case some of the intermediate results need to be stored temporarily, requiring additional filter elements to be added to the filter of FIG. These modifications are not described in detail here, since such modifications of the digital realization of the filter are among the capabilities of an experienced digital circuit designer.

Již dříve jsme uvedli, že číslicovým filtrem podle obr. 5 se generují mezivýsledkyWe have previously stated that the digital filter of FIG. 5 generates intermediate results

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.But that these intermediate results are not used, since they are not required for the realization of the filter 10 of FIG. 1a. Recalling that the data V from a loud or non-loud source is multiplied by the gain factor A in the multiplier 18 in the known speech synthesis circuit of FIG. 1a, we find that this multiplication can be performed by a matrix multiplier 30 at the time the multiplier generates product Κ ^ θ. (i.). Digital filter arrangement with multiplication V (i). A is shown in FIG. IV shows the individual intermediate results generated in the circuit of FIG. 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.FIG. 6 and FIG. It can be seen that this circuit, including the generated intermediate results, is similar to the circuit of Figure 5 with the modifications that follow. The reference numerals in FIG. 6 are the same as in FIG. 5. Data V to be multiplied by the factor A is fed via switch j38_D to one input of matrix multiplier 30 at intervals T3 instead of the output signal from the first delay circuit 34 for one delay. interval. In the interval T1, when the multiplication is complete and U (i + 1), i.e. AV (i + 1), it enters the second input of the adder-subtractor 33, instead of outputting Q (i - 1) from the second delay circuit 35, logic zeros. However, the coefficients K as well as the gain A must be inserted into the coefficient magazine 31. As can be seen from FIG. 6 and tab. IV, this arrangement incorporates the function performed by the multiplier 18 in FIG. 1a into the digital implementation of the cross-link filter 10. The data stored in the stack are shown in Tab. V. The gain factor A update is preferably performed as frequently as the update of the coefficients K n in the stack 31.

Na obr. 7 je naznačena ve formě blokového schématu maticová násobička 30. VedeníIn Fig. 7, a matrix multiplier 30 is shown in block diagram form

- 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.1 to 32-9 receive the lowest to highest coefficient bit from the coefficient stack 31. On line 32-10, the sign enters from the coefficient stack 31. The second input to the matrix multiplier 30 is via the bus 60. The lines 40-1 to 40-12 of the bus 40 carry the lowest to the highest bit, and the lines 40-13 carry the sign of the data to the bus 40.

Na obr. 7 je matice prvků označených písmeny А, В, C a D (prvky Ьег označení jsouIn Fig. 7 there is a matrix of elements labeled with the letters А, В, C and D (the elements označeníег are

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.CS 266 303 B2 also type A, i.e. also correspond to Fig. 8a). Elements A to D correspond to the circuits of Figures 8A to 8D. In Figures 8A-8D, the circuits are delimited by dashed lines with certain wires extending beyond these dashed lines. The relative position of the wires crossing the dashed lines in FIGS. 8 to 8D corresponds to the wiring connecting the elements A to D in FIG. 7 in FIG. 7. In FIG. 7, the elements are arranged in eight rows and twelve columns. The eight rows correspond to the aforementioned eight stages of the matrix multiplier 10. These n and th are denoted n n right n Fig. 7 and contain eight shift register cells 51 connected to lines 40 ~ 13. Twelve columns correspond to twelve bits of digital data on lines 40-1. Up to 40-12 entering matrix multiplier 30. Data on lines 40-1 through 40-13 travels through matrix multiplier 30 degree by step as a shift register while multiplying it in matrix multiplier 30, propagation time to any degree is of the order of 5 ^ s. as previously stated.

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).The line 32-1 from the reservoir 31 is connected to one input of twelve product gates 51-1 to 52-12, whose second inputs are individually connected to the lines 40-1 to 40-12. The outputs of these gates 52-1 to 52-12 are connected to inputs of Subtotals · elements of type А а В stage 1 (see Fig. 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 .The lines 32-2 to 32-8 from the magazine 31 are individually connected to the coefficient inputs to the type A elements (Fig. 8A) in stages 1 to 7 of the matrix multiplier 30. The lines 32-9 are connected to the same labeled input of the type C elements of stage 8 (see Fig. 8C). Data on lines 40-1 through 40-12 are fed to and through the data inputs and stage 2 elements through their data outputs and further to stages 2 to 8. The input b of the subtotal of stage 1 elements is derived from gate outputs 52-1 to 52 - 12. In the next stages, it is derived from the outputs and the subtotal of the next higher bit of the previous stage, with the exception of the partial input.

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ů.the sum of the elements in the highest bit (order), where the subtotal input is derived from the výstupu transmission output c from the highest bit of the previous stage. In addition, the transmission outputs c * of the elements are connected in series with the transmission inputs c of the elements at each stage.

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.Referring to FIG. 10A, the data from the stack 31 determines whether the subtotal output b is coupled directly to the subtotal input b through the transfer gate 60 or the output of the exclusive sum circuit 62 via the transfer gate 61. The product gate 63 and the exclusive sum circuit 64 it controls the signals at data input a and at sub-sum input b. The exclusive sum circuit 62 controls the output of the exclusive sum circuit 64 and the signal at the transmission input c. The automatic gate 65 controls the output of the exclusive sum circuit 64 and the signal at the transmission input e and its output is fed together with the gate output 63 to the summation inputs. The data output b corresponds to the signal at the data input b through a delayed section of the shift register 62, consisting, for example, of two inverters. As can be seen from Fig. 8C, the type C element is identical to the type Λ element except that it does not contain a data output and 'nor the shift register 62. In Fig. 8B a type B element which contains only the shift register 67' is indicated. coupled to the data input a and data output a -, and the product gate 68 coupled to the data input a and sub-sum input b and forming the transmission output c '. Fig. 8D shows a D-type element generating a transmission output c 'from the product gate 68' to which the data input a and the sub-sum input b leads.

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.As can be seen, a new subtotal is calculated at each stage, including the necessary transmission of transmission information between the stage elements, but the output of the subtotal does not change if the line from the coefficient stack 31 is logical zero or added to the input data to obtained a subtotal output if logical 1 is on the line from the coefficient stack 31. Subtotals shift to other lower locations as data passes through a matrix multiplier. However, at each stage the lowest bit is lost. However, the coefficients K n from stack 21 correspond to numbers ranging from -1 to +1. Thus, if logic zeros appear on lines 32 1 to 32 - 9, the output from the matrix multiplier will be zero, and vice versa, if all bits on lines 32-1 through 32-9 are one, the data output across bus 40 passes through the matrix multiplier without changes. For the other possible combinations of data on lines 32-1 to 32 - 9, the data on bus 40 will be scaled between zero and the value input on bus 40 in 29 possible steps according to the data size on lines 43-1 to 32-2.

CS 266 303 B2CS 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.As the data passes through the stages of the matrix multiplier 30 as if it were a shift register, the data from the coefficient stack 31 is shifted differently, as is evident from e.g. III and tab. In order to ensure that the correct bit of the correct coefficient arrives at the right moment at the matrix multiplier 31. FIGS. 8-16 to 8C do not show timing pulses for controlling the counter face. .1 <<> vt 1 у The mane of the above-mentioned as a rog i tru tru · interleaves, as is well known to those skilled in the art, can be obtained by adding clock-controlled gates to the circuits of FIGS. 8-1 through 8C or using logic circuits. using pre-charge and conditional discharge, and therefore these timing considerations are not detailed here.

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í.According to Fig. 7, the sign data on lines 40-13 is only delayed in the eighth stage of the matrix multiplier 30 in the shift register elements 51 and then compared with the sign data from the coefficient stack 31 on lines 32-10 in circuit 53 for the exclusive sum to obtain the correct sign of the output data according to the usual multiplication rules.

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.The matrix multiplier 30 shown in FIGS. 5 and 6 has been described in detail. The remaining elements, such as adder-subtractor 33. ' the first delay circuit 34, the second delay circuit 35, and the memory 36 are not described in detail, as these conventional elements are well known. Adder-Subtractor 33 receives data including a sign at its inputs and must decide whether a subtraction or addition operation is required by the sign coming with the data.

Tabulka ITable I

Rovnice Stupeň Yio(i) = - K10b10<i - 11 10 Equation Degree Y io (i) = - K 10 b 10 < i - 11 10

Y, (i) Y, (i) = Y10(i)= Y 10 (i) - Kjbgli - 1) - Kjbgli 9 9 bi0(i) = b9(ibi 0 (i) = b9 (i - 1) + KgYgíi) - 1) + KgYgii) 9 9 Y8 Y 8 = Y9(i)= Y 9 (i) - Va(i - 11 - Va (i - 11 8 8 b9(i)b 9 i - ba'1 '- ba ' 1 ' 1) + KgYg(Í) 1) + KgYg (I) 8 8 Y7(i)Y 7 (i) = Ya(i>= Y and (i > - K?b7(i -1)- K ? b 7 (i -1) 7 7 b8(i)b 8 (i) = b7 (i -= b 7 (i - 1) + k7y7(i)1) + to 7 y 7 (i) 7 7 Y6(i)Y 6 (i) = Y7(Í)= Y 7 (I) - w1 -- w 1 - 6 6 b7 (i)b 7 (i) = b6(i -= b 6 (i - i) + K6Y6(i)(i) + K 6 Y 6 (i) 6 6 Y5(i)Y 5 (i) = Y6(i)= Y 6 (i) - K5b5(i - 1)- K 5 b 5 (i-1) 5 5 b6(i)b 6 (i) = b5(i -= b 5 (i - 1) 4- K5Y5(i)1) 4- K 5 Y 5 (i) 5 5 Y4(i)Y 4 (i) = Y5(i)= Y 5 (i) - K4b4li - η- K 4 b 4 li - η 4 4 b5(i)b 5 (i) = b4(i -= b 4 (i - i) + k4y4U>i) + k 4 y 4 U> 4 4 Y3 (i)Y 3 ( i) = Y4(i)= Y 4 (i) - K3b3(i - 1)- K 3 b 3 (i-1) 3 3 b4(i)b 4 (i) = b3(i -= b 3 (i - 1) + K3Y3(i)1) + K 3 Y 3 (i) 3 3 Y2(i)Y 2 (i) = Y3(i)= Y 3 (i) - K2b2(i - 1)- K 2 b 2 (i-1) 2 2 b3 (i)b 3 (i) = b2(i -= b 2 (i - 1) + K2Y2(i)1) + K 2 Y 2 (i) 2 2 (i) (and) = Y2(i)= Y 2 (i) - K1b1(i - 1)- K 1 b 1 (i-1) 1 1 b2(i)b 2 (i) = bj(i - = bj (i - 1) + K1Y1(i)1) + K 1 Y 1 (i) 1 1 bx (i)b x (i) = Yj(Í) = Yj (I)

CS 266 303 B2CS 266 303 B2

Tabulka IITable II

Interval Vstupy násobičky 1 2 Interval Inputs multipliers 1 2 Výstupy násobičky a jeden vstup sčítačky-odčítačky Multiplier outputs and one adder-subtractor input Druhý vstup sčítačky-odčítačky Second input of adder-subtractor Výstup sčítačky-odčítačky Adder-Subtractor output Výstup zpožďovacího obvodu Delay circuit output Výstup pos. re gistru Output Pos. re gistru Výstup paměti Memory output 11 11 K2 K 2 bj (i - bj (i - 1) 1) —К IO * l),o(i - 1) U(i)—К IO * l), o (i-1) U (i) b2(i I)b 2 (i) Ьд(1 1)Ь д (1 1) li.iO 11 li.iO 11 Y|(< Y | (< .... π .... π T2 T2 -K, -TO, b| (i - b | (i - υ υ -K9 · b9(i - n-K 9 · b 9 (i - n Y|o(i> Y | o (i> Υ,ο(ί) Υ, ο (ί) b2(i - 1)b 2 (i-1) b,o (i - 1) b, o (i-1) T3 T3 К 10 К 10 Yio(<) Yio -K8 · b8(í - 1)-K 8 · b 8 (i - 1) Y9(i)Y 9 i Y9(0Y 9 (0 Yjo(i) Yjo (i) T4 T4 к9 к 9 Y9(i>Y 9 (i> -K7 ‘ b7(i - 1)-K 7 'b 7 (i-1) Y8(i)Y 8 (i) Y8(Í)Y 8 (I) Y9(i)Y 9 i T5 T5 Kg Kg ve(i)in e (i) -K6 · b6(i - 1)-K 6 · b 6 (i-1) Y7{i)Y 7 (i) Y7(i)Y 7 (i) Ys(i) Ys (i) T6 T6 κ7 κ 7 γ7ωγ 7 ω -k5 · b5(i - υ-k 5 · b 5 (i - υ γ«ω γ «ω γβωγ β ω Y7(i)Y 7 (i) T7 T7 Кб Кб Υ6(ί)Υ 6 (ί) -K4 · b4 (i - 1)-K 4 · b 4 (i-1) Y5(i)Y 5 (i) Y5(i)Y 5 (i) γβωγ β ω T8 T8 Κ5 Κ 5 Y5(i)Y 5 (i) -K3 · b3(i - 1)-K 3 · b 3 (i-1) γ«ω γ «ω Y4(i)Y 4 (i) vs(i)in s (i) T9 T9 κ4 κ 4 γ4(ί)γ 4 (ί) -K2 · b2(i- 1)-K 2 · b 2 (i-1) Y3(i)Y 3 (i) Yj(i) Yj (i) Y9wY 9 w T10 T10 Кз Кз Y3(i>Y 3 (i> -K, · b,(i - 1) -K, · b, (i-1) Y2(·)Y 2 (·) Y2 ()Y 2 () Y3(Í)Y 3 (I) Til Til κ2 κ 2 Ya (i)Y and (i) К io. * Yjo (·) К io. * Yjo (·) b|o(i — 11 b | o (i-11 Yi(i) Yi (i) Y2 (i)Y 2 (i) b10(i - υb 10 (i - υ T12 T12 Κι Κι Y| ω Y | ω K9 · Y9(i)K 9 · Y 9 (i) b»(i - 1) b »(i-1) blt (i)b lt (i) Yj (0 Yj (0 b9 (ib 9 (i - n - n T13 T13 -Κ,ο -Κ, ο bio(i) bio (i) Ke · Ye(i)Ke · Y e (i) b,(i - 1) b, (i-1) bio (i) bio (i) bil (i) White) b8(ib 8 (i - υ - υ T14 T14 9 9 b9(i)b 9 i K7 · Y7(i)K 7 · Y 7 (i) b,(i - 1| b, (i - 1) b9(i)b 9 i Ь10(· 1 Ь10 (· 1 b7 (ib 7 (i - n - n T15 T15 8 8 b8(i)b 8 (i) K6 · Y6(ilK 6 · Y 6 (il b«(i - 1) b «(i - 2) be (i) be (i) b9 (i)b 9 i b6(ib 6 (i - n - n T16 T16 7 7 b7(i)b 7 (i) K5 · Ys(i)K 5 · Y s b5(i - 1)b 5 (i-1) b7(i)b 7 (i) bB(i)b B (i) bs (i bs (i - υ - υ T17 T17 β β bA <»)b A K4 · Y4(i)K 4 · Y 4 (i) b, (i - 11 b, (i-11 b6(i)b 6 (i) b7(i)b 7 (i) b4(ib 4 (i - i) - i) T18 T18 5 5 b5(i>b 5 (i> K3 · Y3(í)K 3 · Y 3 (s) b,(i - 1) b, (i-1) bs (i) bs (i) bji) bji) b3 (ib 3 (i - υ - υ T19 T19 4 4 b4 (i)b 4 (i) K2 · Y2 (i)K 2 · Y 2 (i) b2(i - 11b 2 (i - 11 b4 (i)b 4 (i) b$(i) b $ (i) b2 (ib 2 (i - υ - υ T20 T20 3 3 bj(i) bj (i) K, · Y, (i) K, · Y, (i) b,(i - 1) b, (i-1) b3(i)b 3 (i) b4(i)b 4 (i) Y| (i) Y | (and) Y| (í Y | (and - υ - υ TI TI 2 ~ κ 2 b, (i) b, (i) —к 10 · bio(i) —К 10 · bio (i) U(i + 1) U (i + 2) b2 (i)b 2 (i) b3(i)b 3 (i) bjj(i) bjj (i) v, (i) on, (i)

Tabulka IIITable III

Data ze zásobníku 31 (obr. 5) v intervalechData from stack 31 (FIG. 5) at intervals

Výstup ze zásobníku Output from the stack Intervaly Intervals Bit Bit Řádek Line TI TI T2 T2 T3 T3 T4 T4 T5 T5 T6 T6 T7 T7 T8 T8 T9 T9 T10 T10 Til Til T12 T12 T13 T13 TI 4 TI 4 T15 T15 TI 6 TI 6 T17 T17 T18 T18 T19 T19 T20 T20 LSB LSB 32 - 1 32 - 1 K2 K 2 K1 K 1 K10 K 10 K9 K 9 co what K7 K 7 K6 K 6 K5 K 5 K4 K 4 K3 K 3 32-2 32-2 K2 K 2 Kí K í K10 K 10 K9 K 9 K8 K 8 K7 K 7 K6 K 6 K5 K 5 K4 K 4 K3 K 3 32-3 32-3 K3 K 3 K2 K 2 K1 K 1 K10 K 10 Kg Kg K8 K 8 K7 K 7 K6 K 6 K5 K 5 K4 K 4 32-4 32-4 K4 K 4 K3 K 3 K2 K 2 K1 K 1 K10 K 10 Kg Kg K8 K 8 K7 K 7 K6 K 6 K5 K 5 32-5 32-5 K5 K 5 K4 K 4 K3 K 3 K2 K 2 K1 K 1 K10 K 10 K9 K 9 K8 · K 8 · K7 K 7 K6 K 6 32-6 32-6 K6 K 6 K5 K 5 K4 K 4 K3 K 3 K2 K 2 K1 K 1 K10 K 10 K9 K 9 K8 K 8 K7 K 7 32-7 32-7 k7 k 7 K6 K 6 K5 K 5 K4 K 4 K3 K 3 K2 K 2 K1 K 1 K10 K 10 K9 K 9 K8 K 8 32-8 32-8 K8 K 8 K7 K 7 K6 K 6 K5 K 5 K4 K 4 K3 K 3 k2 k 2 K1 K 1 K10 K 10 K9 K 9 MSB MSB 32-9 32-9 K9 K 9 K8 K 8 K7 K 7 K6 K 6 K5 K 5 K4 K 4 K3 K 3 K2 K 2 K1 K 1 K10 K 10 SIGN BIT SIGN BIT 32 - 10 32 - 10 K9 K 9 K8 K 8 K7 K 7 K6 K 6 K5 K 5 K4 K 4 K3 K 3 K2 K 2 K1 K 1 K10 K 10

CS 266 303 B2CS 266 303 B2

Tabulka IVTable IV

Interval Vstupy Interval Inputs Výstupy násobičky a jeden vstup sčítačky-odčítačky «10 · '>l0(i 1)Multiplier outputs and one adder-subtractor «10 · '> l0 (i 1) Druhý vstup sčítačky-odčítačky U(i) Second input of adder-subtractor U (i) Výstup sčítačky-odčítačky b2(i 0Adder-Subtractor b 2 (i 0 Výstup zpožďovacího obvodu b3(i - ПDelay circuit output b 3 (i - П Výstup pos. registru U(i> Output Pos. registry U (i> Výstup paměti Υ. (i - 1) Memory output Υ. (i - 1) T 1 T 1 násobičky multipliers 1 »<2 1 »<2 2 2 l>2 (il> 2 (i I) AND) T2 T2 -K, -TO, bj (i - bj (i - n n —K9 · b9(i — 1)—K 9 · b 9 (i-1) Y.o(i) Y.o (i) Yio(i) Yio (i) b2(i - 1)b 2 (i-1) b|0b | 0 i - υ i - υ T3 T3 A AND V (i + V (i + 1) 1) -Ke · b8(i - 1)-Ke · b 8 (i-1) Y9(i)Y 9 i Y9(i)Y 9 i Yio(i> Yio (i> T4 T4 K9 K 9 Y9(í)Y 9 (s) -K7 · b7(í - 1)-K 7 · b 7 (i - 1) Y8(i)Y 8 (i) Y8(i)Y 8 (i) Y9(i)Y 9 i T5 T5 Ke Ke Y8(i)Y 8 (i) -K6 · b6(i - П-K 6 · b 6 (i - П Y7(ilY 7 (il Y7(i)Y 7 (i) Y8(i)Y 8 (i) T6 T6 K7 K 7 Y7WY 7 W -K5 · b$(i - 1)-K 5 · b $ (i-1) Ye(i)Y e (i) Y6(i)Y 6 (i) Y7GI Y7GI T7 T7 Ke Ke Y6(i)Y 6 (i) -K4 · b4 (i - 1)-K 4 · b 4 (i-1) Y$(f) Y $ (f) Ys(i) Ys (i) Y6(i)Y 6 (i) T8 T8 Ks Pcs Ys(i) Ys (i) -K3 · b3(i - 1)-K 3 · b 3 (i-1) Y4(i>Y 4 (i> Y4(i)Y 4 (i) Ys (i) Ys (i) T9 T9 K4 K 4 Y«(í> Y «(i> -K2 · b2 (i - 1)-K 2 · b 2 (i-1) Y3(ilY 3 (il Y3(i)Y 3 (i) Y4(0Y 4 (0 T1O T1O K3 K 3 Y3(Í)Y 3 (I) -Kj · b,(i- 1) -Kj · b, (i-1) Y2(i)Y 2 (i) Y2(i)Y 2 (i) γ3ωγ 3 ω Til Til K2 K 2 Y2(0Y 2 (0 U(i + 1) U (i + 2) 0 0 Y1 (i) Y1 (i) Y2 (í)Y 2 (s) bio(i bio (i - υ - υ T12 T12 К, К, Y1 (i) Y1 (i) K9 · Y9 (i)K 9 · Y 9 (i) b9(í - 1)b 9 (i - 1) U(i + 1) U (i + 2) Yi(i> Yi (i> b9(ib 9 (i - υ - υ T13 T13 — к 10 - to 10 bio(i) bio (i) K8 · Y8 (i)K 8 · Y 8 (i) b8(i - 1)b 8 (i-1) b10(<)b 10 (<) U(i + 1) U (i + 2) b8 (ib 8 (i - υ - υ T14 T14 9 9 b9(i)b 9 i K7 · Y7(i)K 7 · Y 7 (i) b7(í - 1)b 7 (i - 1) b9(i)b 9 i bio (i) bio (i) b7(ib 7 (i - η - η T15 T15 β β be(i)b e (i) K6 · YJi)K 6 · YJi) b6(i - 1)b 6 (i-1) b8 (i)b 8 (i) b9 (i)b 9 i b8(ib 8 (i - η - η T16 T16 -К-» -К- » b7 (i)b 7 (i) Ks · Ys (i)Ks · Y with bs(i - n bs (i - n b7(i>b 7 (i> b8 (i)b 8 (i) b$ (i b $ (i - η - η T17 T17 β β b6(í)b 6 (s) K4 · Y4(i)K 4 · Y 4 (i) b4(i - nb 4 (i - n b6(i)b 6 (i) b7<i)b 7 <i) b4 (ib 4 (i - υ - υ T18 T18 -K5 -K 5 b5 (i)b 5 (i) K3 · Y3(i)K 3 · Y 3 (i) b3(i - υb 3 (i - υ b$(i) b $ (i) b6(i)b 6 (i) b3(ib 3 (i - η - η T19 T19 -K4 -K 4 b4(i)b 4 (i) K2 · Y2 (i)K 2 · Y 2 (i) b2(i - 1)b 2 (i-1) b4(i)b 4 (i) b5(i)b 5 (i) b2(ib 2 (i - η - η T20 T20 -K3 -K 3 b3(i)b 3 (i) Kj · YJi) Kj · YJi) ь, (»- υ ь, »(υ b3{i)b 3 (i) b4(i)b 4 (i) Y. (i> Y. (i> YJi- η YJi- η TI TI -K2 -K 2 b2(i)b 2 (i) — K|0 * b|o(i) - K | 0 * b | o (i) U(i + 1) U (i + 2) b2(i)b 2 (i) b3(i)b 3 (i) U(i + 1) U (i + 2) Y.(Í) Y. (I)

CS 266 303 В2CS 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).1. A digital filter with digital excitation signal inputs and digital values displaying filter coefficients, especially for speech synthesizers, which consists of a coefficient stack connected by a line with a multiplier, from one to the other, by a duck. vnlup is fi |> <)) <4> я t t t up výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup výstup a first switch (38) is connected to selectively connect the adder-subtractor output (33) and the memory circuit output (41) to the multiplier input (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).2. A digital filter according to claim 1, wherein the memory circuit (41) comprises a first delay circuit (34) with a short delay time, a second delay circuit (35) with a longer delay time and a memory (36) connected via the first switch (38). ) with the input of the multiplier (30), the output of the first delay circuit (34) being connected to the input of the multiplier (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).A digital filter according to claim 1 or 2, characterized in that a second switch (37) is connected at the input of the adder-subtractor (33) to selectively connect the adder-subtractor output (33), the second delay circuit (35) and the memory. 36) to the adder-subtractor (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).4. The digital filter of claim 3, wherein the first switch (38) comprises switches (3ΘΑ, 38В, 38C) for selectively adding the adder-subtractor output (33), the first delay circuit output (34), or the memory output (36). to the multiplier input (30), and the second switch (37) comprises switches (37В, 37C, 37D) for selectively connecting the adder-subtracter output (33), the second delay circuit output (35), or the memory output (36) to the adder input. readers (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).A digital filter according to claim 3 or 4, characterized in that a third switch (39) is connected between the second delay circuit (35) and the memory (36) to selectively connect the output of the second delay circuit (35) to the memory input (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) .Digital filter according to one of Claims 3 to 5, characterized in that the excitation signal source (11) is connected to the adder-subtractor (33) input via a switch (37A) of the second switch (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) .Digital filter according to one of Claims 1 to 5, characterized in that the excitation signal source (11) is connected by a bus (40) to the multiplier (30) input via a switch (38D) of the first switch (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).Digital filter according to one of Claims 2 to 7, characterized in that the output of the digital signal (12) is connected to a digital-to-analog converter (13) 2a by which the loudspeaker (14) is connected.
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 (en)
AR (1) AR218313A1 (en)
AU (1) AU520897B2 (en)
BE (1) BE868205A (en)
BR (1) BR7803856A (en)
CA (1) CA1118104A (en)
CH (1) CH633922A5 (en)
CS (1) CS266303B2 (en)
DE (1) DE2826570A1 (en)
ES (3) ES470853A1 (en)
FR (1) FR2394933A1 (en)
GB (1) GB1603993A (en)
IL (1) IL54878A (en)
IT (1) IT1156831B (en)
MX (1) MX144810A (en)
NL (1) NL186425C (en)
PL (1) PL116404B1 (en)
SE (1) SE437747B (en)
SU (1) SU886760A3 (en)
ZA (1) ZA783305B (en)

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
GB2131659B (en) * 1979-10-03 1984-12-12 Nippon Telegraph & Telephone Sound synthesizer
JPS6054680B2 (en) * 1981-07-16 1985-11-30 カシオ計算機株式会社 LSP speech synthesizer
AU588334B2 (en) * 1985-07-18 1989-09-14 Raytheon Company Digital sound synthesizer and method
US5048088A (en) * 1988-03-28 1991-09-10 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 (en) * 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 (en) * 1975-05-26 1976-11-30 Philips Nv DIGITAL 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
IT7849909A0 (en) 1978-06-16
AU3701778A (en) 1979-12-20
JPS6144320B2 (en) 1986-10-02
NL186425B (en) 1990-06-18
MX144810A (en) 1981-11-23
IT1156831B (en) 1987-02-04
IL54878A (en) 1980-07-31
JPS547838A (en) 1979-01-20
BR7803856A (en) 1979-04-17
FR2394933B1 (en) 1983-09-30
PL207704A1 (en) 1979-04-09
FR2394933A1 (en) 1979-01-12
AU520897B2 (en) 1982-03-04
BE868205A (en) 1978-10-16
IL54878A0 (en) 1978-08-31
ES470853A1 (en) 1979-10-01
ZA783305B (en) 1980-01-30
SE7806380L (en) 1978-12-18
DE2826570A1 (en) 1979-01-04
CA1118104A (en) 1982-02-09
PL116404B1 (en) 1981-06-30
SU886760A3 (en) 1981-11-30
CH633922A5 (en) 1982-12-31
ES477929A1 (en) 1979-10-16
NL186425C (en) 1990-11-16
DE2826570C2 (en) 1988-10-20
ES477928A1 (en) 1979-10-16
GB1603993A (en) 1981-12-02
SE437747B (en) 1985-03-11
CS401978A2 (en) 1989-02-10
AR218313A1 (en) 1980-05-30
NL7806366A (en) 1978-12-19

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
JPH01245607A (en) Composite finite impulse response digital filter
KR100233284B1 (en) Address generator
JPH0767063B2 (en) Digital signal processing circuit
KR840002361B1 (en) Lattice filter for waveform or speech synthesis circuits using digital filter
JPS6336577B2 (en)
JPS6337969B2 (en)
US4403295A (en) Signal synthesizer apparatus
KR20000000827A (en) Address generator for digital filtering
KR100293712B1 (en) Address Generator Used for Digital Filtering
Gregorian et al. A single chip speech synthesizer using a switched-capacitor multiplier
JPS6327898B2 (en)
CA1126864A (en) Lattice filter for waveform or speech synthesis circuits using digital logic
JPS6320048B2 (en)
JPH03124110A (en) Digital controlled filter
JP2853203B2 (en) Audio signal delay device
McLaughlin A single-chip speech synthesis system