DE69425126T2 - Digitale Signalverarbeitungsschaltung - Google Patents
Digitale SignalverarbeitungsschaltungInfo
- Publication number
- DE69425126T2 DE69425126T2 DE69425126T DE69425126T DE69425126T2 DE 69425126 T2 DE69425126 T2 DE 69425126T2 DE 69425126 T DE69425126 T DE 69425126T DE 69425126 T DE69425126 T DE 69425126T DE 69425126 T2 DE69425126 T2 DE 69425126T2
- Authority
- DE
- Germany
- Prior art keywords
- address
- coefficient
- coefficients
- processing circuit
- digital signal
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000005070 sampling Methods 0.000 claims description 42
- 101100369802 Caenorhabditis elegans tim-1 gene Proteins 0.000 claims description 19
- 230000003247 decreasing effect Effects 0.000 claims description 5
- 235000019800 disodium phosphate Nutrition 0.000 description 70
- 238000000034 method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 102100034458 Hepatitis A virus cellular receptor 2 Human genes 0.000 description 2
- 101001068133 Homo sapiens Hepatitis A virus cellular receptor 2 Proteins 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf eine Digitalsignalverarbeitungsschaltung, die verwendet wird, um Audiosignalen unterschiedliche akustische Effekte zu verleihen, wie zum Beispiel einen Reflexions- oder Halleffekt.
- Herkömmlicherweise wird ein Digitalsignalprozessor (nachfolgend als DSP bezeichnet) als die Digitalsignalverarbeitungsschaltung verwendet, die eine Faltungsverarbeitung durchführt, unter Verwendung von Koeffizienten, und zwar an einer Kette bzw. Reihe von Abtast- bzw. Samplingdaten, welche Audiosignale darstellen. Dieser DSP ist in der Lage, den Audiosignalen unterschiedliche akustische Effekt wie z. B. den Reflexions- oder Halleffekt, zu verleihen.
- Wenn die Koeffizienten, die durch die Faltungsverarbeitung verwendet werden, frei geändert werden können, ist es möglich, den Audiosignalen unterschiedliche akustische Effekte durch die Verwendung nur eines DSP zu verleihen. Die Realisierung einiger akustischer Effekte benötigt eine relativ große Abgriffs- bzw. Tapzahl für die Faltungsverarbeitung. Hier wird die Tapzahl durch die Leistung des DSP und die Anzahl der DSPs bestimmt, die in der Berechnungseinheit beinhaltet sind, die die Faltungsverarbeitung durchführen. Um die Faltungsverarbeitung mit der großen Tapzahl zu realisieren ist es notwendig, die mehreren DSPs in der Berechnungseinheit zu kombinieren. Es wurde mittlerweile ein neuer DSP vorgesehen, der in der Lage ist, die Koeffizienten, die für die Faltungsverarbeitung verwendet werden, neu zu schreiben, und zwar gemäß den Instruktionen, die von einer externen Einheit oder Ähnlichem kommen.
- Fig. 5 ist ein Blockdiagramm, das eine elektronische Konfiguration einer Berechnungseinheit darstellt, die durch die Verwendung mehrerer DSPs konfiguriert ist, und die in der Lage ist, die Faltungsverarbeitung mit der großen Tapzahl durchzuführen. In Fig. 5 bezeichnen die Symbole A&sub1; bis An DSPs, von denen jeder in der Lage ist, die Faltungsverarbeitung durchzuführen. Jeder der DSPs A&sub1; bis An gibt Abtast- bzw. Samplingdaten ein, die einen Satz derzeitiger Werte des Audiosignals repräsentieren, und zwar während jeder Abtast- bzw. Samplingperiode, und zwar über ein Eingabeinterface bzw. eine Schnittstelle DI desselben. Hier werden die Samplingdaten in jeden DSP Ak (wobei k = 1, 2, ...,n) eingegeben, und zwar in einer seriellen Art und Weise, so daß der DSP die Bits der Samplingdaten seriell eingibt, während der DSP Ak Bittakte (Bit Clocks) BCLK empfängt, die jeweils mit jedem der Bits der Samplingdaten synchronisiert sind. Der DSP Ak empfängt auch ein Sampling- Frequenz-Synchronisationssignal SYNC, das eine Timing bzw. eine Zeitsteuerung darstellt, bei der die derzeitige Abtast- bzw. Samplingperiode zu der nächsten Samplingperiode geschaltet wird. Der DSP Ak gibt jedes der Bits der Samplingdaten synchron mit dem Bit Clock bzw. dem Taktgeber BCLK ein; und dann bildet der DSP Ak ein Wort von Samplingdaten unter Verwendung einer bestimmten Anzahl von Bits, die daran geliefert werden, bis das Sampling-Frequenz-Synchronisationssignal SYNC ausgegeben wird. Somit wird der Faltungsvorgang, der die Koeffizienten verwendet, an einer bestimmten Anzahl von Samplingdaten durchgeführt, die der DSP zuvor in jeder Sampling- bzw. Abtastperiode eingegeben hat; und dann gibt der DSP das Ergebnis der Faltungsverarbeitung aus. Die ältesten Samplingdaten unter den mehreren Samplingdaten, an denen der Faltungsvorgang durchgeführt wird, werden von einem Ausgangsinterface DO des DSP Ak in einer seriellen Art und Weise ausgegeben. Dann werden die Samplingdaten, deren Bits seriell von dem einen DSP Ak ausgegeben werden, in das Eingabeinterface DI eines nächsten DSP Ak+1 in einer seriellen Art und Weise eingegeben. Die Ergebnisse der Faltungsverarbeitung, die durch die DSPs A&sub1; bis Ak ausgegeben werden, werden an einen Addierer (oder mehrere Addierer) geliefert, durch den bzw. durch die sie zusammenaddiert werden. Wie zuvor beschrieben, kann der DSP Ak die Faltungsverarbeitung mit einer bestimmten Tapzahl durchführen; somit können mehrere DSPs A&sub1; bis An die Faltungsverarbeitung mit der Tapzahl durchführen und zwar "n"-mal. Der Addierer gibt das Gesamtergebnis der Faltungsverarbeitung aus.
- Ein Adressendecoder DEC empfängt Adreßinformation von einer zentralen Prozessoreinheit (d. h. CPU, die in Fig. 5 nicht gezeigt ist) und zwar durch einen Bus. Die Adreßinformation wird verwendet, um den DSP aus den DSPs A&sub1; bis An zu designieren, in den die Koeffizienten geschrieben werden sollen. Die Adreßinformation wird durch den Adreßdecoder DEC decodiert, so daß der Adreßdecoder DEC ein Schaltungsauswahlsignal CS erzeugt und es an die DSP sendet, die der Adreßinformation innerhalb der DSPs A&sub1; bis An entspricht. Die Koeffizienten, die geschrieben werden sollten, werden von der CPU durch den Bus geliefert und werden an ein Koeffizienten- Eingabeinterface Cl von jedem der DSPs A&sub1; bis An geliefert. Jeder der DSPs A&sub1; bis An empfängt auch Clocks bzw. Takte zum Schreiben der Koeffizienten. Dann werden die Koeffizienten in einen DSP eingegeben, an den das Schaltungsauswahlsignal CS geliefert wird, und zwar innerhalb der DSPs A&sub1; bis An.
- Bei der in Fig. 5 gezeigten Rechnereinheit ist es möglich, die Koeffizienten zu schreiben, die für den Faltungsvorgang verwendet werden, und zwar in einen DSP, der willkürlich ausgewählt wird. Diese Rechnereinheit besitzt jedoch die folgenden Nachteile:
- 1. Da die oben beschriebene Rechnereinheit designiert ist, unterschiedliche Information wie -z. B. die Koeffizienten und die Adreßinformation von der CPU durch den Bus zu empfangen und die entsprechende Verarbeitung durchführen muß, ist es notwendig, ausreichend Signalleitungen vorzusehen, die benötigt werden, um unterschiedliche Information zu empfangen.
- 2. Die Rechnereinheit benötigt eine Schaltung, die speziell verwendet wird, um den DSP aus der Vielzahl von DSPs A&sub1; bis An auszuwählen, in den die Koeffizienten geschrieben werden.
- Um die obigen Nachteile zu beseitigen, wird ein neues Design für den DSP vorgeschlagen, gemäß dem der DSP in der Lage ist, sequentiell die Koeffizienten von der externen Vorrichtung oder Ähnlichem einzugeben, um sie innerhalb des DSP zu verschieben. Fig. 6 zeigt ein Beispiel der Rechnereinheit, die den oben genannten, neu vorgeschlagenen DSP verwendet, der den Faltungsvorgang mit der großen Tapzahl durchführt. In Fig. 6 bezeichnen die Symbole B&sub1; bis Bn DSPs, von denen jeder in der Lage ist, die Koeffizienten einzugeben und sie zu verschieben. Jeder DSP "Bk" sieht ein Dateneingabeinterface DI zum Empfangen der Samplingdaten und ein Datenausgabeinterface DO zum Ausgeben der Samplingdaten, sowie Anschlüsse zum Empfangen des Sampling-Frequenz-Synchronisationssignals SYNC bzw. der Bittakte bzw. Clocks BCLK vor. Zusätzlich sieht der DSP Bk ein Koeffizienten-Eingabeinterface Cl und ein Koeffizienten-Ausgabeinterface CO sowie ein Eingabeinterface SCI und ein Ausgabeinterface SCO vor, die für ein Koeffizienten-Eingabesteuersignal vorgesehen sind.
- In einem Schreibmodus für die Koeffizienten werden die Koeffizienten sequentiell in das Koeffizienten-Eingabeinterface des ersten DSP B&sub1; eingegeben. Während einer Zeitdauer, in der diese Koeffizienten in den DSP B&sub1; eingegeben werden, wird das Koeffizienten-Eingabesteuersignal an das Eingabeinterface SCI geliefert. Die Koeffizienten, die sequentiell eingegeben werden, werden somit in die Schieberegister (nicht gezeigt) geschrieben, die in dem DSP B&sub1; vorgesehen sind; somit werden die Koeffizienten, die schon in die Schieberegister geschrieben wurden, jedesmal verschoben, wenn ein neuer Koeffizient geschrieben wird. Die durch die Schieberegister gespeicherten Koeffizienten werden für die Faltungsverarbeitung, die durch den DSP B&sub1; durchgeführt wird, verwendet. Der Koeffizient, der aus dem letzten Schieberegister innerhalb der Schieberegister, die in dem DSP B&sub1; vorgesehen sind, herausgeschoben wird, wird aus dem Koeffizienten-Ausgabeinterface CO ausgegeben und in das Koeffizienten-Eingabeinterface CI des nächsten DSP B&sub2; eingegeben. Zur selben Zeit wird das Koeffizienten- Eingabesteuersignal aus dem Ausgabeinterface SCO des DSP B&sub1; ausgegeben und in das Eingabeinterface SCI des DSP B&sub2; eingegeben.
- Die oben genannten Vorgänge werden durch jeden der DSPs B&sub1; bis Bn durchgeführt. Somit werden die Koeffizienten, die für den Faltungsvorgang verwendet werden, in jedem der DSPs B&sub1; bis Bn neu geschrieben.
- Der DSP wie die oben genannten DSPs B&sub1; bis Bn ist durch die japanische Offenlegungsschrift Nr. 3-217112 offenbart, die der japanischen Patentan meldung Nr. 2-13387 entspricht, die durch den Anmelder der vorliegenden Anmeldung eingereicht wurde.
- Der in Fig. 6 gezeigte DSP ist vorteilhaft, da die Schaltung zum Neuschreiben der Koeffizienten in den DSP mit einer geringen Anzahl von Signalleitungen konfiguriert sein kann und eine Schaltung zum Auswählen des DSP nicht benötigt wird. Jedoch besitzt der in Fig. 6 gezeigte DSP die folgenden Nachteile:
- 1. Um die gewünschten Koeffizienten für den Faltungsvorgang bei dem in Fig. 6 gezeigten DSP einzustellen, ist es notwendig, die Koeffizienten bezüglich aller DSPs neu zu schreiben. Somit ist ein komplexes Steuersystem notwendig, um dies zu tun.
- 2. Der in Fig. 6 gezeigte DSP ist so designiert, daß die Koeffizienten durch Verschieben derselben in den Schieberegistern neu geschrieben werden.
- Somit kann, während einer relativ langen Zeitperiode, in der das Neuschreiben der Koeffizienten beendet wird, ein unerwünschter Faltungsvorgang durchgeführt werden.
- Das IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, April 1988, USA, Band 6, Nr. 3, ISSN 0733-8716, Seiten 493-503, XP000647194, Borth D. E. et al. "A flexible adaptive FIR Filter VLSI IC" zeigt eine algorithmusspezifische kaskadierbare Digitalsignalverarbeitungsperipherie DSP56200, die aufgebaut ist, um Aufgaben, die mit Finite Impulse Response FIR und adaptiven FIR-Digitalfilteranwendungen assoziiert sind. Dieses Dokument zeigt nur, daß Koeffizienten in einem Koeffizienten-RAM gespeichert sind.
- Es ist ein Ziel der vorliegenden Erfindung, eine Digitalsignalverarbeitungsschaltung vorzusehen, die in der Lage ist, rasch die Koeffizienten für die Faltungsverarbeitung zu verändern ohne eine komplexe Schaltungskonfiguration vorzusehen.
- Gemäß der vorliegenden Erfindung weist eine Digitalsignalverarbeitungsschaltung, die durch einen Digitalsignalprozessor (d. h. DSP) aufgebaut ist, mindestens einen Adreßzähler und einen Koeffizienten RAM auf, der vorgesehen ist, um die Koeffizienten zu speichern, die verwendet werden, um den Faltungsvorgang durchzuführen. Ein Gesamtspeicherbereich des Koeffizienten-RAM besteht zwischen einer ersten Adresse und einer letzten Adresse. Eine externe Vorrichtung sieht Steuerinformation einschließlich eines Initialzählgliedes und Hoch/Runter-Information vor. Der Adreßzähler zählt eine Anzahl von Impulsen einschließlich eines Zeitsteuer- bzw. Timingsignals, das synchron mit den Bit Clocks in einer Samplingperiode erzeugt wird, um eine -Zählnummer als eine Schreibadresse für den Koeffizienten-RAM auszugeben. Der Adreßzähler führt entweder ein Hochzählen oder ein Herunterzählen durch, und zwar gemäß der Hoch/Runter-Information; und die Zählzahl wird erhöht oder verringert von der anfänglichen Zählzahl. Somit werden die Koeffizienten, die sequentiell eingegeben werden, in den Koeffizienten-RAM geschrieben, und zwar mit der jeweiligen Schreibadresse.
- Wenn die Schreibadresse zu der letzten Adresse erhöht wird oder zu der ersten Adresse verringert wird, gibt der Adreßzähler ein Übertrags- bzw. Trägersignal aus, durch das die nachfolgend eingegebenen Koeffizienten nicht in den Koeffizienten-RAM geschrieben werden, sondern automatisch zu dem nächsten DSP übertragen werden.
- Weitere Ziele und Vorteile der vorliegenden Erfindung ergeben sich aus der folgenden Beschreibung, die auf die Zeichnung Bezug nimmt, in der das bevorzugte Ausführungsbeispiel der Erfindung deutlich dargestellt ist.
- In der Zeichnung zeigt:
- Fig. 1 ein Blockdiagramm, das einen Hauptteil eines DSP zeigt, der ein Ausführungsbeispiel einer Digitalsignalverarbeitungsschaltung gemäß der vorliegenden Erfindung ist;
- Fig. 2 ein Zeitdiagramm, das Signale und Clocks bzw. Takte zeigt, die durch den in Fig. 1 gezeigten DSP verwendet werden;
- Fig. 3 eine Zeichnung, die verwendet wird, um den Betrieb des DSP zu erklären;
- Fig. 4 ein Zeitdiagramm, das die Beziehung zwischen der Abtast- bzw. Samplingperiode und den in den DSP zu schreibenden Koeffizienten zeigt;
- Fig. 5 ein Blockdiagramm, das ein Beispiel der herkömmlich bekannten Computervorrichtung zeigt; und
- Fig. 6 ein Blockdiagramm, das ein weiteres Beispiel einer bekannten Computervorrichtung zeigt.
- Nachfolgend wird das bevorzugte Ausführungsbeispiel der folgenden Erfindung unter Bezugnahme auf die Zeichnung beschrieben.
- Fig. 1 ist ein Blockdiagramm, das eine Schaltungskonfiguration eines DSP zeigt, der eine Digitalsignalverarbeitungsschaltung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist.
- In Fig. 1 bezeichnet das Bezugszeichen 311 einen Koeffizienten-RAM (wobei "RAM" eine Abkürzung für Random Access Memory ist), welche die Koeffizienten speichert. Die Koeffizienten, die in dem Koeffizienten-RAM 311 gespeichert sind, werden durch ein Signalprozessorsystem (nicht gezeigt) ausgelesen und für den Faltungsvorgang verwendet, der an den eingegebenen Samplingdaten durchgeführt wird. Ein Adreßzähler 312 zählt eine Anzahl von Impulsen, die in einem Zeitsteuer- bzw. Timingsignal "tim1" eingeschlossen sind, und die darin eingegeben werden. Dann wird die Zählnummer von dem Adreßzähler 312 als eine Schreibadresse für den Koeffizienten-RAM 311 ausgegeben. Der Adreßzähler 312 ist in einer solchen Art und Weise aufgebaut, daß ein Aufzählen und ein Abzählen selektiv abgewechselt werden kann, und die Zählnummer davon auf eine anfängliche Zählnummer, die zuvor festgelegt wird, zurückgesetzt werden kann. Wenn die Zählnummer des Adreßzählers 312 eine obere Grenznummer oder eine untere Grenznummer erreicht, gibt der Adreßzähler 312 ein Übertragssignal aus. Bei diesem Ausführungsbeispiel wird die obere Grenznummer durch "n" dargestellt, während die untere Grenznummer bei "1" eingestellt wird. Ein Steuerregister 313 speichert Steuerinformation, die verwendet wird, um den Adreßzähler 312 zu steuern. Die Steuerinformation enthält Hoch/Runter-Information, die die Zählrichtung vorgibt (d. h. ein Hochzählen oder ein Runterzählen) des Adreßzählers 312, und die anfängliche Zählnummer. Die Kontrollinformation wird in das Kontrollregister 313 geschrieben durch eine externe CPU (nicht gezeigt). Ein Adreßdecoder 314 decodiert die Zählnummer des Adreßzählers 312, um eine spezifische Adresse entsprechend der Zählnummer für den Koeffizienten-RAM 311 auszuwählen. Somit werden die Daten in den Koeffizienten- RAM 311 geschrieben, und zwar an die wie oben beschrieben ausgewählten Adresse.
- Ein Timing- bzw. Zeitsteuererzeugungsteil 315 gibt das Sampling-Frequenz- Synchronisationssignal SYNC und die Bit Clocks BCLK ein. Wie zuvor beschrieben, ist das Sampling-Frequenz-Synchronisationssignal SYNC das Signal, welches die Samplingfrequenz der Samplingdaten, welche das eingegebene Audiosignal repräsentieren, synchronisiert, während die Bit Clocks BCLK mit jedem der Bits synchronisieren, welche die Samplingdaten bilden. Ansprechend auf diese Signale SYNC und BCLK erzeugt der Timingerzeugungsteil 315 Timingsignale "tim1" und "tim2", die verwendet werden, um den Koeffizienten zu verändern. Signalspeicher bzw. Signalspeicher (latch) 321 und 322 speichern bzw. speichern die Koeffizienten-Eingabesteuersignale, die jeweils darin eingegeben werden, und zwar ansprechend auf das Timingsignal tim1. In gleicher Weise speichern Signalspeicher 323 und 324 die jeweils hierin eingegebenen Koeffizienten ansprechend auf das Timingsignal tim1. Beim Empfangen des Übertragssignals, das von einem Adreßzähler 312 ausgegeben wird, werden die Signalspeicher 322 und 324 in einen Ausgabe-Freigabe-Status gesetzt.
- Ein UND-Gatter (AND gate) 326 gibt die Zeitsteuersignale tim2 und ein Ausgabesignal des Signalspeichers 321 ein, um ein logisches Produkt auszugeben. Wenn das logische Produkt, das von dem UND-Gatter 326 ausgegeben wird "1" ist, wird der Adreßdecoder 314 in einen Ausgabe-Freigabe-Status gesetzt, so daß die Auswahl der Adresse wie zuvor beschrieben durchgeführt wird. Wenn im Gegensatz dazu das logische Produkt des UND-Gatters 326 "0" ist, dann wird die Auswahl der Adresse nicht durchgeführt; somit ist es nicht möglich, Daten in irgendeine der Adressen des Koeffizienten-RAM 311 zu schreiben. Wenn das logische Produkt des UND-Gatters 326 zu "1" wechselt, dann wird der Signalspeicher 325 aktiviert, um die Ausgangsdaten des Signalspeichers 323 zu speichern. Die Ausgangsdaten des Signalspeichers 325 werden in den Koeffizienten-RAM 311 geschrieben, und zwar an die Adresse, die durch den Adreßdecoder 314 ausgewählt wurde.
- Als nächstes wird der Betrieb des Ausführungsbeispiels im Detail beschrieben. Fig. 2 zeigt ein Zeitdiagramm für unterschiedliche Arten von Signalen; hier wird das Niveau des Sampling-Frequenz-Synchronisationsignals, welches normalerweise auf ein hohes Niveau (d. h. "1"-Niveau) gesetzt ist, auf ein niedriges Niveau (d. h. "0"-Niveau) gesetzt, und zwar in einer bestimmten Zeitperiode in der Nähe eines Wechselpunktes zwischen den Samplingperioden. Eine bestimmte Anzahl von Bit Clocks BCLK wird in einer Samplingperiode erzeugt. Das Timingsignal tim1 wird mehrere Male in einer Sampüngperiode erzeugt, und zwar synchron mit einer Führungskantenzeitsteuerung der Bit Clock BCLK. In gleicher Weise wird das Timingsignal tim2 mehrere Male in einer Samplingperiode erzeugt, und zwar synchron mit dem Timingsignal tim1, wobei ein Führungskantentiming des Timingsignals tim2 hinter dem Führungskantentiming des Timingsignals tim1 verzögert wird, und zwar um eine halbe Periode der Bit Clock BCLK.
- Fig. 3 ist eine Zeichnung, die verwendet wird, um den Schreibvorgang für den Koeffizienten-RAM 311 in dem derzeitigen Ausführungsbeispiel zu beschreiben. Nun wird der Schreibvorgang unter Bezugnahme auf die Fig. 1 und 3 beschrieben. Vor der Durchführung des Schreibvorgangs an den Koeffizienten wird Steuerinformation in das Steuerregister 313 geschrieben, und zwar synchron mit einem Timingsignal tim3, das von einem Steuerinterface (nicht gezeigt) vorgegeben wird. Hier enthält die Steuerinformation Information, die die Adresse darstellt, in die der erste Koeffizient geschrieben werden sollte, nachfolgend als "Startadresse m" bezeichnet, und die zuvor genannte Hoch/Runter-Information bezüglich der Zählrichtung. Das Steuerinterface wird mit dem Ausgang des Timingsignals tim3 und der Steuerinformation versehen, und zwar ansprechend auf eine Instruktion von dem externen CPU (nicht gezeigt).
- Nun wird ein erster Satz des Koeffizienten-Eingabesteuersignals und der Koeffizienten, die in den Koeffizienten-RAM 311 geschrieben werden sollten, an die Signalspeicher 321 bzw. 323 geliefert. Dann wird die zuvor genannte Startadresse auf den Adreßzähler 312 gesetzt, und zwar als die anfängliche Zählnummer ansprechend auf das Timingsignal tim1, das von dem Timingerzeugungsteil 315 ausgegeben wird. Das zuvor genannte Koeffizienten- Eingabesteuersignal und die Koeffizienten werden jeweils in die Signalspeicher 321 und 323 geschrieben, und zwar ansprechend auf das Timingsignal tim1. Das Timingsignal tim2 wird erzeugt und aus dem Timingerzeugungsteil 315 ausgegeben, wenn eine bestimmte Zeit nach der Erzeugung des Timingsignals tim1 abgelaufen ist. Das UND-Gatter 326 gibt das Timingsignal tim2 ein, genauso wie das Koeffizienten-Eingabesteuersignal, das von dem Signalspeicher 321 ausgegeben wird. Wenn somit das Timingsignal tim2 ausgegeben wird, wechselt das logische Produkt des UND-Gatters 326 zu "1". Zu diesem Zeitpunkt wird der Koeffizient, der derzeitig von dem Signalspeicher 323 ausgegeben wird, in den Signalspeicher 325 geschrieben, und dann in den Koeffizienten-RAM 311 geschrieben, und zwar an die Schreibadresse (oder Startadresse) "m", die durch die Steuerinformation ausgewählt wurde. Die Schreibadresse m wird durch einen Pfeil "1" in Fig. 3 angezeigt.
- Danach wird ein zweiter Satz aus einem Koeffizienten-Eingabesteuersignal und einem Koeffizienten an die Signalspeicher 321 bzw. 323 geliefert. Die Verarbeitung derselben wird nachfolgend beschrieben.
- In dem Zustand, in dem die Hoch/Runter-Information, die in der in dem Steuerregister 313 gespeicherten Information enthalten ist, das Hochzählen designiert, wird die Zählnummer des Adreßzählers 312, die nun gleich der an fänglichen Zählnummer gesetzt ist, und die der Startadresse m entspricht, um "1" erhöht, und zwar ansprechend auf das Timingsignal tim1. Der zweite Satz aus Koeffizienten-Eingabesteuersignal und Koeffizient wird in die Signalspeicher 321 bzw. 323 geschrieben, und zwar ansprechend auf das Timingsignal tim1. Danach wird das Timingsignal tim2 aus dem Timingerzeugungsteil 315 ausgegeben, so daß das logische Produkt des UND-Gatters 326 zu "1" wechselt. Somit wird der Koeffizient in den Koeffizienten-RAM 311 an die Adresse geschrieben, die der Zählnummer des Adreßzählers 312 entspricht, die nun auf "m+1" gesetzt wird. Dieser Schreibvorgang wird durch einen Pfeil "2" in Fig. 3 angezeigt.
- Danach wird ein dritter Satz aus Koeffizienten-Eingabesteuersignal und Koeffizient ausgegeben. In diesem Fall werden die gleichen Vorgänge, die oben beschrieben wurden, für diesen Satz durchgeführt. Jedesmal, wenn ein neuer Satz aus Koeffizienten-Eingabesteuersignal und Koeffizient ausgegeben wird, wird die Zählnummer des Adreßzählers 312 wie folgt erhöht: "m+2", "m+3", .... Somit wird der neu ausgegebene Koeffizient in den Koeffizienten-RAM 311 geschrieben, und zwar an die Adresse, die der erhöhten Zählnummer entspricht. Somit werden die Koeffizienten sequentiell in den Koeffizienten-RAM 311 geschrieben, und zwar an die jeweiligen Adressen. Wenn die Zählnummer des Adreßzählers 312 die obere Grenznummer erreicht, wird der Koeffizient in den Koeffizienten-RAM 311 geschrieben, wie durch einen Pfeil "i" in Fig. 3 dargestellt. In diesem Fall gibt der Adreßzähler 312 jedoch das Übertragssignal aus, so daß sowohl die Signalspeicher 322 als auch 324 in den Ausgabe-Freigabe-Zustand gesetzt werden. Danach werden das Koeffizienten-Eingabesteuersignal und der Koeffizient jeweils aus den Signalspeichern 323 und 324 ausgegeben, und zwar synchron mit dem Timingsignal tim1, so daß das Koeffizienten-Eingabesteuersignal und der Koeffizient zu dem nächsten DSP ausgegeben werden, der dieselbe Konfiguration wie der in Fig. 1 gezeigte DSP aufweist, indem sie in die Signalspeicher ähnlich zu den Signalspeichern 321 und 323, die in Fig. 1 dargestellt sind, eingegeben werden.
- Wenn die Steuerinformation, die in dem Steuerregister 313 gespeichert ist, das Herunterzählen anzeigt, wird die Zählnummer des Adreßzählers 312 jedes Mal verringert, wenn ein neuer Satz aus Koeffizienten- Eingabesteuersignal und Koeffizient angegeben wird. Nachfolgend wird die Schreibadresse des Koeffizienten-RAM 311 geändert, und zwar ansprechend auf die Zählzahl, die wie folgt verringert wird: "m", "m-1", .... "1". Somit werden die Koeffizienten sequentiell in den Koeffizienten-RAM 311 geschrieben, und zwar an die Adressen "m", "m-1",", ...., "1 ". Die Schreibvorgänge für diese Koeffizienten sind durch die Pfeile "2' ", "3' ", ... "j' " in Fig. 3 angezeigt. Nachdem der Schreibvorgang bezüglich der Adresse 1 beendet ist, gibt der Adreßzähler 312 das Übertragssignal aus, so daß das Koeffizienten- Eingabesteuersignal und der Koeffizient an den nächsten DSP übertragen werden.
- Bei dem DSP gemäß der vorliegenden Erfindung, der die Samplingdaten verarbeitet, ist es möglich, die Koeffizienten synchron mit den Sampling- bzw. Abtastperioden einzugeben; somit kann eine einfache Konfiguration für die Peripherieschaltung verwendet werden, die für den DSP vorgesehen ist, und die vorgesehen ist, um die Koeffizienten einzugeben. Zusätzlich ist es möglich, mehrere Koeffizienten synchron mit dem Timingsignal tim1 einzugeben, das mehrere Male während einer Samplingperiode erzeugt wird. Fig. 4 zeigt ein Zeitdiagramm für den DSP, das aufgebaut ist, um vier Koeffizienten einer Samplingperiode einzugeben. Bei dem dargestellten Ausführungsbeispiel wird eine Reihe von Koeffizienten in den Koeffizienten-RAM 311 geschrieben, und zwar in aufeinanderfolgende Adressen. Wenn es zum Beispiel notwendig ist, den Faltungsvorgang bezüglich der vier Kanäle durchzuführen, werden die Adressen des Koeffizienten-RAM 311 in vier Gruppen von Adressen klassifiziert, die jeweils durch die Adressen 4L (wobei. L = 0, 1, 2, ...), Adresse 4L+1, Adresse 4L+2 und Adresse 4L+3 sind, die für Kanal 0, Kanal 1, Kanal 2 bzw. Kanal 3 vorgesehen sind. Diese Kanäle sind in einem DSP enthalten, so daß jeder Kanal den Entfaltungsvorgang durchführt unter Verwendung der speziell zugeordneten Koeffizienten. In diesem Fall ist das Signalverarbeitungssystem, das die in dem Koeffizienten-RAM 311 gespeicherten Koeffizienten verwendet, in der Lage, auf die bestimmten Adressen zuzugreifen, die dem gewünschten Kanal entsprechen. Darüber hinaus ist der DSP gemäß der vorliegenden Erfindung so aufgebaut, daß, wenn die Zahl der Koeffizienten so groß ist, daß einige von ihnen überfließen und nicht in den Koeffizienten-RAM eines DSP geschrieben werden, die überfließenden Koeffizienten und ihre entsprechenden Koeffizienten- Eingabesteuersignale automatisch zu dem nächsten DSP übertragen werden. Somit können durch einfaches Liefern des Koeffizienten- Eingabesteuersignals und der Koeffizienten an einen DSP die Koeffizienten an die gewünschten Adressen des Koeffizienten-RAM in dem DSP geschrieben werden.
- Schlußendlich kann die Erfindung auch auf andere Art und Weise durchgeführt bzw. ausgeführt werden, ohne vom Umfang oder wesentlichen Charakter des zuvor Beschriebenen abzuweichen. Daher ist das bevorzugte Ausführungsbeispiel, das hier beschrieben wurde, nur ein Beispiel und nicht einschränkend, da der Umfang der Erfindung durch die nachfolgenden Ansprüche angezeigt wird, und alle Variationen, die in die Bedeutung der Ansprüche fallen, sollen hierdurch abgedeckt werden.
Claims (5)
1. Digitalsignalverarbeitungsschaltung, die unter Verwendung von Koeffizienten
eine Faltungsverarbeitung an einer Vielzahl von eingegebenen Sampling-
Daten durchführt, wobei die Digitalsignalverarbeitungsschaltung folgendes
aufweist:
Koeffizientenspeichermittel (311);
einen Zeitpunkt- bzw. Timingerzeugungsteil (315), der ansprechend auf ein
Samplingfrequenzsynchronisationssignal (SYNC) und einen Bittakt (BCLK)
mehrere Male während einer Samplingperiode synchron mit dem Bittakt
(BCLK) ein erstes Zeitpunkt- bzw. Zeitsteuer- bzw. Timingsignal (tim1)
erzeugt;
Koeffizienteneingabemittel (321, 323, 325) zur sequentiellen Eingabe der
daran gelieferten Koeffizienten ansprechend auf das erste Zeitsteuersignal
(tim 1);
Adressenerzeugungsmittel (312, 314, 315) zum Erzeugen einer Adresse, die
von einer Anfangsnummer erhöht oder verringert wird, wobei die
Adressenerzeugungsmittel (312, 314, 315) einen Aufwärts-/Abwärts-Zählers
(312) aufweisen, welcher auf einen Anfangszählstand eingestellt werden
kann und eine Anzahl der ersten Zeitsteuersignale (tim1) zählt, um einen
Zählerstand als Schreibadresse für die Koeffizientenspeichermittel (311)
auszugeben; und
Schreibsteuermittel (315, 326) zum Steuern der Koeffizienteneingabemittel
(321, 323, 325) und der Adressenerzeugungsmittel (312, 314, 315), so daß
der von den Koeffizienteneingabemitteln (321, 323, 325) ausgegebene
Koeffizient an der durch die Adressenerzeugungsmittel (312, 314, 315)
erzeugten Adresse in die Koeffizientenspeichermittel (311) geschrieben wird,
wobei die sequentiell in die Koeffizienteneingabemittel (321, 323, 325)
eingegebenen Koeffizienten an entsprechenden Schreibadressen in die
Koeffizientenspeichermittel (311) geschrieben werden,
wobei, wenn die Schreibadresse auf die letzte Adresse angestiegen oder auf
die erste Adresse gefallen ist, die Adressenerzeugungsmittel (312, 314, 315)
ein Träger- bzw. Übertragssignal ausgeben, durch das die Koeffizienten, die
später in die Koeffizienteneingabemittel (321, 323, 325) eingegeben werden,
nicht an der ausgewählten Adresse in die Koeffizientenspeichermittel (311)
geschrieben werden, sondern automatisch zu den
Koeffizienteneingabemitteln einer nächsten
Digitalsignalverarbeitungsschaltung übertragen werden, und zwar synchron mit dem ersten
Zeitsteuersignal (tim1).
2. Digitalsignalverarbeitungsschaltung nach Anspruch 1, wobei ferner
Koeffizientenausgabemittel (322, 324) vorgesehen sind, die aktiviert werden,
wenn die durch die Adressenerzeugungsmittel erzeugte Adresse auf eine
letzte Adresse angestiegen oder auf die erste Adresse der
Koeffizientenspeichermittel (311) gefallen ist, zur Ausgabe des durch die
Koeffizienteneingabemittel eingegebenen Koeffizienten an eine nächste
Digitalsignalverarbeitungsschaltung.
3. Digitalsignalverarbeitungsschaltung nach Anspruch 1, wobei die
Adressenerzeugungsmittel (312, 314, 315) eine gewisse Anzahl von
Adressen synchron mit einer Samplingperiode erzeugen.
4. Digitalsignalverarbeitungsschaltung nach Anspruch 1, wobei die
Koeffizentenspeichermittel (311) ein Random Access Memory (RAM) sind.
5. Digitalsignalverarbeitungsschaltung nach Anspruch 1, wobei die
Adressenerzeugungsmittel (312, 314, 315) durch einen Adressenzähler (312)
konfiguriert sind, der eine Anzahl von Impulsen bzw. Pulsen zählt, die in dem
Zeitsteuersignal (tim1) umfaßt sind, welches synchron mit Bittakten in einer
Samplingperiode erzeugt wird, um einen Zählstand als die Adresse
auszugeben, der von dem von einer externen Einrichtung gegebenen
Anfangsstand erhöht bzw. vermindert wird, wobei der Adressenzähler (312)
entweder aufwärts oder abwärts zählt gemäß einer Anweisung von der
externen Einrichtung.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5352248A JP2845115B2 (ja) | 1993-12-29 | 1993-12-29 | デジタル信号処理回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69425126D1 DE69425126D1 (de) | 2000-08-10 |
DE69425126T2 true DE69425126T2 (de) | 2001-03-22 |
Family
ID=18422773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69425126T Expired - Fee Related DE69425126T2 (de) | 1993-12-29 | 1994-12-28 | Digitale Signalverarbeitungsschaltung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5708842A (de) |
EP (1) | EP0661648B1 (de) |
JP (1) | JP2845115B2 (de) |
DE (1) | DE69425126T2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10309504B4 (de) * | 2002-03-01 | 2007-05-10 | Visteon Global Technologies, Inc., Dearborn | Verfahren zum Filtern eines Eingangssignals für einen Digitalsignalprozessor und Vorrichtung zur Durchführung des Verfahrens |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3451576B2 (ja) * | 1996-09-20 | 2003-09-29 | 株式会社日立製作所 | 情報処理システム |
DE19704044A1 (de) * | 1997-02-04 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine |
KR100237745B1 (ko) * | 1997-05-23 | 2000-01-15 | 김영환 | 회전형 인터리버/디인터리버의 메모리 주소 발생장치 및 그 방법 |
JP4426344B2 (ja) * | 2004-03-09 | 2010-03-03 | Okiセミコンダクタ株式会社 | メモリデバイス制御方法および装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3969703A (en) * | 1973-10-19 | 1976-07-13 | Ball Corporation | Programmable automatic controller |
US4099230A (en) * | 1975-08-04 | 1978-07-04 | California Institute Of Technology | High level control processor |
SE408985B (sv) * | 1977-12-27 | 1979-07-16 | Philips Svenska Ab | Pulsgenerator |
JPS5835627A (ja) * | 1981-08-26 | 1983-03-02 | Toshiba Corp | メモリデ−タ先取り制御方式 |
US4604695A (en) * | 1983-09-30 | 1986-08-05 | Honeywell Information Systems Inc. | Nibble and word addressable memory arrangement |
JPH01105611A (ja) * | 1987-10-19 | 1989-04-24 | Hitachi Shonan Denshi Co Ltd | ディジタル・フィルタ |
JPH0770961B2 (ja) * | 1988-08-12 | 1995-07-31 | 日本電気株式会社 | マイクロコンピュータ |
JPH03217122A (ja) * | 1990-01-23 | 1991-09-24 | Matsushita Electric Ind Co Ltd | 位相同期信号発生装置 |
JPH0767063B2 (ja) * | 1990-01-23 | 1995-07-19 | ヤマハ株式会社 | デジタル信号処理回路 |
FR2664114A1 (fr) * | 1990-07-02 | 1992-01-03 | Alcatel Radiotelephone | Module interface de transfert de donnees. |
EP0474246A2 (de) * | 1990-09-06 | 1992-03-11 | Matsushita Electric Industrial Co., Ltd. | Bildsignalverarbeitungsgerät |
-
1993
- 1993-12-29 JP JP5352248A patent/JP2845115B2/ja not_active Expired - Fee Related
-
1994
- 1994-12-28 EP EP94120867A patent/EP0661648B1/de not_active Expired - Lifetime
- 1994-12-28 DE DE69425126T patent/DE69425126T2/de not_active Expired - Fee Related
-
1997
- 1997-03-21 US US08/822,770 patent/US5708842A/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10309504B4 (de) * | 2002-03-01 | 2007-05-10 | Visteon Global Technologies, Inc., Dearborn | Verfahren zum Filtern eines Eingangssignals für einen Digitalsignalprozessor und Vorrichtung zur Durchführung des Verfahrens |
Also Published As
Publication number | Publication date |
---|---|
JP2845115B2 (ja) | 1999-01-13 |
DE69425126D1 (de) | 2000-08-10 |
EP0661648B1 (de) | 2000-07-05 |
US5708842A (en) | 1998-01-13 |
JPH07199980A (ja) | 1995-08-04 |
EP0661648A3 (de) | 1997-06-04 |
EP0661648A2 (de) | 1995-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3851053T2 (de) | Fir digitale filteranordnung. | |
DE3686436T2 (de) | Speichersystem mit hoher leistung. | |
DE3485792T2 (de) | Digitale signalverarbeitungseinrichtungen. | |
DE3752017T2 (de) | Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit | |
DE3786594T2 (de) | Speicherverwaltungseinheit für Digitalsignalprozessor. | |
DE3784050T2 (de) | Ein paralleler datenprozessor. | |
DE3688640T2 (de) | Suchgerät. | |
DE3752280T2 (de) | Mustergenerator | |
EP0974977A2 (de) | Integrierter Speicher | |
DE69524348T2 (de) | Halbleiterspeicheranordnung mit einem synchronen DRAM, dessen Geschwindigkeitsgrad nicht begrenzt ist | |
DE2934971A1 (de) | Datenverarbeitungssystem | |
DE3789731T2 (de) | Digitaler Videosignalprozessor. | |
DE2756890A1 (de) | Datenverarbeitungssystem | |
DE19822776A1 (de) | Datenverarbeitungsvorrichtung | |
DE3587176T2 (de) | Verfahren und einrichtung zum mischen/sortieren von daten. | |
DE4104095C2 (de) | Halbleiterspeichereinrichtung und Betriebsverfahren für eine Halbleiterspeichereinrichtung | |
DE2911909A1 (de) | Verfahren und geraet zur digitalen datenverarbeitung, insbesondere von digitalen audiosignalen | |
DE69821461T2 (de) | Logische Schaltung mit eigener Takterzeugung und zugehöriges Verfahren | |
DE69225095T2 (de) | Wirksamer Arbiter | |
DE69425126T2 (de) | Digitale Signalverarbeitungsschaltung | |
DE69521464T2 (de) | Paralleler Prozessor | |
DE3650508T2 (de) | Speicheranordnung zur Simulation eines Schieberegisters | |
DE68903280T2 (de) | Vektorschlange in computern mit vektorregister. | |
DE69026414T2 (de) | Binäres Addiergerät | |
DE3314139C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |