DE102021124135B4 - Method and device for digital signal processing - Google Patents
Method and device for digital signal processing Download PDFInfo
- Publication number
- DE102021124135B4 DE102021124135B4 DE102021124135.9A DE102021124135A DE102021124135B4 DE 102021124135 B4 DE102021124135 B4 DE 102021124135B4 DE 102021124135 A DE102021124135 A DE 102021124135A DE 102021124135 B4 DE102021124135 B4 DE 102021124135B4
- Authority
- DE
- Germany
- Prior art keywords
- signal
- evaluation
- signal block
- time interval
- block
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000011156 evaluation Methods 0.000 claims abstract description 94
- 230000009466 transformation Effects 0.000 claims abstract description 42
- 230000001131 transforming effect Effects 0.000 claims abstract description 12
- 230000005236 sound signal Effects 0.000 claims description 8
- 230000003111 delayed effect Effects 0.000 claims description 4
- 230000003595 spectral effect Effects 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G7/00—Volume compression or expansion in amplifiers
- H03G7/06—Volume compression or expansion in amplifiers having semiconductor devices
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Ein Verfahren zur digitalen Signalverarbeitung, das Verfahren umfassend:
Empfangen (102) eines ersten von mehreren Signalblöcken während eines ersten Zeitintervalls zur Transformation und Evaluation, wobei die mehreren Signalblöcke in jeweiligen aufeinanderfolgenden Zeitintervallen empfangen werden;
Transformieren (104) des ersten Signalblocks während des ersten Zeitintervalls;
dadurch gekennzeichnet, dass das Verfahren ferner umfasst:
Verzögern (112) der Evaluation des ersten Signalblocks, so dass zumindest ein Teil des ersten Signalblocks nach Ablauf des ersten Zeitintervalls evaluiert wird,
wobei dem Transformieren des ersten Signalblocks eine höhere Priorität zugeordnet ist als dem Evaluieren des ersten Signalblocks.
A method for digital signal processing, the method comprising:
receiving (102) a first of a plurality of signal blocks during a first time interval for transformation and evaluation, the plurality of signal blocks being received at respective successive time intervals;
transforming (104) the first signal block during the first time interval;
characterized in that the method further comprises:
Delaying (112) the evaluation of the first signal block so that at least part of the first signal block is evaluated after the first time interval has expired,
wherein the transforming of the first signal block is assigned a higher priority than the evaluation of the first signal block.
Description
Die Erfindung betrifft ein Verfahren und Vorrichtungen zur digitalen Signalverarbeitung, insbesondere zur Optimierung digitaler Signalverarbeitung in Audio- oder Videoapplikationen.The invention relates to a method and devices for digital signal processing, in particular for optimizing digital signal processing in audio or video applications.
Hintergrundbackground
Die Signalflüsse in digital signalprocessing (DSP)-basierten Audioanwendungen, insbesondere in Automotive-Audio-Systemen, enthalten einen beträchtlichen Teil von Modulen, die eine direkte Umwandlung von Audiosignalen durchführen und eine Echtzeitverarbeitung erfordern, um eine Artefakt-freie Signalumwandlung zu gewährleisten. Signalflüsse mit einer großen Anzahl von DSP-Modulen, die in einer Echtzeitumgebung verarbeitet werden, können zu einer Überlastung des DSP führen und erfordern zusätzliche Rechenressourcen, z. B. einen leistungsfähigeren DSP oder sogar einen weiteren DSP.The signal flows in digital signal processing (DSP)-based audio applications, especially in automotive audio systems, contain a significant part of modules that perform direct conversion of audio signals and require real-time processing to ensure artifact-free signal conversion. Signal flows with a large number of DSP modules processed in a real-time environment can overload the DSP and require additional computing resources, e.g. B. a more powerful DSP or even another DSP.
Gängige Arten von DSP-Modulen, die im Signalfluss vorhanden sind, enthalten einerseits Transformations- oder Synthesemodule, sowie andererseits Evaluationsmodule. Beispielsweise enthalten Audiokompressoren einen Evaluationsteil, in dem die Leistung eines Signals bewertet wird, und einen Transformationsteil, in dem die Verstärkung an den Pegel des Eingangssignals angepasst und angewendet wird.Common types of DSP modules present in the signal flow include transformation or synthesis modules on the one hand, and evaluation modules on the other. For example, audio compressors contain an evaluation part, in which the performance of a signal is evaluated, and a transformation part, in which the gain is adjusted and applied to the level of the input signal.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, die Effizienz von DSP Vorrichtungen und Verfahren zu verbessern.The object of the present invention is therefore to improve the efficiency of DSP devices and methods.
Zusammenfassung der ErfindungSummary of the Invention
Die Lösung dieser Aufgabe besteht insbesondere darin, ein Verfahren zur digitalen Signalverarbeitung bereitzustellen, wobei das Verfahren umfasst:
- • Empfangen eines ersten von mehreren Signalblöcken während eines ersten Zeitintervalls zur Transformation und Evaluation, wobei die mehreren Signalblöcke in jeweiligen aufeinanderfolgenden Zeitintervallen empfangen werden;
- • Transformieren des ersten Signalblocks während des ersten Zeitintervalls; und
- • Verzögern der Evaluation des ersten Signalblocks, so dass zumindest ein Teil des ersten Signalblocks nach Ablauf des ersten Zeitintervalls evaluiert wird.
- • receiving a first of a plurality of signal blocks during a first time interval for transformation and evaluation, the plurality of signal blocks being received at respective consecutive time intervals;
- • transforming the first signal block during the first time interval; and
- • Delaying the evaluation of the first signal block so that at least part of the first signal block is evaluated after the first time interval has elapsed.
Mit anderen Worten werden Auswertungsteile oder andere Teile von DSP-Modulen, die nicht kritischerweise in Echtzeit bearbeitet werden müssen, von der Echtzeit- in die Nicht-Echtzeit-Verarbeitung verlegt. Wiederum anders ausgedrückt: Transformations- oder Synthesemodule erfordern oftmals eine Echtzeitverarbeitung, wohingegen Ausgaben von Evaluationsmodule weniger zeitlich präzise berechnet werden müssen. Im Gegensatz zur Ausführung, Synthese bzw. Transformation kann der Auswertungsteil oft auf eine grobe, robuste Art und Weise erfolgen, d.h. es besteht keine Notwendigkeit, die gleiche zeitliche Präzision wie bei der Transformation von (Audio-) Signalen einzuhalten, die frei von Artefakten sein muss. Hierdurch wird die DSP-Last verringert und die Anzahl der in Echtzeit zu verarbeitenden bzw. zu transformierenden Signalblöcke erhöht. Dadurch wird zusätzliche Rechenleistung freigesetzt, ohne die Audioqualität wesentlich zu beeinträchtigen, und die Notwendigkeit zusätzlicher Prozessoren wird vermieden. Weiter ermöglicht das Verfahren die Einsparung von Kosten für die Verwendung kostengünstigerer DSP, ermöglicht die Erhöhung der Anzahl von z.B. Echtzeit-Audiomodulen im Signalfluss unter Verwendung desselben DSP, und ermöglicht die Verringerung des Stromverbrauchs, was zu einer längeren Betriebsdauer des Geräts ohne erneutes Aufladen führt. Dies ist, insbesondere von Vorteil, wenn die Erfindung in mobilen Anwendungen verwendet wird.In other words, evaluation parts or other parts of DSP modules that do not critically need to be processed in real-time are moved from real-time to non-real-time processing. In other words, transformation or synthesis modules often require real-time processing, whereas evaluation module outputs need to be computed with less temporal precision. In contrast to execution, synthesis or transformation, the evaluation part can often be done in a crude, robust way, i.e. there is no need to maintain the same temporal precision as when transforming (audio) signals that are free of artifacts must. This reduces the DSP load and increases the number of signal blocks to be processed or transformed in real time. This frees up additional processing power without significantly degrading audio quality and avoids the need for additional processors. Further, the method allows to save costs for using cheaper DSP, allows to increase the number of e.g. This is particularly advantageous when the invention is used in mobile applications.
In einer bevorzugten Ausführungsform umfasst die Mehrzahl von Signalblöcken Audiosignale. Die Erfindung bezieht sich damit auf die digitale Signalverarbeitung, insbesondere auf die Leistungsoptimierung der digitalen Signalverarbeitung in Audioanwendungen, bei denen der Signalverarbeitungsfluss Module mit Evaluationsteilen, z. B. Kompressoren, Pegelmesser, dynamische Entzerrung usw., umfasst. Die Signalverarbeitung ist jedoch nicht auf Audiosignalverarbeitung beschränkt. Sie kann beispielsweise Videosignalverarbeitung oder andere Signalverarbeitungsanwendungen umfassen, insbesondere solche Signalverarbeitungen, bei denen eine Transformation (hoher Priorität) die Ergebnisse einer Evaluierung (niedrigerer Priorität) verwendet.In a preferred embodiment, the plurality of signal blocks includes audio signals. The invention thus relates to digital signal processing, in particular to the performance optimization of digital signal processing in audio applications in which the signal processing flow requires modules with evaluation parts, e.g. As compressors, level meters, dynamic equalization, etc. includes. However, the signal processing is not limited to audio signal processing. She may include, for example, video signal processing or other signal processing applications, particularly those signal processing where a transform (high priority) uses the results of an evaluation (lower priority).
Falls die Rechenleistung für den gesamten Signalfluss ausreicht, kann durch die Verlagerung einiger Teile der Echtzeitverarbeitung in die Nicht-Echtzeitverarbeitung die Verwendung eines leistungsärmeren Prozessors, z. B. aus der gleichen Familie, oder die Nutzung der freiwerdenden DSP-Leistung für andere Aufgaben in Betracht gezogen werden, oder, bei mobilen Geräten, die Verringerung der Taktfrequenz, wodurch der Stromverbrauch gesenkt und die Betriebsdauer des Geräts ohne erneutes Aufladen verlängert wird.If the computing power is sufficient for the entire signal flow, shifting some parts of the real-time processing to non-real-time processing makes it possible to use a less powerful processor, e.g. from the same family, or using the freed-up DSP power for other tasks, or, in the case of mobile devices, reducing the clock frequency, thereby reducing power consumption and extending the device's operating time without recharging.
Vorzugsweise umfasst das Transformieren des ersten Signalblocks das Verwenden eines Ergebnisses einer Evaluation mindestens eines vorangehenden Signalblocks oder eines Teils des zumindest einen vorangehenden Signalblocks, welcher während mindestens eines vorangehenden Zeitintervalls vor dem ersten Zeitintervall erhalten und/oder evaluiert wurde. Mit anderen Worten: Vorangehende Signalblöcke oder Teile vorangehender Signalblöcke können innerhalb der Zeitintervalls, in denen die Signalblöcke empfangen wurden, evaluiert werden, oder in darauf folgenden Zeitintervallen evaluiert werden. Dadurch werden Transformieren und Evaluieren des Signalblocks voneinander getrennt und eine vollständige Transformation des Signalblocks kann während des Empfangs-Zeitintervall erfolgen, wohingegen die Evaluation vollständig oder in Teilen in einem späteren Zeitintervall erfolgen kann. Ferner wird hierdurch das Transformieren des Signalblocks optimiert.Preferably, transforming the first signal block comprises using a result of an evaluation of at least one previous signal block or part of the at least one previous signal block obtained and/or evaluated during at least one previous time interval prior to the first time interval. In other words: preceding signal blocks or parts of preceding signal blocks can be evaluated within the time interval in which the signal blocks were received, or evaluated in subsequent time intervals. As a result, the transformation and evaluation of the signal block are separated from one another and a complete transformation of the signal block can take place during the reception time interval, whereas the evaluation can take place completely or in parts in a later time interval. Furthermore, this optimizes the transformation of the signal block.
In einer bevorzugten Ausführungsform umfasst die Evaluation des ersten, des oder eines vorangehenden, oder einem beliebigen der mehreren Signalblöcke das Bestimmen von Evaluationsparametern. Solche Evaluationsparameter umfassen insbesondere eine Leistung, eine Energie, oder eine spektrale Dichte des Signalblocks. Dadurch können verschiedene Eigenschaften der Signalblöcke charakterisiert werden und im Folgenden während der Transformation optimiert werden.In a preferred embodiment, evaluating the first, the or a preceding, or any one of the plurality of signal blocks includes determining evaluation parameters. Such evaluation parameters include, in particular, a power, an energy, or a spectral density of the signal block. In this way, various properties of the signal blocks can be characterized and subsequently optimized during the transformation.
Vorzugsweise umfasst das Transformieren des ersten Signalblocks ferner das Anpassen einer Signalverstärkung des ersten Signalblocks, insbesondere basierend auf einer evaluierten Signalstärke eines oder des empfangenen ersten oder vorangehenden Signalblocks. Dies gewährleistet die Ausgabe eines verbesserten (Audio-)Signals nach dem Transformieren.The transformation of the first signal block preferably also includes the adaptation of a signal amplification of the first signal block, in particular based on an evaluated signal strength of a received first or preceding signal block. This ensures the output of an improved (audio) signal after the transformation.
Dem Transformieren des ersten Signalblocks ist eine höhere Priorität zugeordnet als dem Evaluieren des ersten Signalblocks. Somit kann eine Steuerung oder Planungsvorrichtung veranlassen, einen, beispielsweise neu empfangenen, Signalblock zu transformieren und die, beispielsweise bereits begonnene, Evaluierung eines zuvor empfangenenA higher priority is assigned to the transformation of the first signal block than to the evaluation of the first signal block. Thus, a controller or planning device can cause a signal block, for example a newly received one, to be transformed and the evaluation of a previously received signal block, for example one that has already started, to be carried out
Signalblocks zu verzögern. Hierzu können insbesondere Task Scheduler oder Semaphoren vorgesehen sein. Dadurch können Sequenzen von Signalblöcken verzögerungsfrei transformiert und ausgegeben werden, wodurch es beispielsweise im Fall von Audiosignalen zu keinen Unterbrechungen oder anderen auditiven Störungen kommt.to delay signal blocks. In particular, task schedulers or semaphores can be provided for this purpose. This allows sequences of signal blocks to be transformed and output without delay, which means that there are no interruptions or other auditory disturbances in the case of audio signals, for example.
In einer bevorzugten Ausführungsform umfassen die mehreren Signalblöcke, insbesondere der erste Signalblock, eine oder mehrere Signaleinheiten. Mit anderen Worten: Eintreffende Signale werden bevorzugt blockweise prozessiert. Dadurch können Ressourcen effizient eingesetzt werden.In a preferred embodiment, the multiple signal blocks, in particular the first signal block, include one or more signal units. In other words: Incoming signals are preferably processed in blocks. This means that resources can be used efficiently.
In einer alternativen, möglicherweise eigenständigen Ausführungsform umfasst das Verfahren alternativ oder in Ergänzung zu dem Verzögern der Evaluation: das Bestimmen eines verbleibenden Zeitabschnitts innerhalb des ersten Zeitintervalls nach Abschluss des Transformierens des ersten Signalblocks; und das Evaluieren zumindest eines Teils des ersten Signalblocks während des verbleibenden Zeitabschnitts.In an alternative, possibly independent embodiment, the method comprises, alternatively or in addition to delaying the evaluation: determining a remaining time segment within the first time interval after the transformation of the first signal block has been completed; and evaluating at least part of the first signal block during the remaining time period.
Eine alternative Ausführungsform der Erfindung besteht also darin, einen weiteren Block in das DSP-Framework einzuführen, der die Zeit auswertet, die nach der Echtzeitverarbeitung verbleibt, und der die Anzahl der für den Auswertungsteil bzw. die Evaluierung zu verwendenden Abtastwerte reduziert, so dass der Auswertungsteil weniger Zeit benötigt, was zu einer schnelleren Aktualisierung der ausgewerteten Werte führt. Mit anderen Worten: die nach der Transformation verbleibende Zeit innerhalb des ersten Zeitintervalls, d.h. bis zum (voraussichtlichen) Empfang eines weiteren, nachfolgenden Signalblocks, wird bestimmt und effektiv zur Evaluierung zumindest eines Teils des ersten Signalblocks genutzt.An alternative embodiment of the invention is therefore to introduce another block in the DSP framework, which evaluates the time remaining after the real-time processing and which reduces the number of samples to be used for the evaluation part, so that the Evaluation part takes less time, which leads to a faster update of the evaluated values. In other words: the time remaining after the transformation within the first time interval, i.e. until the (expected) receipt of another, subsequent signal block, is determined and effectively used to evaluate at least a part of the first signal block.
Vorzugsweise umfasst das Verfahren ferner: Bestimmen einer Anzahl erster Signaleinheiten kleiner als eine Gesamtanzahl aller Signaleinheiten des ersten Signalblocks zur Evaluation während des ersten Zeitintervalls, insbesondere wenn der verbleibende Zeitabschnitt kürzer ist als ein benötigter Zeitabschnitt zur Evaluation aller Signaleinheiten des ersten Signalblocks; und Evaluieren der Anzahl erster Signaleinheiten während des verbleibenden Zeitabschnitts. Es wird also eine Anzahl von Signaleinheiten bestimmt, die in der noch verbleibenden Zeit im Empfangs-Zeitintervall, also dem Zeitintervall in dem der Signalblock empfangen wurde, nach vollständiger Transformation zur Verfügung steht. Diese Anzahl von Signaleinheiten wird dann während der verbleibenden Zeit im Empfangs-Zeitintervall evaluiert. Mit anderen Worten: nicht alle Signaleinheiten eines Signalblocks werden evaluiert, sondern nur ein Teil der Signaleinheiten. Dadurch werden eine Verzögerung der Transformation und eine Überlastung des DSP-Prozessors vermieden.Preferably, the method further comprises: determining a number of first signal units smaller than a total number of all signal units of the first signal block for evaluation during the first time interval, in particular if the remaining time period is shorter than a required time period for evaluating all signal units of the first signal block; and evaluating the number of first signal units during the remaining time period. A number of signal units is thus determined, which in the remaining time is available in the reception time interval, i.e. the time interval in which the signal block was received, after complete transformation. This number of signal units is then evaluated during the remaining time in the receive time interval. In other words: not all signal units of a signal block are evaluated, only a part of the signal units. This avoids delaying the transformation and overloading the DSP processor.
In einer bevorzugten Ausführungsform wird die Anzahl erster Signaleinheiten nur dann im ersten Zeitintervall evaluiert, wenn die Anzahl größer ist als ein erster vordefinierter Grenzwert. Dadurch wird sichergestellt, dass eine Anzahl von Signaleinheiten evaluiert wird, die eine valide Aussage über den Signalblock erlaubt. Es wird vermieden, dass eine zu kleine Anzahl von Signaleinheiten evaluiert wird und Artefakte während der Auswertung impliziert werden.In a preferred embodiment, the number of first signal units is only evaluated in the first time interval if the number is greater than a first predefined limit value. This ensures that a number of signal units is evaluated that allows a valid statement about the signal block. It is avoided that too small a number of signal units is evaluated and artefacts are implied during the evaluation.
In einer weiteren bevorzugten Ausführungsform wird die Anzahl erster Signaleinheiten nur dann im ersten Zeitintervall evaluiert, wenn der verbleibende Zeitabschnitt länger ist als ein zweiter vordefinierter Grenzwert. Dadurch wird sichergestellt, dass eine Anzahl von Signaleinheiten, welche direkt von der Länge des Zeitabschnitts abhängen kann, evaluiert werden kann, die eine valide Aussage über den Signalblock erlaubt. Dadurch wird die Anzahl evaluierter Signaleinheiten optimiert und die Evaluationsqualität kann automatisch entsprechend der freien DSP-Ressourcen adaptiert werden.In a further preferred embodiment, the number of first signal units is only evaluated in the first time interval if the remaining time segment is longer than a second predefined limit value. This ensures that a number of signal units, which can depend directly on the length of the time segment, can be evaluated, which allows a valid statement to be made about the signal block. This optimizes the number of evaluated signal units and the evaluation quality can be automatically adapted according to the free DSP resources.
Vorzugsweise umfasst das Evaluieren des ersten Signalblocks das Durchführen einer Mehrzahl von Evaluationsaufgaben, wobei erste Evaluationsaufgaben niedrigerer Priorität verzögert werden und zweite Evaluationsaufgaben höherer Priorität innerhalb des ersten Zeitintervalls ausgeführt werden, insbesondere wobei die Priorität der Evaluierungsaufgaben vorbestimmt ist. Dadurch kann sichergestellt werden, dass Evaluationsaufgaben, welche größeren Einfluss auf die Transformation bzw. die Genauigkeit der Transformation des Signalblocks haben, bevorzugt noch innerhalb des ersten Zeitintervalls durchgeführt werden, wohingegen Evaluationsaufgaben, welche kleineren Einfluss auf die Transformation des Signalblocks haben, verzögert durchgeführt werden. Dadurch kann eine hohe Qualität des Signals erhalten werden.Evaluating the first signal block preferably comprises performing a plurality of evaluation tasks, first lower-priority evaluation tasks being delayed and second higher-priority evaluation tasks being performed within the first time interval, in particular the priority of the evaluation tasks being predetermined. This can ensure that evaluation tasks that have a greater influence on the transformation or the accuracy of the transformation of the signal block are preferably still carried out within the first time interval, whereas evaluation tasks that have less influence on the transformation of the signal block are carried out with a delay. Thereby a high quality of the signal can be obtained.
In einer bevorzugten Ausführungsform wird ein vordefinierter Zeitabschnitt innerhalb des ersten Zeitintervalls weder zum Evaluieren noch zum Transformieren des ersten Signalblocks genutzt. Hierdurch kann vermieden werden, dass der Auswertungsteil bzw. die Evaluierung des Signalblocks oder der Signalblöcke die verbleibenden freien Ressourcen belegt, obwohl andere Aufgaben oder andere Prozessierungsmodule durchgeführt werden müssten die auf demselben DSP-Prozessor laufen. Um diesen Konflikt zu lösen, werden oben genannte vordefinierte Zeitabschnitte hinzugefügt, in denen die Kontrolle an den Scheduler des Betriebssystems zurückgegeben wird. Die Häufigkeit, Länge und zeitliche Positionierung dieser Abschnitte kann konfigurierbar sein.In a preferred embodiment, a predefined time segment within the first time interval is used neither for evaluating nor for transforming the first signal block. In this way it can be avoided that the evaluation part or the evaluation of the signal block or the signal blocks occupies the remaining free resources, although other tasks or other processing modules which run on the same DSP processor would have to be carried out. To resolve this conflict, the above predefined periods of time are added, during which control is returned to the operating system's scheduler. The frequency, length, and timing of these sections may be configurable.
Als ein weiterer möglicherweise eigenständiger Aspekt besteht die Lösung der eingangs genannten Aufgabe bei der Vorrichtung der eingangs erwähnten Art alternativ insbesondere darin, dass die Vorrichtung Mittel zur Ausführung des Verfahrens nach einem der vorhergehenden Ausführungsformen umfasst.As a further possibly independent aspect, the solution to the object mentioned at the outset with the device of the type mentioned at the outset consists alternatively in particular in that the device comprises means for carrying out the method according to one of the preceding embodiments.
Als ein weiterer möglicherweise eigenständiger Aspekt besteht die Lösung der eingangs genannten Aufgabe bei einem computerlesbaren Speichermedium alternativ insbesondere darin, dass das computerlesbares Speichermedium Befehle umfasst, die bei der Ausführung durch einen Computer diesen veranlassen, das Verfahren nach einer der oben genannten Ausführungsformen auszuführen.As a further possibly independent aspect, the solution to the task mentioned at the outset in the case of a computer-readable storage medium consists alternatively, in particular, in that the computer-readable storage medium comprises instructions which, when executed by a computer, cause the computer to carry out the method according to one of the above-mentioned embodiments.
Nachstehend wird die Erfindung anhand mehrerer bevorzugter Ausführungsbeispiele näher beschrieben.The invention is described in more detail below on the basis of several preferred exemplary embodiments.
Es zeigt:
-
1 ein Flussdiagramm beschreibend eine Ausführungsform eines Verfahrens zur digitalen Signalprozessierung; -
2 eine Skizze beschreibend eine Ausführungsform eines Verfahrens zur digitalen Signalprozessierung; -
3 ein Flussdiagramm beschreibend eine weitere Ausführungsform eines Verfahrens zur digitalen Signalprozessierung; -
4 ein Blockdiagramm beschreibend eine Vorrichtung zur digitalen Signalprozessierung.
-
1 a flow chart describing an embodiment of a method for digital signal processing; -
2 a sketch describing an embodiment of a method for digital signal processing; -
3 a flow chart describing a further embodiment of a method for digital signal processing; -
4 a block diagram describing a device for digital signal processing.
Figurenbeschreibungcharacter description
Wenn beispielsweise ein das Verfahren ausführender digitale Signalprozessor eine blockweise Signalverarbeitung für ein Stereo-Audiosignal durchführt, das aus einem linken und einem rechten Audiokanal besteht, die mit einer Abtastrate von 48 kHz empfangen und digitalisiert wurden und in Blöcken von 16 Abtastwerten für jeden Kanal zusammengefasst sind, besteht ein Signalblock aus 2x 16 = 32 Abtastwerten, wobei der erste Teilblock von 16 Abtastwerte des linken Kanals und der zweite Teilblock 16 Abtastwerte des rechten Kanals enthält. In diesem Beispiel kann ein Signalblock also aus zwei Signalen bestehen.For example, if a digital signal processor executing the method performs block-wise signal processing on a stereo audio signal consisting of left and right audio channels received at a sampling rate of 48 kHz and digitized and combined into blocks of 16 samples for each channel , a signal block consists of 2x 16 = 32 samples, the first sub-block containing 16 samples of the left channel and the second sub-block containing 16 samples of the right channel. In this example, a signal block can consist of two signals.
In Schritt 104 wird der erste Signalblock transformiert. In einer bevorzugten Ausführungsform werden Evaluationsergebnisse eines vorangegangenen Signalblocks als Basis für die Transformation des ersten Signalblocks verwendet (Schritt 106). Das Transformieren des ersten Signalblocks kann das Anpassen der Signalverstärkung umfassen (Schritt 108).In
Dazu kann das Verfahren umfassen: Evaluieren zumindest eines oder des vorangehenden Signalblocks oder eines Teils des zumindest einen vorangehenden Signalblocks während des ersten Zeitintervalls und/oder während zumindest eines vorangehenden Zeitintervalls vor dem ersten Zeitintervall.To this end, the method can include: evaluating at least one or the preceding signal block or part of the at least one preceding signal block during the first time interval and/or during at least one preceding time interval before the first time interval.
In Schritt 110 wird der erste Signalblock evaluiert. Die Evaluation zumindest eines Teil des ersten Signalblocks kann in Schritt 112 verzögert werden. Dadurch können Auswertungs- bzw. Evaluationsteil und Umwandlungs- bzw. Transformationsteile getrennt werden, wobei die Evaluation in Nicht-Echtzeit und die Transformation in Echtzeit erfolgen kann.In
Einige DSP-Module enthalten einen Evaluationsteil, der in Schritt 114 einige Parameter der Eingangssignale bestimmt und auswertet, z. B. die momentane Energie oder die momentane Spektraldichte. Die Evaluation kann in Schritt 116 die Durchführung einer Mehrzahl von Evaluationsaufgaben umfassen.Some DSP modules contain an evaluation part, which in
Das Ergebnis der Messung/Evaluation kann für die weitere Verarbeitung der Eingangssignale verwendet werden. Zum Beispiel ändert ein DSP-Modul „Compressor“ die Verstärkung auf der Grundlage der Auswertung der momentanen Energie des Eingangssignals. Ein weiteres Beispiel ist ein DSP-Modul „Level Meter“, das die Leistung des Signals auswertet und an einen Anschluss zur weiteren Beobachtung in einem Diagnosegerät ausgibt. Im letzten Beispiel gibt es in manchen Ausführungsformen keine weitere Verarbeitung, die Echtzeit erfordert, wenn für die Beobachtung nicht garantiert werden muss, dass der Prozess innerhalb einer bestimmten Zeit abgeschlossen wird. In solchen Anwendungen bleibt es unbemerkt, wenn das Ergebnis der Auswertung einige Millisekunden später an den Beobachter geliefert wird oder wenn ein Beobachtungsrahmen übersprungen wird.The result of the measurement/evaluation can be used for further processing of the input signals. For example, a Compressor DSP module changes gain based on evaluating the instantaneous energy of the input signal. Another example is a "Level Meter" DSP module that evaluates the power of the signal and outputs it to a port for further observation in a diagnostic device. In the last example, in some embodiments there is no further processing that requires real time if the observation does not need to be guaranteed to complete the process within a certain time. In such applications it goes unnoticed if the result of the evaluation is delivered to the observer a few milliseconds later or if an observation frame is skipped.
Die digitale Signalprozessierung kann auf die Audiosignalverarbeitung, Videosignalverarbeitung, auf Steuersysteme und auf andere Signalverarbeitungsanwendungen angewendet werden, bei denen eine Hauptaufgabe (mit hoher Priorität) die Ergebnisse einer oder mehrerer umliegender Aufgaben mit niedrigerer Priorität verwendet.Digital signal processing can be applied to audio signal processing, video signal processing, control systems, and other signal processing applications where a main (high priority) task uses the results of one or more surrounding lower priority tasks.
Die Auswertungsaufgaben bzw. die Evaluierung können bzw. kann für die nächste Signaleinheit bei signaleinheitsweiser Verarbeitung oder für einen Block von Signaleinheiten bei blockweiser Verarbeitung in Nicht-Echtzeit durchgeführt werden. Die signaleinheitsweise Verarbeitung ist ein Sonderfall der blockweisen Verarbeitung bei einer Blocklänge von eins bzw. einem Signal.The evaluation tasks or the evaluation can be carried out in non-real time for the next signal unit in the case of signal-unit-wise processing or for a block of signal units in the case of block-wise processing. Processing per signal unit is a special case of processing in blocks with a block length of one or one signal.
Im obigen Beispiel ist die Dauer des Echtzeit-Teils so lang, dass die Standard-Echtzeit-Implementierung des Evaluationsteils zu einer Überlastung des DSP führen würde, was im Beispiel von Audiosignalen zu einem verfälschten Klang am Ausgang zur Folge hätte. In
Wenn ein Echtzeit-Betriebssystem (RTOS) verwendet wird, das einen Aufgaben-Scheduler enthält, der auf Ereignisse reagiert, die typischerweise durch Semaphoren dargestellt werden, erfolgt die Abtastungen von Teilblöcken der auszuwertenden bzw. zu evaluierenden Signale automatisch, d.h. wenn die Signaltransformation, die typischerweise in der Echtzeit-Aufgabe mit der hohen Priorität durchgeführt wird, beendet ist, schaltet der Scheduler des RTOS automatisch auf die aktive Aufgabe mit der niedrigeren Priorität um (unter der Annahme, dass es keine anderen Semaphore von anderen Aufgaben mit höherer Priorität gibt). In einer bevorzugten Ausführungsform ist die Aufgabe mit der niedrigeren Priorität die Evaluation der Signalblöcke. Daher schaltet der RTOS-Scheduler auf diese Aufgabe um, und sie läuft so lange, bis die nächste Semaphore von der Aufgabe mit hoher Priorität (z. B. von der Echtzeit-Aufgabe, in der die Signaltransformation durchgeführt wird) auftritt. Dann übergibt der Scheduler automatisch die Kontrolle an diese Aufgabe. Dadurch kann die Methode einfach in bestehende Mechanismen der RTOSs implementiert werden.If a real-time operating system (RTOS) is used that contains a task scheduler that reacts to events that are typically represented by semaphores, the sampling of sub-blocks of the signals to be evaluated or to be evaluated takes place automatically, i.e. if the signal transformation, the typically performed in the real-time task with the high priority is finished, the scheduler of the RTOS automatically switches to the active task with the lower priority (assuming that there are no other semaphores from other higher priority tasks). In a preferred embodiment, the task with the lower priority is the evaluation of the signal blocks. Therefore, the RTOS scheduler switches to this task, and it runs until the next semaphore from the high-priority task (e.g., from the real-time task in which the signal transformation is performed) occurs. Then the scheduler automatically passes control to that task. As a result, the method can easily be implemented in existing mechanisms of the RTOSs.
In einer alternativen Ausführungsform kann die digitale Signalprozessierung auch ohne RTOS über eingebaute Mechanismen für den automatischen Wechsel zwischen Aufgaben verfügen. Solche Mechanismen können auf Interrupts mit unterschiedlichen Prioritäten basieren.In an alternative embodiment, even without RTOS, the digital signal processing can have built-in mechanisms for automatic switching between tasks. Such mechanisms can be based on interrupts with different priorities.
Basierend auf dieser Zeit kann die Anzahl zu evaluierender Signaleinheiten bzw. der für den Evaluationsteil zu verwendenden Abtastwerte bestimmt werden (Schritt 312). Je nachdem, ob die verbleibende Zeit überschritten wird oder nicht, wird die Anzahl der für den Auswertungsteil bzw. für die Evaluation zu verwendenden Proben bzw. Signaleinheiten verringert oder erhöht. In einer bevorzugten Ausführungsform kann die Anzahl reduziert werden, so dass der Evaluationsteil (Schritt 314) weniger Zeit benötigt, so dass die Evaluation innerhalb eines bestimmen Zeitintervalls durchgeführt werden kann, insbesondere innerhalb des Zeitintervalls, in dem der zu evaluierende Signalblock empfangen wurde. Die (Block)Länge des Transformationsteils bleibt unverändert. Der Algorithmus zur Bestimmung der verbleibenden Zeit und Anzahl der Signaleinheiten kann auch zusätzliche Konfigurationsparameter enthalten, wie z. B. die minimal zulässige Anzahl der für die Auswertung zu verwendenden Signaleinheiten, die wünschenswerte verbleibende Zeit nach Abschluss der Auswertung usw.Based on this time, the number of signal units to be evaluated or the number of samples to be used for the evaluation part can be determined (step 312). Depending on whether the remaining time is exceeded or not, the number of samples or signal units to be used for the analysis part or for the evaluation is reduced or increased. In a preferred embodiment, the number can be reduced so that the evaluation part (step 314) takes less time, so that the evaluation can be performed within a certain time interval, in particular within the time interval in which the signal block to be evaluated was received. The (block) length of the transformation part remains unchanged. The algorithm for determining the remaining time and number of signal units can also include additional configuration parameters, such as: B. the minimum allowed number of signal units to be used for the evaluation, the desirable time remaining after the evaluation is completed, etc.
Die Evaluation kann, wie in
In einem bevorzugten Ausführungsbeispiel können bei der Auswertung der momentanen Energie des Signals weniger Abtastwerte verwendet werden, ohne dass sich die Auswertung bzw. das Evaluationsergebnis wesentlich verändert wird oder verschlechtert. Wenn die Blocklänge beispielsweise 32 Signaleinheiten beträgt, kann der dynamische Kompressor nur die Hälfte der Signaleinheiten für die Evaluation der momentanen Energie verwenden. Dadurch kann Verarbeitungszeit eingespart werden (unabhängig davon, ob diese Verarbeitung in Echtzeit oder in Nicht-Echtzeit erfolgt).In a preferred exemplary embodiment, fewer sampled values can be used when evaluating the instantaneous energy of the signal without the evaluation or the evaluation result being significantly changed or worsened. For example, if the block length is 32 signal units, the dynamic compressor can only use half of the signal units for instantaneous energy evaluation. This can save processing time (regardless of whether this processing is real-time or non-real-time).
In einer bevorzugten Ausführungsform wird zuerst der auswertbare Teil des Signalblocks ausgewertet bzw. evaluiert, der in den vorangegangenen Zeitintervallen nicht ausgewertet bzw. evaluiert wurde, d.h. alle auswertbaren Signale werden zirkulär geplant ausgewertet, falls nur sehr wenig Zeit für die Auswertung zur Verfügung steht, die es nicht erlaubt, den gesamten auswertbaren Teil des ersten Signalblocks innerhalb der verbleibenden Zeit bis zum Beginn des nächsten Zeitintervalls auszuwerten.In a preferred embodiment, the analyzable part of the signal block is evaluated or evaluated first, which was not evaluated or evaluated in the previous time intervals, ie all analyzable signals are evaluated in a circularly planned manner if only very little time is available for the evaluation it doesn't allow the entire evaluable part of the first Evaluate signal blocks within the remaining time until the beginning of the next time interval.
Die Reduktion der Signalblocklänge kann unabhängig von der Nicht-Echtzeit-Verarbeitung der Evaluation verwendet werden. Es ist auch anwendbar, wenn der Evaluationsteil in Echtzeit bleibt.The signal block length reduction can be used independently of the non-real-time processing of the evaluation. It is also applicable when the evaluation part stays in real time.
Auf der Systemebene kann der Evaluierungsteil in eine separate Aufgabe mit einer niedrigeren Priorität als Echtzeit eingekapselt werden. Die Entscheidung darüber, welche Priorität zu verwenden ist, kann vom Systemintegrator getroffen werden. Wenn es mehrere gleichzeitige Nicht-Echtzeit-Aufgaben oder andere Aufgaben mit niedrigerer Priorität gibt, die von Zeit zu Zeit die Kontrolle erhalten sollen, kann es schwierig sein, diese Aufgaben zu starten, da der Auswertungsteil die verbleibenden freien Ressourcen belegt. Daher werden in einer bevorzugten Ausführungsform einige zusätzliche Blöcke bzw. Zeitabschnitte innerhalb eines Zeitintervalls bestimmt, in denen weder Transformation noch Evaluation durchgeführt werden, sondern in denen die Kontrolle der Scheduler des Betriebssystems zurückerlangt. Die Häufigkeit dieser zusätzlichen Blöcke kann konfigurierbar sein. Aufgaben, die in diesen Blöcken durchgeführt werden können obligatorische Aufgaben sein, die auf demselben digitalen Signalprozessor laufen.At the system level, the evaluation part can be encapsulated in a separate task with a lower priority than real-time. The system integrator can decide which priority to use. If there are multiple concurrent non-real-time tasks or other lower priority tasks that should be given control from time to time, it can be difficult to start these tasks because the evaluation part occupies the remaining free resources. Therefore, in a preferred embodiment, some additional blocks or periods of time are determined within a time interval, in which neither transformation nor evaluation are carried out, but in which the scheduler of the operating system regains control. The frequency of these additional blocks may be configurable. Tasks performed in these blocks can be mandatory tasks running on the same digital signal processor.
Bezugszeichenlistereference list
- 100100
- Verfahrens zur digitalen SignalprozessierungMethod for digital signal processing
- 102-116102-116
-
Schritte des Verfahrens 100
Procedure 100 steps - 200200
- Skizze eines Verfahrens zur digitalen SignalprozessierungSketch of a method for digital signal processing
- 202202
- Erstes ZeitintervallFirst time interval
- 204204
- Zweites Zeitintervallsecond time interval
- 206206
- Drittes ZeitintervallThird time interval
- 208208
- Transformationtransformation
- 210210
- Evaluation eines ersten Teils innerhalb des ersten ZeitintervallsEvaluation of a first part within the first time interval
- 212212
- Evaluation eines zweien Teils innerhalb des zweiten ZeitintervallsEvaluation of a second part within the second time interval
- 300300
- Alternatives Verfahren zur digitalen SignalprozessierungAlternative method for digital signal processing
- 302-320302-320
-
Schritte des Verfahrens 300Steps of
Procedure 300 - 400400
- Vorrichtung zur digitalen SignalprozessierungDevice for digital signal processing
- 402402
- Transformationsmodultransformation module
- 404404
- Evaluationsmodulevaluation module
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021124135.9A DE102021124135B4 (en) | 2021-09-17 | 2021-09-17 | Method and device for digital signal processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021124135.9A DE102021124135B4 (en) | 2021-09-17 | 2021-09-17 | Method and device for digital signal processing |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102021124135A1 DE102021124135A1 (en) | 2023-03-23 |
DE102021124135B4 true DE102021124135B4 (en) | 2023-06-22 |
Family
ID=85383952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102021124135.9A Active DE102021124135B4 (en) | 2021-09-17 | 2021-09-17 | Method and device for digital signal processing |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102021124135B4 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007036461A1 (en) | 2007-05-18 | 2008-11-20 | Mediatek Inc. | Method for dynamically adapting an audio decoding method |
WO2020098961A1 (en) | 2018-11-17 | 2020-05-22 | Ask Industries Gmbh | Method for operating an audio device |
-
2021
- 2021-09-17 DE DE102021124135.9A patent/DE102021124135B4/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007036461A1 (en) | 2007-05-18 | 2008-11-20 | Mediatek Inc. | Method for dynamically adapting an audio decoding method |
WO2020098961A1 (en) | 2018-11-17 | 2020-05-22 | Ask Industries Gmbh | Method for operating an audio device |
Also Published As
Publication number | Publication date |
---|---|
DE102021124135A1 (en) | 2023-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69319494T2 (en) | Encoding device for audio signals and method therefor | |
DE3339288A1 (en) | DETECTING DEVICE FOR MICROBREAKS | |
DE112014004951T5 (en) | VAD detection apparatus and method of operating the same | |
EP3197181B1 (en) | Method for reducing latency of a filter bank for filtering an audio signal and method for low latency operation of a hearing system | |
DE102012224362B4 (en) | Adjustment of a test frequency for resource utilization | |
DE102005062791B4 (en) | Statistical streaming | |
WO2012089579A1 (en) | Method and device for processing data elements having minimal latency | |
DE112017001467T5 (en) | Receiving device, data processing method and transmission / reception system | |
DE102021124135B4 (en) | Method and device for digital signal processing | |
DE112016006822T5 (en) | SENSOR-BASED RECORDING AND DEVICE | |
DE69031786T2 (en) | Digital signal processing system | |
DE102015200779A1 (en) | Method for data reduction of sensor data information | |
EP0340301B1 (en) | Digital adaptive transform coding process | |
DE102014204665B4 (en) | Noise optimization of a magnetic resonance system | |
EP2958242B1 (en) | Method and device for processing a broadcast signal | |
DE102017212431A1 (en) | Method and device for processing a signal | |
WO2020098961A1 (en) | Method for operating an audio device | |
DE102019127426A1 (en) | Waveform DC interference removal | |
DE102014203867A1 (en) | Optimization of a magnetic resonance sequence taking into account the first moment of at least one gradient pulse | |
EP3602964B1 (en) | Method for transmitting analysis-related data, transmitter and system | |
DE102020007046B3 (en) | Spectrum analyzer, system and method for extracting data from a spectrum analyzer | |
EP1914949B1 (en) | Method for analysing a digitally modulated signal and signal analysis device | |
DE102009025541B3 (en) | Device for removal and reduction of broadband noise, during signal reprocessing of spectrum of broad band detector, has determination device determining significance of spectral line based on comparison of power values with parameter | |
EP1047990B1 (en) | Method and device for controlling processes in a computer system | |
DE112016006680B4 (en) | Device and method for syntonized streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R163 | Identified publications notified | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |