Beruflich Dokumente
Kultur Dokumente
der FH-Kln
Fakultt fr
von
t t
zeitkontinuierlich zeitdiskret
amplitudenkontinuierlich amplitudenkontinuierlich
t t
Prozessrechner
Entsprechend DIN 66201 wird damit ein Rechner bezeichnet, der mittels Prozesspe-
ripherie direkt an einen Prozess zur Erfassung, Verarbeitung und Ausgabe von Daten
gekoppelt ist. Da moderne Prozessrechner heute fast ausschlielich aus mikroelektro-
nischen Schaltkreisen bestehen, kann man eine grobe Einteilung nach ihrer Gre
und Leistungsfhigkeit vornehmen. So lassen sich
- Mikrocontroller (C) Einzelsysteme,
- Industrie-PCs mit multi-core Prozessoren (IPC) fr komplexe Systeme,
- Digitale Signalprozessoren und spezielle Mikrocontroller (DSP, C) und
- FPGAs fr extrem schnelle Systeme einsetzen.
Bild 2.5: Logik-Element eines FPGAs, mit Look-Up-Table (LUT) und Flipflop
Integrated transceivers
Up to 30% lower power
Only 2 power supplies
Integrated PCIe Hard IP
50% lower power 6K 150K LEs
5K 120K LEs 6.5 Mbits of embedded RAM
4 Mbits embedded RAM Up to 360 multipliers
5K 70K LEs 288 18 x 18 multipliers for DSP Nios II embedded processor
1.1 Mbits embedded RAM Higher performance DDR2 support
150 18 x 18 multipliers for DSP Nios II embedded processor
DDR2 support Complete security solution
2K 20K logic elements (LEs) Nios II embedded processor
295 Kbits embedded RAM
DDR support
Nios embedded processor
Up to 400-Mbps
external memory
interfaces
Up to 150K LEs
Up to 360 embedded
Up to 8 transceivers, multipliers
up to 3.125 Gbps
Up to 4 MPLLs
Up to 4 PLLs
2.5-V SSTL Class I and II 167 MHz 167 MHz DDR SDRAM
1.8-V SSTL Class I and II 200 MHz 167 MHz DDR/DDR2 SDRAM
1.8-V/1.5-V/1.2-V HSTL I and II 167 MHz 167 MHz QDR I/II SRAM
3.3-V PCI compatible 66 MHz 66 MHz Embedded
3.3-V PCI-X 1.0 compatible 100 MHz 100 MHz Embedded
3.3-V LVTTL, LVCMOS 100 MHz 100 MHz System interface
3.0-V/2.5-V/1.8-V LVTTL 167 MHz 167 MHz System interface
3.0-V/2.5-V/1.8-V/1.5-V/1.2-V LVCMOS 167 MHz 167 MHz System interface
Cyclone IV GX &
Cyclone IV E (1.0V)
Differential I/O standards Cyclone IV E (1.2V) Comment
max data rate
max data rate
EP4CGX15 72 2 72 2
EP4CGX22 72 2 150 4
Bank 3 Bank 4
Bank 5
Bank 2
Bank 6
Bank 1
Bank 8 Bank 7
In der Regel kann bei jeder der meist 8 Bnke ein I/O Standard genutzt werden. Das
muss beim Layout bercksichtigt werden, da einige Pins der Bnke die entsprechende
Spannungsversorgung bentigen.
Output Clock
Data In Comb
Data In Reg
REG
Clock
Im Randbereich der FPGAs (Bild 2.8) befinden sich die sogenannten Ein-
/Ausgangsblcke. Diese sind auf dem Silizium-Chip jeweils mit einem Pad verbun-
den. Die Pads wiederum sind ber Bonddrhte mit den Pins des IC-Gehuses verbun-
den, Bild 2.12.
Die Input/Output-Blcke (IOB) stellen die Verbindung zwischen den internen Signa-
len des FPGAs und den externen elektrischen Eingangs- und Ausgangssignalen dar.
Es handelt sich in der Regel um bidirektionale I/O Blcke. Ein Ausgangssignal (Out-
put) kann aktiv-high, aktiv-low oder tri-state (hochohmig) sein. Im Falle von tri-state
kann ein Eingangssignal von auen eingelesen werden (Input). In der Regel verfgen
IOBs ber Latch-Flipflops, die optional berbrckt werden knnen.
Local
Routing
In1
In2 General
LUT REG
In3 Routing
In4
Clock General
Routing
Sign_X
Output Registers
18
Input Registers
X
36 36
18
Y
Sign_Y
Clock
Clear
M
I/O
EG
Buffer
Eine Taktaufbereitung sorgt dafr, dass berall auf dem Chip EIN synchroner Takt
zu Verfgung steht, zustzlich kann dieser mit Hilfe von Phase Locked Loop (PLL)
Regelkreisen oft noch in der Phase verndert (verschoben) werden.
Damit das Phasenrauschen mglichst gering ist, besitzen die PLLs in den FPGAs b-
licherweise eine separate 2,5 V Spanungsversorgung (analog & digital).
Die Einbindung der konfigurierbaren PLL erfolgt ber den MegaWizard Plug-In Ma-
nager (Altera).
Beim Design von Signalverarbeitungsalgorithmen in VHDL sollten mglichst wenige
Takte verwendet werden. Am besten nur einer, zum Beispiel 50 MHz. Geringere
Taktraten sollen ber entsprechende synchrone Clock-Enable Signale generiert wer-
den. Zum Beispiel kann fr 1 MHz jeder 50-te Clock enabled werden.
Soft-
Hard- ware
ware Stack
PDO SDO
MAC
Hub / Switch
PHY
RJ45
Der Aufbau einer Testschaltung auf einer Lochrasterplatine ist dabei allerdings kaum
noch mglich. Die meisten FPGAs haben sehr viele Anschlsse, die oft als Ball Grid
Array (BGA) angeordnet sind und nicht ohne Hilfsmittel geltet werden knnen. Zu-
dem sind zum Betrieb statt einer einzigen 5-V-Versorgungsspannung mehrere Span-
nungen erforderlich. Hier setzt das FPGA Development Board "MercuryCode" von
EBV Elektronik an. Alles was bentigt wird, um ein FPGA-Design rasch aufzubauen,
ist auf der etwa 100 100 mm groen Leiterplatte bercksichtigt, Bild 3.2.
Software
Layer 3
Software
TCP / IP IRQ for Init &
Controller / C stack the UART Config.
FPGA IO (3.3 V)
FPGA IO (3.3V)
Layer 1
Special hardware, PHY RS 485 24 V IO
Driver & transceiver
Bild 3.3: Die Struktur eines FPGA Development Boards lsst sich in einem Drei-
Schichten-Modell abbilden. Dabei beschreibt die erste Schicht die
Schnittstellen zum Umfeld, die zweite Schicht zeigt die Hardware-
Konfiguration des FPGA, in der dritten Schicht wird die Software abge-
bildet, mit der sich der Funktionsumfang der Gesamtschaltung realisie-
ren lsst.
Internet-Links:
[1] Fachhochschule Kln www.fh-koeln.de
[2] EBV Elektronik GmbH & Co KG www.ebv.com
[3] Avago Technologies www.avagotech.com
[4] Altera Corporation www.altera.com
[5] devboards GmbH www.devboards.de
[6] National Semiconductors www.nationalsemi.com
a)
Schematic Editor:
Block diagram file
b)
Schematic Editor:
Graphic design file
(state machine)
entity signed_adder is
RTL simulation
- Functional simulation (ModelSim, Quartus II)
- Verify logic model & data flow
(no timing delays)
M512 Synthesis
LE - Translate design into device specific primitives
- Optimization to meet required area & performance constraints
M4K I/O - Quartus II, Precision Synthesis, Synplify/Synplify Pro,
Design Compiler FPGA
Bild 4.3: Mit dem MegaWizard Plug-in Manger kann Altera Intellectual Property
(IP) konfiguriert und integriert werden.(Mermory, PLL, )
Analysis &
Elaboration
Programming &
Assembler Configuration
files (.sof/.pof)
TimeQuest
Timing Analysis
Gate-Level
EDA Netlist Writer Simulation
Bild 4.7: SignalTap II ermglicht die Darstellung der Zeitverlufe von FPGA in-
ternen Signalen.
Der in Quartus II integrierte SignalTap II ist ein Logic-Analyser bzw. ein Oszil-
loskop, welches auf einem FPGA als Logik instanziiert werden kann. Als Speicher
fr die anfallenden Daten, auch Samples genannt, dient On-Chip-Memory. Die Kon-
figuration sowie das Auslesen der Daten erfolgt ber die JTAG-Schnittstelle,
wodurch die Signalverlufe schlielich in Quartus II visualisiert werden knnen.
Der direkte Zugriff auf die FPGA-internen Signale bietet insbesondere dann einen
groen Vorteil, wenn externe Hardware angeschlossen ist, die nicht mit simuliert
werden kann. SignalTap II besitzt einige komplexe Funktionen, die sonst nur bei
aufwndigen externen Analysern zu finden sind, beispielsweise mehrstufig verkettete
Trigger, die erst dann die Aufzeichnung der Analysedaten starten, wenn mehrere Be-
dingungen auf gleichen oder unterschiedlichen Signalen zutreffen. Darber hinaus
lassen sich mit Hilfe von State-Machines einfache Protokolle nachbilden und zur
Triggerung verwenden. Weiterhin werden auch externe Trigger untersttzt. Der
Sample-Speicher lsst sich segmentieren, so dass Daten an mehreren Trigger-
Zeitpunkten, die weiter auseinander liegen, aufgezeichnet werden knnen.
Der grte Unterschied im Vergleich zu eigenstndigen Logic-Analysern liegt in der
Grenbeschrnkung des Sample-Speichers, durch die Verwendung von FPGA On-
Chip Memory.
Bild 5.1: Die Entity beschreibt die Signale nach auen IC PINs
generic (
MIN_COUNT : natural := 0;
MAX_COUNT : natural := 255
) ;
Port (
clk : in std_logic ;
reset : in std_logic := '1' ;
enable : in std_logic := '1' ;
q : out integer range MIN_COUNT to MAX_COUNT
) ;
Filename.vhd
end entity;
begin
process (clk)
variable cnt : integer range MIN_COUNT to MAX_COUNT ;
begin
if (rising_edge(clk)) then
end rtl;
5.4.1 P-Element
Die FPGA internen DSP Blcke sind optimiert zur Verarbeitung von Integer-Zahlen.
Ohne viel zustzlichen Aufwand kann damit auch eine Festkommaverarbeitung er-
folgen. Im folgenden Beispiel soll die Eingangsfolge yk mit KP = 0,7 multipliziert
werden. Statt mit der Fliekommazahl 0,7 wird die Eingangsfolge mit einer Potenz
von 2 KP multipliziert:
(5-1)
Wird jetzt das Produkt durch 2Q geteilt, so erhlt man das gewnschte Ergebnis. Im
FPGA kann diese Division durch 2Q besonders leicht durch das arithmetische Schie-
ben um Q-Bit nach rechts erfolgen. Aufgrund der Rundung des Koeffizienten auf ei-
ne ganze Zahl ist der real wirksame Faktor KP jedoch nicht mehr exakt 0,7:
Das arithmetische Schieben nach rechts bewirkt eine Rundung und erzeugt dadurch
ein zustzliches Quantisierungsrauschen des Ausgangssignals.
5.4.2 I-Element
( ) ( )
For an input signal step from zero to y0 follows:
In a VHDL coded integral element n is equal to the shift factor 2shI which divides the
integral sum.
To get various integrator times TI, input signal y(t) has to be multiplied with the inte-
gral action gain KI2 (integral action gain). An increase of KI2 will result in a decrease
of TI. So in the formula KI2 has to be set in the denominator.
(5-2)
(5-3)
( )
(5-4)
( )
First order lag elements are normally implemented with fixed time constants T1, so
the first order lag is described with no scaling factor for the configuration of T1.
The first order lag can be implemented in VHDL as feedback loop with a simple in-
tegrator shown in the figure above. So the time constant T1 is calculated analog to an
integrator time constant.
(5-5)
The second order transfer function of the observer is given over equation and can be
equalized with an oscillating second order lag with a resonance frequency 0 and a
damping . The feed forward gain KV has no influence to the system parameters and
is not considered in the transfer function!
(5-7)
,
For fixed time constants TOV1 and TOV2, KI is proportional to 02 and OVC is propor-
tional to 20.
The next figure shows the observer implementation in VHDL.
The Observer parameter parameters KP and KI determine the VHDL parameter KP1
and KI1.
;
Owing equation (5-7) the observer parameters KP1 and KI1 are calculated.
(5-8)
( )
(5-9)
Bild 6.1: Das Blockschaltbild zeigt schematisch die Nutzung von OpenCore plus
IP
Bild 6.2: Der Altera FIR Compiler II zeigt bei der Konfiguration der Koeffizienten
eines FIR Filters sofort den Frequenzgang an.
Exception Tightly
HW
Controller Coupled
Control D-Memory
Interrupt Registers
irq[31..0] Controller ctl0 to ctl4 Data
Master
Port
Data
Custom Cache
Custom Instruction Arithmetic
I/O Signals Logic Logic Unit
= Optional = Configurable
= Fixed = Debug Options
Bild 6.3: Das Blockschaltbild des Nios II zeigt, dass im Systementwurf die Integra-
tion der Elemente fr das Debugging eine besondere Rolle spielt. (Quel-
le: Altera) (mit Custom Instruction)
Bei einfachen Anwendungen ohne Cache-Speicher fr Daten und Befehle reichen die
FPGA-internen Memory-Blcke als Arbeitsspeicher (bis ca. 128 kByte) aus. Ein Teil
des internen Speichers kann aus dem Konfigurationsbaustein initialisiert werden und
damit als ROM (Read Only Memory) verwendet werden. Wenn der FPGA-interne
Speicher nicht ausreicht oder beispielsweise fr den Cache benutzt wird, ist zustzli-
cher externer Speicher (RAM / ROM) erforderlich.
On-Chip Timer
ROM
SPI
On-Chip SDRAM
RAM Controller
FPGA
Bild 6.4: Die Soft-Core-CPU Nios II ermglicht es, ein vollstndiges System
(SoPC) in ein FPGA zu integrieren (mit wenig RAM und Flash-Speicher).
Logic Usage (Logic Elements) 1400 - 1800 1200 1400 600 700
Bild 6.5: Die Soft-Core-CPU Nios II steht in drei Versionen zur Verfgung. Je
mehr Logikelemente man investiert umso schneller verarbeitet die
CPU die Instruktionen.
Hardware Executable
Configuration Code
Synthesis & Compiler,
File
Fitter Verification Linker, Debugger
& Debug
JTAG,
Serial, or
User Design Ethernet User Code
Other IP Blocks Libraries
On-Chip
Altera Debug RTOS
Quartus II PLD Software Trace
Hard Breakpoints GNU Tools
SignalTap II
Bild 6.6: Ein Nios II System wird in drei Arbeitsschritten entwickelt: (Versuch 3)
1. Erstellen eines C Systems mit dem Qsys (grafisch)
Output: - encrypted (V)HDL Files (fr Quartus)
- C-Header Files (system.h fr die NiosII EDS)
2. Quartus II: Kompilation aller VHDL-Quellen zu einer FPGA
Konfiguration
3. Nios II EDS: Kompilation aller C-Quellen zu einem ausfhrbaren
Programm
Das Nios II-System wird ber den SoPC-Builder (System-on-a-Programmable-Chip)
zusammengestellt. Ein SoPC-Projekt besteht aus einzelnen Logikblcken die Senken
oder Quellen fr Daten bilden. Die einzelnen Logikblcke werden mittels der Avalon
Switch Fabric miteinander verbunden. Der SoPC-Builder bietet eine grafische Benut-
zeroberflche, um das Zielsystem graphisch zu beschreiben. Das konfigurierte Sys-
tem aus Prozessor und Hardware wird dann in einen Satz von VHDL oder Verilog-
Dateien exportiert, mit denen dann ein FPGA der Firma Altera konfiguriert werden
kann.
KP
(-) 100 %
100% -100 %
KP
TN
KP e(t ) dt
controlled variable
x(t) -100 %
Anti-Wind-Up
Bild 6.7: Zur Realisierung eines robusten PI-Reglers sind viele Signal-
Begrenzungen erforderlich. (Anti-Wind-Up ist nur schematisch darge-
stellt. Die Begrenzung erfolgt innerhalb des Blocks.)
- max.
C Code:
int absmax(int val,int max)
{
if ( val > max ) { // pos. limit ?
return max ;
} else if( val < -max ) { // neg. Limit ?
return -max ;
} else {
return val ;
}
}
Adderlibrary ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
Bild 6.9: SoC: Cyclone V und Arria V FPGAs (28 nm) werden optional mit einem
Cortex A9 basierten Hard-Core Prozessorsystem angeboten. [Altera]
u0 20. G ua
S0 V
1
2 .G
S1
2
2 .G
S2
n-1
2 .G
Sn-1
R= 1 k
S0 R= 4 k
ua
u0 V
S1 R= 2 k
S2 R= 1 k
s2 s1 s0 s
v 0
v 2v ua/V
0 0 0 0 0
0 0 1 1 1
0 1 0 2 2
0 1 1 3 3
1 0 0 4 4
1 0 1 5 5
1 1 0 6 6
1 1 1 7 7
Bei der Herstellung integrierter Schaltungen ist es sehr aufwndig genaue Widerstn-
de mit stark unterschiedlichen Werten herzustellen. Bei Verwendung eines R-2R-
Leiternetzwerkes ist das nicht notwendig. Allerdings mssen hier die Schalter als
Umschalter realisiert werden, damit sich die Kettenabschwchung des Spannungstei-
lers nicht ndert.
uref 2R 2R 2R 2R 2R
R
S3 S2 S1 S0
+ ua
Beide bisher diskutierten Verfahren haben den Vorteil, dass die Umsetzzeit nur von
der Wahl der Schaltungskomponenten abhngt. Deshalb knnen diese DAC prinzipi-
ell sehr schnell ausgelegt werden (t << 1s).
R Analog
Carry S output
12-Bit DAC Data
12-Bit-Counter
= 212-1
Counter DAC Data
Clock
t
1
0
TPWM t
Reset
Set
Bild 7.4: PWM Digital Analog Umsetzer (Zhlverfahren)
Bei einem 12-Bit (212 Stufen) PWM-Umsetzer mit 10 MHz (10 106) Taktfrequenz
betrgt die Periodendauer des Ausgangssignals
212
TP WM s 0,4096ms .
10 10 6
Es ist offensichtlich, dass ein Rechtecksignal mit der doppelten Frequenz mit einer
halb so groen Filterkonstante auskommt. Ohne die Taktfrequenz zu verndern, wr-
de sich jedoch die Auflsung um ein Bit auf 11-Bit verschlechtern.
for(;;) {
sum += DAC_data ;
if ( sum >= 4096 ) { // 2**12
bit_stream_data = 1 ;
sum -= 4096 ;
} else {
bit_stream_data = 0 ;
}
}
Wenn die for-Schleife n mal durchlaufen wird, wird auch die globale Variable
DAC_data n mal aufsummiert. In jedem Zyklus, in dem die Summe 4096 ber-
schreitet, wird bit_stream_data gesetzt und der Wert 4096 abgezogen. Es ist
leicht ersichtlich, dass die Variable sum ohne das systematische Abziehen um das
Produkt n DAC_data ansteigen wrde. Umgekehrt sieht man auch, dass der Wert
4096 genau n DAC_data/4096 mal abgezogen wird. Von n Durchlufen ist
bit_stream_data also n DAC_data/4096 mal gesetzt.
entity delta_sigma_da is
generic (
WIDTH : integer := 12 -- input data width
);
port (
clk : in std_logic ; -- System clk
reset_n : in std_logic ; -- reset low active
data : in unsigned(WIDTH-1 downto 0); --Sigma Delta Data
bit_out : out std_logic -- bit stream output
);
end entity;
begin
process (clk,reset_n)
variable sum : unsigned(WIDTH downto 0) ; -- one add. bit(carry)
begin
if reset_n='0' then
sum := to_unsigned(0,WIDTH+1) ;
bit_out <= '0' ;
elsif ( rising_edge(clk) ) then
sum(WIDTH) := '0' ; -- reset carry bit
sum := sum + data ; -- add data
bit_out <= sum(WIDTH) ; -- use carry bit
end if;
end process;
end rtl;
Carry () Analog
D output
12-Bit DAC Data
12-Bit Latch
12-Bit
12-Bit Tiefpass
Sum
12-Bit
Clock
eQ = x - XQ ; mit - Q eQ Q (8.1)
0000
1111 x/Q
1110
1101
1100
1011
1010
1001
underflow 1000
b)
eQ
1 2 Q.
1 2 Q.
x
UFS = 10 V
U FS
ULSB = , (8.2)
2n
10V
ULSB = = 2,5 mV / Bit .
212 Bit
bertragungskennlinie
Die bertragungskennlinie beschreibt den Zusammenhang zwischen der Gre des
Eingangssignals und der Gre des Ausgangssignals.
Umsetzzeit
Die Gesamtzeit von Beginn einer Umwandlung bis zu dem Zeitpunkt, zu dem das
Ausgangssignal mit voller Genauigkeit zur Verfgung steht.
Linearittsfehler
Der Linearittsfehler gibt die Abweichung von einer linearen bertragungskennlinie
an.
Offset-Fehler
Der Offset-Fehler beschreibt den Eingangswert, bei dem ein ADC den Wert Null
ausgibt bzw. den Wert, den ein DAC ausgibt, wenn als Eingangswort der Wert Null
angegeben wurde. Der Offset ist oft temperaturabhngig.
Quantisierungsfehler(Quantisierungsrauschen)
Maximale Abweichung von der idealen Transferfunktion, die durch Umwandlung der
stetigen analogen Werte in diskrete digitale Werte durch die begrenzte Auflsung
entsteht (vergleichbar mit einem Rundungsfehler).
Verstrkungsfehler (Gain-error)
Ein Verstrkungsfehler tritt auf, wenn die Steigung der bertragungskennlinie von
der Steigung der idealen Transferfunktion abweicht. Das fhrt z.B. dazu, dass bei ei-
nem Eingangswert, der kleiner als der maximal mgliche Eingangswert ist, bereits
das maximal mgliche Ausgangssignal ausgegeben wird.
Es gibt im Wesentlichen fnf Analog-Digital-Umsetz-Verfahren:
Sukzessive Approximation (SAR)
Dual-Slope (Zhlverfahren, Digitalvoltmeter, ltere Produkte)
Spannungs-Frequenz-Umsetzungsverfahren
Flash-Analog-Digital-Umsetzer (Parallelverfahren, sehr schnell)
x(t)
Bit
Takt Zhler
DAU
XQ
Bild 8.2: Schematischer Aufbau eines A/D-Umsetzers nach der sukzessive Appro-
ximation (SAR)
Hier soll zunchst die sukzessive Approximation (SAR) nach Bild 8.2 betrachtet
werden. Das Verfahren beruht darauf, dass man am Eingang eines D/A-Umsetzers
die digitalen Vergleichswerte ber einen Zhler solange systematisch verndert (ap-
proximiert), bis die Ausgangsspannung des D/A-Umsetzers bis auf den Quantisie-
rungsfehler gleich der Messspannung ist. Der letzte Vergleichswert entspricht dem
digitalen Wert der analogen Eingangsgre.
In fast allen Controllern werden SAR Analog Digital Wandler verwendet. Die
Wandlungszeit inkl. S&H betrgt ca. 1 5 s.
8.4 Spannungs-Frequenz-Umsetzungsverfahren
Dieses Verfahren wird nur noch selten verwendet. Haupteinsatzgebiet ist heute der
Voltage Controlled Oscillator (VCO) fr Phasenregelkreise (PLL).
Um den SNR und damit die Genauigkeit in einem ADC zu verbessern, muss dem-
nach die Anzahl der Bits N erhht werden.
Jetzt wird im genannten Beispiel die Abtastfrequenz (mfs) um die Oversampling-
Rate m vergrert. Die FFT Analyse zeigt dann, dass der Rauschanteil nach dieser
Manahme eine geringe Amplitude aufweist. Der SNR ist hierbei jedoch der gleiche
wie vorher, aber die Rauschenergie ist auf einen greren Frequenzbereich verteilt.
-Wandler nutzen diesen Effekt, in dem sie nach dem 1-Bit Wandler ein digitales
Filter folgen lassen, das den grten Teil des Rauschanteils ausmaskiert, Bild 8.3.
Der Effektivwert des Rauschens ist jetzt kleiner, weil ein groer Anteil des Rau-
schens digital herausgefiltert wird. Diese Methode ermglicht es -Wandlern, einen
groen dynamischen Bereich mit einem niedrig auflsenden ADC zu erreichen. Der
SNR fr einen 1-Bit ADC betrgt 7,78 dB (6,02 + 1,76 = 7,78). Jedes Faktor-2-
Oversampling steigert den SNR um 6 dB und ist gleichbedeutend mit dem Gewinn
eines Bits. Damit erreicht ein 1-Bit ADC mit 16-fachem Oversampling eine Aufl-
sung von 1 + 4 = 5 Bit. Um 16 Bit Auflsung zu erreichen, msste man entsprechend
215-fach oversampeln, was praktisch kaum realisierbar ist. Aber -Wandler umge-
hen diese Einschrnkung mit der Technik des sog. Rauschformens (Noise
Shaping"), wodurch eine Verbesserung von mehr als 6 dB pro 2-fachem Over-
sampling ermglicht wird.
clk
Integrator
KI
ue Komp. ua
(-) s bit stream
Analog
Input uref
1 Bit
DAC
ber den DAC wird das Ausgangssignal des Integrators nahe an der Komparator Re-
ferenzschwelle gehalten. Die Anzahl der Einsen" am Modulator-Ausgang ist pro-
portional zum Eingangssignal. Fr ein steigendes Eingangssignal erzeugt der Kompa-
rator eine steigende Anzahl von Einsen und sie nimmt ab fr ein fallendes Signal,
Bild 8.5.
Durch das Summieren der Fehlerspannung arbeitet der Integrator als Tiefpass fr das
Eingangssignal und als Hochpass fr das Quantisierungsrauschen. Dadurch wird ein
groer Teil des Quantisierungsrauschens in Richtung hherer Frequenzen verscho-
ben.
U E ( s) U A ( s) Q( s)
KI
U A ( s) (8.5)
s
1
1 s
U A ( s) U E ( s) Q( s )
KI
(8.6)
1 1
KI
s 1 1
KI
s
Damit hat der Modulator das Quantisierungsrauschen zwar nicht vermindert, aber
anders verteilt. Wird ein idealer Tiefpass an den --Modulator mit Noise Shaping
angehngt, entfernt dieser mehr Rauschen als bei einfachem Oversampling, weil das
Rauschen in Richtung hherer Frequenzen geschoben wird, Bild 8.6. Dieser Modu-
latortyp (erster Ordnung) erreicht dadurch eine 9 dB SNR-Verbesserung pro Ver-
clk
1. Integrator 2. Integrator
bit
KI KI stream
u Comp.
(-) s (-) s
uref
1 Bit
DAC
Die Rauschspannung innerhalb der Bandbreite B kann dann durch Kombination der
Gleichungen (8.7) und (8.9) berechnet werden (Noise shaping):
( )
2K
B2
u LSB f
U Q,rms 2 2 sin df
f S
(8.9)
0
12 f S
100 2. Ordnung
80
60 1. Ordnung
40
20
2 4 8 16 32 64 128 256 M
Bild 8.8: Sigma Delta Analog Digital Umsetzer Modulator: 1. bis 3. Ordnung
Signal to Noise Ratio bei idealer Tiefpassfilterung
als Funktion des Oversampling Faktors M
K
u LSB 1
U Q,RMS K 1 (8.10)
12 2K 1 M 2
uP / 2
SNR IDEAL 20dB log (8.11)
U Q,RMS
K
SNR IDEAL 1,76 6,02 N 20 log 20 K 10 log MdB (8.12)
2 K 1
Digitaler Dezimierungsfilter
Der Ausgang des -Modulators liefert einen 1-Bit Datenstrom mit einer sehr hohen
Abtastrate, die blicherweise im MHz-Bereich liegt. Die Aufgabe des digitalen De-
zimierungsfilters ist es, (1.) die Informationen aus dem Datenstrom auszulesen und
(2.) die Datenrate auf den gewnschten Wert zu reduzieren. In einem -Wandler
mittelt das digitale Filter den 1-Bit Datenstrom und vermindert dadurch das Quanti-
sierungsrauschen (verbessert die ADC-Auflsung). Es legt die Signalbandbreite, die
Einschwingzeit und die Stoppband-Unterdrckung fest.
Bild 8.9: Sigma Delta Analog Digital Ums. mit Tiefpassfilter und Dezimierung
a) Blockschaltbild b) und c) Ersatzschaltbilder.
Der Tiefpass reduziert das Quantisierungsrauschen (rot) und kann
gleichzeitig als anti-Aliasing Filter fr die nachfolgende Abtastung die-
nen (blau).
Sinc1 Filter
64 128
M
Bild 8.10: Effektive Auflsung eines Umsetzers 2. Ordnung bei Verwendung div.
realer Tiefpassfilter (sincK) als Funktion des Oversamplingfaktors M
[Ti]
-
- V2
S
V1 +
T0
+
u (kT0)
CH uc(t)
u(t)
Abtastsignal
u kTa
0 2 4 6 8 10 12 k t / Ta
k t / T0
Bild 9.2: Ausgangsfunktion eines S&H-Gliedes
fk = f( k .Ta)
0 1 k = t / Ta
1 ; frt 0
(t ) (9.1)
0 ; frt 0
DSF 90 Krah WS 13/14
kann man jeden einzelnen dieser Rechteckimpulse als berlagerung von zwei um Ta
gegeneinander verschobenen und mit fk bzw. mit -fk bewerteten Einheitssprngen dar-
stellen (siehe Bild 9.4).
fk (t-kTa)
fk fk
e kTa s e ( k 1)Ta s
F ( s) L{ f (t )} f k , (9.3)
k 0 s s
1e Ta s
F ( s) f k e kTa s (9.4)
s k 0
Mit diesen beiden Faktoren ist eine fr den Abtast-Halte-Vorgang wichtige mathema-
tische Beschreibung gefunden, deren Interpretation zu den folgenden bertragungs-
gliedern fhrt.
Der -Abtaster
Zunchst wird der Faktor F*(s) betrachtet. Nach den Korrespondenzen der Laplace-
Transformation erhlt man fr eine um Ta verschobene -Impulsfunktion (Dirac-
Sto) nach Bild 9.5.
Wendet man diese Korrespondenz nach Gleichung (4.7) auf F*(s) an, erhlt man aus
F s f k e
* kTa s
f t f k (t k Ta )
*
(9.7)
k 0 k 0
(t)
1/
Beim bergang von f(t) zu f*(t) werden daher nicht nur die Funktionswerte aus f(t)
entnommen, sondern es entsteht eine Folge von bewerteten -Impulsen der Flche fk ,
die jeweils um Ta nach rechts verschoben sind. Entsteht eine -Impulsfolge aufgrund
eines Abtastvorganges, so spricht man von einem Abtastsignal.
a) b)
f(t) f *(t)
t 0 1 k = t / Ta
f(t) Ta f *(t)
c)
F(s) F*(s)
1e sTa
Gh s g h (t ) t t a (9.8)
s
Wird nun ein bewerteter -Impuls fk(t-kTa) einem solchen bertragungsglied auf-
geschaltet, entsteht am Ausgang ein Rechteckimpuls, der sich jedoch auf das Zeitin-
tervall Ta ausdehnt und so die Hhe von fk und die Breite von Ta annimmt (siehe Bild
9.8).
fk fk
f *(t) f(t)
a) b)
0 1 k = t / Ta 0 1 k = t / Ta
f *(t) 1 e Ta s f (t)
c) F *(s) s F(s)
Wie in Bild 9.8 veranschaulicht, erzeugt das Halteglied nullter Ordnung aus einem
Abtastsignal f *(t) ein entsprechendes stufenfrmiges Ausgangssignal f (t ) . Es unter-
0 t 01 k = t / Ta 01 k = t / Ta
Ta
f(t) f *(t) 1 e Ta s
f(t)
s
F (s) F *(s) F(s)
f(t) f(t)
Sample &
Hold
F (s) F(s)
Ein Vergleich mit Bild 9.2 macht deutlich, dass die mathematische Zerlegung des
Abtast-Halte-Gliedes zu einer einheitlichen Darstellung der Signale zwischen Abtas-
tung und Speicherung gefhrt hat. Fr die weitere Betrachtung von Abtastsystemen
ist dies von groer Bedeutung.
Anhand des Frequenzganges wird nun die Phasenverschiebung untersucht, die das
Halteglied nullter Ordnung erzeugt.
Mit s = j gilt fr den Frequenzgang des Haltegliedes:
1e jTa
Gh ( j )
j
2 sin( Ta / 2)
e jTa / 2
DSF 95 Krah WS 13/14
sin( Ta / 2) jTa / 2
Ta e
Ta / 2
Ta
Ta si( )e jTa / 2 (9.9)
2
Das Halteglied nullter Ordnung fhrt somit eine Phasenverschiebung von
= t = Ta / 2 ein. Dies entspricht einer Zeitverschiebung (Totzeit) von
tAH = Ta / 2 .
0 t
b) F ( j )
max 0 max
t = k Ta
b) F ( j )
a a -max max a a
2 2
fa 2fmax , (9.10)
1
Ta . (9.11)
max 2 f max
a
s (9.12)
2 Ta
a = 2max , (9.13)
0 t = kTa
F ( j )
b)
max 0 max
-a -max 0 max a
Unmittelbar aus den Forderungen, die sich aus dem Abtasttheorem von Shannon er-
geben, lsst sich somit ein diskontinuierliches bertragungssystem fr kontinuierli-
che Signale nach Bild 9.14 angeben.
2 sin( Ta / 2) jTa / 2
Gh ( j ) Ta e
Ta
-a a a
0 a
2 2
Bild 9.16: Betrag des Frequenzganges des Haltegliedes nullter Ordnung im Ver-
gleich zu dem eines idealen Tiefpasses
Der Betrag des Frequenzgangs zeigt zwar nur in grober Nherung Tiefpasscharakter,
doch ist dies fr den Fall ausreichend, wenn das Rekonstruktionsfilter zustzlich hohe
Frequenzen dmpft.
{x(k Ta)} = { x(0) ; x(Ta) ; x(2 Ta) ; ... ; x(k Ta) ; ...} (10.1)
Durch die begrenzte Wortbreite von n-Bit, die ein Digitalrechner zur Verfgung hat,
knnen die Amplituden nur mit endlich vielen Quantisierungsstufen (m=2n) darge-
stellt werden. Es entsteht, wie in Bild 10.1 angedeutet, ein amplitudenquantisiertes
und zeitdiskretisiertes Signal, also ein digitales Signal, das mit der Wertefolge {xk}
den Zeitverlauf des Signals beschreibt.
t t
0 Ta 0 1 k = t /Ta
0 1 Ta t
y(kTa) Speichern
Der Vorgang des Abtastens mit anschlieendem Speichern lsst sich dann durch ein
neues bertragungsglied das Abtast-Halte-Glied beschreiben. Es ist demnach in
erster Linie ein aus der theoretischen Betrachtung entstandenes bertragungsglied.
Zwar lsst sich ein solches auch verwirklichen, doch sei in diesem Zusammenhang
auf die oben angefhrte Beschreibung des Abtastsystems verwiesen.
[1, 2, 3, 5, 10, 12, 13].
u(t) x(t) x (t ) xk yk y (t )
Filter S&H ADC Algori. DAC Filter
im ADC
S&H
ADC
Algori.
DAC
a) y (t )
t
0 Ta
Quantisierungs-
u(t) x(t) x(t-Tt) x (t ) y (t ) rauschen
Filter S&H Algori. Filter
e sTt
e sTt
S&H
Algori.
b) y (t )
t
0 Ta
PC-Bus
Interface
Bild 10.5: Prinzipieller Aufbau einer digitalen Signalverarbeitung mit einem IPC
Der Trend zur dezentralen Struktur in der Prozessautomatisierung hat zu einer Viel-
falt von unterschiedlichsten Prozessrechnern gefhrt. Dies ist vor allem durch die
schnelle Entwicklung der Mikroelektronik und der damit verbundenen Integration
von Halbleiterbauelementen zu begrnden. So lassen sich DDC-Systeme auch mit
IPCs aufbauen, Bild 10.5. Dabei ermglicht deren hohe Rechenleistung zustzlich
den Einsatz von Software-Werkzeugen, sog. CAE-Paketen (CAE, Computer-Aided
Engineering). Diese untersttzen den Ingenieur in allen Entwurfsphasen, von der
Modellbildung bis zur Erprobung und Simulation von Systemen.
Damit der PC die Signale erfassen und Ausgangssignale erzeugen kann, bentigt er
eine zustzliche Schnittstelle. Eine beispielhafte Darstellung einer solchen Ein-
/Ausgabekarte (I/O-Interface) ist in Bild 10.6 mit den wichtigen Komponenten wie-
dergegeben.
Interface
Filter
Steuereinheit
DAC #1
DAC #2
Analoge
Ausgnge
BUS - Buffer
DAC #n
PC - BUS
Einsatzbereiche
Diese Form eines Computers tritt in Gestalt von eingebetteten Systemen im Alltag oft
unbemerkt in technischen Gebrauchsartikeln auf, zum Beispiel in Waschmaschinen,
Chipkarten (Geld-, Telefonkarten), Unterhaltungselektronik (Videorekordern,
CD/DVD-Playern, Radios, Fernsehgerten, Fernbedienungen), Broelektronik, Kraft-
fahrzeugen (ABS, Airbag, Motorsteuerung, ESP usw.), Mobiltelefonen und sogar in
Uhren und Armbanduhren. Darber hinaus sind sie in vielen Computer-
Peripheriegerten enthalten (Tastatur, Maus, Drucker, Monitore, Scanner uvm.).
Mikrocontroller sind meist anspruchslos im Energiebedarf und in der Serienfertigung
uerst preiswert herzustellen. Dieses ist auf die hohen Stckzahlen, meist eher ge-
ringen Taktfrequenzen von bis zu 100 Megahertz und auf die im Vergleich zu leis-
tungsstarken Mikroprozessoren geringere Komplexitt zurckzufhren.
Abgrenzung zu Mikroprozessoren
Die Grenze zwischen Microcontrollern und Mikroprozessoren ist mehr oder weniger
flieend, was sich auch darin zeigt, dass oft nach einiger Zeit auch Mikrocontroller-
Varianten einer neuen Mikroprozessor-Architektur erschienen sind. Im einfachsten
Fall geschieht dies, indem die bei einem klassischen Mikroprozessor als Unterstt-
zungs- und Peripheriebausteine realisierten Komponenten wie Takt- und Reset-
Erzeugung, Interruptcontroller, Zeitgeber, Schnittstellenbaustein und zum Teil auch
Speichercontroller in den Chip selbst integriert werden, so dass fr ein funktionsfhi-
ges Prozessorsystem oft nur noch ein Quarz (fr den Takt) und Speicherbausteine
ntig sind. Typische Vertreter dieser Gattung sind z. B. der 80186 von Intel (vom
8086 abgeleitet), die ARM-Familie sowie ColdFire (MC680xx) von Freescale (vor-
mals Motorola). Diese Controller-Baureihen werden oft auch noch dann weiterge-
fhrt, wenn die betreffende Mainstream-CPU schon lngst nicht mehr produziert
wird. Die Hardware solcher um Peripheriebausteine ergnzter Prozessorkerne ist
manchmal in Form eines Multi Chip Modules (MCM) realisiert.
uk xk
G(z)
Bild 11.1: Filterung der Eingangsfolge {uk} mit einem Digitalfilter mit der ber-
tragungsfunktion G(z) zur Ausgangsfolge {xk}
Es gibt eine einfache und anschauliche Mglichkeit, um die Koeffizienten eines FIR-
Filters zu berechnen. Wird auf ein Filter ein Einheitsimpuls k gegeben, so erscheint
am Ausgang eine Impulsantwort. Die Werte dieser Impulsantwort entsprechen genau
den gesuchten Filterkoeffizienten bi . In der Praxis wird aber blicherweise nicht die
Impulsantwort sondern der Frequenzgang des Filters vorgegeben. Mit der Diskreten
Fourier-Transformation (DFT) kann aus dem Frequenzgang direkt die Impulsantwort
berechnet werden. Als Beispiel soll mit einem FIR-Filter (nherungsweise) ein idea-
ler Tiefpass realisiert werden.
-fg fg f
ht
1 1 h0 sin 2 f g t
Ti
2 fg 2 fg t
-Ti Ti 2Ti t
fg 14 fS Ti 4 Ta Ta
2
HWk 0,54 0,46 cos k (11.2)
m 1
1 m
k=t/Ta
Beispiel:
Bei einem Transversalfilter mit m = 1 , b0 = 0,5 , b1 = 0,5 sollen Phasengang und
Amplitudengang berechnet werden:
Gz b0 b1 z 1
G j b0 b1 e jTa .
G j e jTa / 2 b0 e jTa / 2 b1 e jTa / 2
Mit den vorgegebenen Koeffizienten b0 = b = 0,5 ergibt sich
G j e jTa / 2 cosTa / 2
( Phase) ( Amplitude)
Jetzt ist ersichtlich, dass diese Berechnung eines gleitenden Mittelwertes einen li-
nearen Phasengang ( = -Ta / 2) aufweist und der Amplitudengang kosinusfrmig
verluft mit dem ersten Nulldurchgang bei Shannonfrequenz.
b0 b1 b2 b3
xk
Ein nicht rekursives Filter kann mit einem Digitalrechner sehr leicht programmiert
werden. Bei digitalen Signalprozessoren wird die Ausgangsgre xn durch aufaddie-
ren (akkumulieren) der einzelnen Produkte (ui bi) in einem Akkumulator gebildet.
Durch eine Erhhung der Ordnung (mehr Koeffizienten) erhht sich nahezu proporti-
onal die notwendige Verarbeitungszeit des Prozessors.
double u0,u1,u2,u3; // Eingangsfolge
const double b0 = ... ; // Koeffizient
const double b1 = ... ; // Koeffizient
const double b2 = ... ; // Koeffizient
const double b3 = ... ; // Koeffizient
double x ; // Ausgangsfolge
for ( k=0; ;k++ ) { // Schleife zur Berechnung
u3 = u2 ; // Verzgerung von un
u2 = u1 ;
u1 = u0 ;
u0 = ADC_Input() ; // Neues (ktes) u einlesen
x = u0 * b0 +
u1 * b1 +
u2 * b2 +
u3 * b3 ;
DAC_Output(x) ; // Neues (ktes) x ausgeben
} // Ende der Schleife
Der in Bild 11.5 dargestellte Signalflussplan ist gut geeignet zur Implementierung in
einem FPGA insbesondere bei hohen Datenraten. In dieser Darstellung ist die Be-
rechnung besser parallelisierbar, weil Teile des Algorithmus (VHDL Zeilen) durch
die Verzgerungsglieder (z-1) entkoppelt werden. Insbesondere bei FIR-Filtern hoher
Ordnung kann das ein entscheidendes Kriterium sein. Durch eine Erhhung der Ord-
nung (mehr Koeffizienten) erhhen sich nahezu proportional die notwendigen Res-
sourcen des FPGAs (Logikelemente / DSP-Blcke).
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity FIR is
port (
clk : in std_logic ; -- Filter clock
reset : in std_logic ;
clk_en : in std_logic ; -- Clock enable
u : in signed(15 downto 0) ; -- Input
b0,b1,b2,b3 : in signed(15 downto 0) ; -- Koeffizienten
x : out signed(31 downto 0) -- Output
);
end entity;
- - -
a3 a2 a1
z-1 z-1 z-1
xk-3 xk-2 xk-1
Beschrnkt man sich auf IIR-Filter 1. und 2. Ordnung, so kann man zur Digital-
filtersynthese die notwendigen Koeffizienten auch ohne Umweg ber Analogfilter
und Bilinear-Transformation mit Hilfe von tabellarischen Formeln bestimmen.
G s
1 1 1
. ( ) (11.3)
1 s 1 s 1 s
g 2 fg
h(t)
1
t
ht 1 e
b1
Ta t
Durch den Ansatz einer Differenzengleichung zur Berechnung von y1 ergibt sich der
Koeffizient b1:
x0 b0 u0
x1 b0 u1 b1 u0
( ) (11.4)
Ta
b1 1 e ; b0 = 0
Wenn Ta wesentlich kleiner als ist, kann folgende Nherung benutzt werden:
Ta
b1 mit e x 1 x fr x 1
GTP1 z
b1 z 1
1 z 1 (11.6)
1
1 a1 z 1 z 1
In der Praxis wird Gleichung (11.4) oft verwendet, da nur eine Multiplikation erfor-
derlich ist, und weil sich diese Version besonders gut in Festkommaarithmetik reali-
sieren lsst. Oft wird statt xn-1 der unverzgerte Wert xn verwendet (b0 statt b1),
was einer Verschiebung entspricht. Das vermindert die Phasenverschiebung des Fil-
ters, was insbesondere in der Regelungstechnik oft erwnscht ist.
G( j2 f )
0
S&H
-10 dB
digital
-20
-30
analog
-60
analog
digital mit
S&H
-90
Bild 11.8: Vergleich von Amplitudengang und Phasengang eines digitalen Tiefpas-
ses erster Ordnung mit und ohne S&H mit einem analogen Tiefpass
Ta = 1ms, fg = 25 Hz
Die z-bertragungsfunktion von einem Hochpass erster Ordnung lsst sich jetzt
leicht aus der z-bertragungsfunktion des Tiefpasses berechnen. Die Koeffizienten
des Tiefpasses sind hier zu Unterscheidung mit einer Schlangenlinie gekennzeichnet:
GHP1z 1 GTP1 z
~
~ ~
b0 b1 z 1 b0 1 b0 a~1 z 1
GHP1z 1 ~ 1 (11.7)
1 a1 z 1 1 a1 z 1 a~1 z 1
T
~ a
b0 1 b0 e
z 1
GHP 1 z
1 z 1
Auch beim digitalen Hochpass erster Ordnung lsst sich der Algorithmus zur Verar-
beitung vereinfachen: (wirkt wie die AC-Taste am Oszilloskop)
xn a1 xn1 b0 un b1 un-1
Ta Ta Ta
xn e
xn 1 e
un e
un-1
Ta
xn e
xn 1 un un-1 (11.9)
DSF 120 Krah WS 13/14
Phasenkorrekturglied erster Ordnung (PD-T1):
In der Regelungstechnik werden oft Phasenkorrekturglieder statt eines Tiefpasses
eingesetzt. Bei einem Phasenkorrekturglied werden Frequenzen deutlich oberhalb der
Grenzfrequenz um einen Faktor gedmpft (oder verstrkt). Oft reicht diese Dmp-
fung aus. Die Phasenverschiebung wird im Bereich konstanter Verstrkung zu Null,
was oft die Stabilitt des Systems verbessert. Mit > 1 wird aus dem Phasenkorrek-
turglied ein Phasenanhebendes (Phase-Lead) Korrekturglied:
1 s s
Gs
1
(11.10)
1 s 1 s 1 s
Mit
=0 wird aus dem Phasenkorrekturglied ein Tiefpass,
0<<1 ergibt sich ein Phasenabsenkendes (Phase-Lag) Korrekturglied,
=1 werden weder Phase noch Amplitude verndert (G(s) = 1) und bei
>1 ergibt sich ein Phasenanhebendes (Phase-Lead) Korrekturglied.
Die Koeffizienten werden aus den vorhergehend hergeleiteten (digitaler Tiefpass
bzw. Hochpass) berechnet:
Ta
a1 e
Ta
1 e
b0 Ta
(11.11)
1 e
Ta
b1 e b0
Beispiel:
Zeitkonstante = 1 ms
Bypass = 0,15
Abstastzeit (Zykluszeit) Ta = 62,5 s
0, 0625
a1 e 1 0,9394 oder
0, 0625
b1 e 0,15
b0 0,1172
bertragungs- Algorithmus
Filter ai , bi
funktion G(z) X(z) = G(z) U(z)
Ta
Tiefpass b0 a1 e
auch b1 xk xk 1 b0 (uk xk 1 )
1 a1 z 1
Ta
statt b0 b0 1 e
Ta
a1 e
b0 b1z 1 Ta
xk b0 xk 1 uk uk-1 b0
Hochpass e
1 a1 z 1
Ta
b1 e
Ta
a1 e
Ta
Phasen- 1
b0 b1z xk = a1 xk-1 + 1 e
korrektur- b0
glied 1 a1 z 1 b0 uk + b1 uk-1
Ta
1 e
Ta
b1 e b0
uk -1
uk-1 -1
uk-2
z z
b b b
0 xn
- -
a a
z-1 z-1
xk-2 xk-1
G s
K
, g 2 f g
2 1
1 s s 2
g g2
b0 b1 b2
lim hk K .
k 1 a1 a2
K s2
Gs 2 , g 2 f g
g 2 g s s 2
sind die Koeffizienten des Nenners identisch mit denen des Tiefpasses. Die Zhler-
Koeffizienten b0 , b1 und b2 berechnen sich wie folgt:
1 sin 2 f g Ta
a2
1 sin 2 f g Ta
a1 1 a2 cos 2 f g Ta
(11.13)
1 a1 a2
b0 b2 K
4
b1 2 b0
Wenn die Grenzfrequenz wesentlich kleiner als die Shannonfrequenz ist, geht a2 ge-
gen 1 und a1 gegen -2. Mit Anwendung des Anfangswertsatzes folgt
1 a1 a2 1 2 1
lim hk b0 K K K .
k 0 4 4
f 0 Ta
1 tan
Q
a2
f 0 Ta
1 tan
Q
a1 1 a2 cos 2 f 0 Ta
(11.14)
1 a2
b0 K
2
b1 0
b2 b0
f 0 Ta
1 tan
Q
a2
f 0 Ta
1 tan
Q
(11.15)
1 a2
b0 b2
2
a1 2 b0 cos2 f 0 Ta
b1 a1
2HP 1
1 s s2
HP 2
G s HP
2 1
1 TP s 2 s 2
TP TP
Hier berechnen sich die Koeffizienten wie folgt:
TP
2 e TP TP Ta cosh 2 1 T
TP a fr TP 1
a1
2 e TP TP Ta cos 1 2 T
TP TP a fr TP 1
a2 e 2TPTP Ta
~
b0 1
~
HP
2 e HPHP Ta cosh 2 1 T
HP a fr HP 1
b1
2 e HPHP Ta cos 1 2 T
HP HP a fr HP 1
~
b2 e 2HPHP Ta
Die Skalierung der Zhlerkoeffizienten erfolgt mit dem Endwertsatz der
z-Transformation:
~ 1 a a
bi K bi ~ ~1 ~2
i 0,1, 2 b0 b1 b2
0
F
- 17 dB
-20
265 Hz
-30 dB
38 Hz - 34 dB
-40
0
-90
-180
-270
1 10 100 f 1 k Hz 10 k
Beispiel Bi-Quad:
a2 0,8008
Hochpass-Eckfrequenz: fHP = 200 Hz (HP = 1256,64 1/s)
1
Hochpass-Dmpfungsgrad: HP
2
~
b0 1
~
b1 2 0,8008 0,9754 1,5623
0,0221
b0 1 0,2797
0,0790
0,0221
b1 1,5623 0,4370
0,0790
0,0221
b2 0,6413 0,1794
0,0790
k k
Gz 14 14 z 1 14 z 2 14 z 3 (11.16)
Alternativ kann dieser Mittelwertfilter auch mit einem IIR-Filter 4. Ordnung realisiert
werden:
1 z 4
Gz 1
(11.17)
1 z 1
4
3. Dmpfung:
Wird jetzt nach der Summierung das Signal durch Down-Sampling mit der ge-
wnschten, um den Faktor 4 geringeren Abtastfrequenz weiterverarbeitet (jeder 4.
Wert), so wird bei der Differenzbildung nicht ein um 4 (kurze) Abtastzeiten verzger-
tes Signal sondern ein um nur 1 (lange) Abtastzeit verzgertes Signal verarbeitet. Das
verringert den Aufwand bei der Implementierung erheblich, Bild 11.13.
a)
M
b)
Oft werden SincK-Filter hherer Ordnung verwendet, die einfach durch entsprechen-
de Kaskadierung von K-Sinc1-Filtern erster Ordnung gebildet werden. Bei der Reali-
sierung werden erst die K-Summierer hintereinandergeschaltet, dann wird das Signal
mit der gewnschten (niedrigeren) Abtastrate digital abgetastet (Down-Sample =
jeder M-te Wert). Die Differenzbildung erfolgt dadurch mit deutlich geringerem
Aufwand, da nur eine langsame Verzgerung statt M schnellen Verzgerungen be-
ntigt wird. Bei Implementierungen mit Festkommaarithmetik ist es von Vorteil, (
weniger Quantisierungsrauschen) erst nach der Differenzbildung den Faktor ()K zu
bercksichtigen. Diese Kombination aus Filter und Down-Sampling (Dezimierung)
wird Dezimierungsfilter genannt.
MDAT
MCLK
Down-
Sampling
MCLK / M
Differentiator I Diffrentiator II Diffrentiator III
Bild 11.14: Ein Sinc Filter besteht aus 3 Summierern, einem Down-Sampler (D-
Latch) und 3 Differenzierern [Ti]
Die bertragungsfunktion eines wie dargestellt realisierten SincK Filters mit der De-
zimierungsrate M lautet:
( ) ( ) (11.18)
Der Anfangswert der Sprungantwort h0 ist bei jeder Konfiguration 1, und bei machen
Implementierungen bedingt durch zustzlich verzgernde Taktzyklen identisch null.
Der Endwert h betrgt ohne weitere Skalierungen MK. Ein Sinc (K = 3 3. Ord-
( ) ( ) (11.19)
sinc step response
1.0
0.8
SRD step response
0.6
0.4
sinc pulse response /
0.2 weighting function
0
M 1.5 M 2M 3M
T1 LPF = 4.8 s
M = 32
64 128
M
Bild 11.17: Reale Filter erreichen nicht den theoretisch mglichen Rauschabstand
Modulator 2-er Ordnung, Sinc Filter 2. und 3. Ordnung [Ti ADS 1204]
(11.20)
Bei einem Sinc Filter (K = 3) mit einem Dezimierungsfaktor von M = 90 und einem
1-Bit (m = 1) Sigma-Delta Modulator ergibt sich . Da die Datenwort-
breite N eine ganze Zahl sein muss, ist hier N = 21 oder grer zu whlen.
[ct], LE, IO, VHDL
ein, ergibt sich aus der komplexen Funktion F*(s) eine Potenzreihe F(z) mit der kom-
plexen Variablen z:
F ( z ) f k z k . (12.3)
k 0
Diese bezeichnet man als "z-Transformierte der -Impulsfolge f *(t)". So wird die z-
Transformation als eine diskrete Form der Laplace-Transformation definiert, die je-
dem Abtastsignal umkehrbar eindeutig eine Potenzreihe in eTa s z zuordnet.
z f * (t ) F * ( s) F ( z ) f k z k (12.4)
eTa s z
k 0
mit fk = 0 fr k < 0
Dabei stellt F(z) eine Potenzreihe in z mit negativen Exponenten dar, die man auch
als Laurent-Reihe bezeichnet.
Nach Gleichung (12.3) kann die z-Transformierte F(z) aber auch direkt aus der Wer-
tefolge {fk} gewonnen werden. F(z) wird dann als "z-Transformierte der Wertefolge
{fk}" bezeichnet. Somit ist auch jeder Wertefolge umkehrbar eindeutig eine Potenz-
reihe in z zugeordnet.
z{ f k } F ( z ) f k z k (12.5)
k 0
mit fk = 0 fr k < 0
Besteht eine Wertefolge {fk} aus den Abtastwerten eines zeitkontinuierlichen Signals
f(t), so kann man die Wertefolge auch als diskretes Signal {fk} bezeichnen.
DSF 135 Krah WS 13/14
Analog zur Laplace-Transformation werden fr die Korrespondenzen der z-
Transformation hufig folgende Schreibweisen verwendet:
z{ f k } F ( z )
z f * (t ) F ( z ) (12.6)
m1
{fk+m} z m F ( z ) f i z i mit m > 0 (12.9)
i 0
Bei der Verschiebung nach links werden alle Werte, die in den negativen Bereich ge-
schoben werden, zu Null.
Dmpfungsregel
{fk} - {fk-1} 1 z F ( z)
1
(12.11)
Summationsregel (accumulation)
k
{ f i }
1
F ( z ) (12.13)
i 0 1 z 1
d
{kfk} z F (z ) (12.14)
dz
Faltungsregel (convolution)
Die Faltungsregel ist fr die Beschreibung von Abtastsystemen von entscheidender
Bedeutung, weil man damit Hintereinanderschaltungen linearer Abtastsysteme be-
schreiben kann. An dieser Stelle sei auf Kapitel 12.6 verwiesen, in dem nochmals
ausfhrlich auf die Anwendung der Faltung zur Behandlung von Abtastsystemen ein-
gegangen wird.
Ausgehend von der Definition der Faltung fr den zeitkontinuierlichen Fall
t t
f(t) g(t) = f ( ) g (t )d g ( ) f (t )d
0 0
z
Mit H ( z ) G( z ) folgt:
z 1
h0 lim {hk } lim H ( z ) lim G( z )
k 0 z z
Endwertsatz
existiert lim {hk } und ist das System stabil, so gilt:
k
z
Mit H ( z ) G( z ) folgt:
z 1
h lim {hk } lim ( z 1) H ( z ) lim G( z )
k z 1 z 1
at
a z (1 e aTa )
1 e
s ( s a) ( z 1)( z e aTa )
at bt
ba z (e aTa e bTa )
e e
( s a ) ( s b) ( z e aTa ) ( z e bTa )
z sin( Ta )
sin( t )
s2 2 z 2 2 z cos( Ta ) 1
s z z cos( Ta )
cos( t )
s2 2 z 2 z cos( Ta ) 1
2
2 s Ta z ( z 2 1) sin( Ta )
t sin( t )
(s 2 2 ) 2 z 2
2 z cos( Ta ) 1
2
t cos( t )
s2 2
Ta z ( z 2 1) cos( Ta )
(s 2 2 ) 2 z 2
2 z cos( Ta ) 1
2
at
z e aTa sin( Ta )
e sin( t )
( s a) 2 2 z 2 2 z e aTa cos( Ta ) e aTa
at
sa z 2 z e aTa cos( Ta )
e cos( t )
( s a) 2 2 z 2 2 z e aTa cos( Ta ) e aTa
1 ; fr k 0
{ k } . (12.19)
0 ; fr k 0
Die z-Transformierte der Einheitssprungfolge ergibt sich damit zu
1 ; frk0
z { k } f k z k mit f k =
k 0 0 ; frk0
z { k } z k .
k 0
Dies entspricht einer geometrischen Reihe mit dem Quotienten z -1. Fr den Fall
z 1 1 ist die Reihe konvergent, so dass man eine geschlossene Summenformel an-
geben kann:
1 z
z { k } 1
(12.20)
1 z z 1
1 ;fr k 0
{ k } (12.21)
0 ;fr k0
Betrachtet man die z-Transformierte der Einheitsimpulsfolge
1 ;fr k0
z { k } f k z k mit f k
k 0 0 ;fr k0
z { k } 1 (12.22)
z { k m } z m (12.23)
Diese Eigenschaft zeigt sich auch bei der diskreten Einheitsimpulsfolge in Verbin-
dung mit der Faltungssumme:
12.4 Rcktransformation
Die einer z-Transformierten zugehrige Wertefolge lsst sich nach verschiedenen
Methoden bestimmen. Bentigt man geschlossene Formeln, so bietet sich die Rck-
transformation mit Hilfe von Korrespondenztabellen oder ber eine Partialbruchzer-
legung an.
In der digitalen Regelungstechnik finden zwei numerische Verfahren Anwendung,
die Rckfaltung und das rekursive Lsen der Differenzengleichung. Diese Verfahren
liefern unmittelbar die der z-Transformierten zugehrige Wertefolge. Die erforderli-
chen Algorithmen knnen leicht am Rechner implementiert werden.
a) Rcktransformation durch Rckfaltung
Um die einer z-Transformierten F(z) zugehrige Wertefolge {fk} zu erhalten, muss
F(z) in Form einer Laurent-Reihe entwickelt werden:
F(z) = f k z k = f0 + f1z-1 + f2z-2 + . . . (12.26)
k 0
B( z ) b0 b1 z 1 ...bm z m
F z (12.27)
A( z ) a0 a1 z 1 ... an z n
Fr die Koeffizienten der Wertefolge {bk} ergibt sich ber die Faltungssumme:
k k k k 1
bk ai f k i ak i f i a0 f k ai f k i a0 f k ak i f i (12.30)
i 0 i 0 i 1 i 0
Daraus ergibt sich die rekursive Formel zur Berechnung von fk:
1 k
fk bk ai f k i (12.31)
a0 i 1
bzw.
1 k 1
fk bk ak i f i . (12.32)
a0 i 0
Den Vorgang der Umkehrung der Faltungssumme bezeichnet man als Rckfaltung.
Sind die a- und b-Koeffizienten der z-Transformierten bekannt, so lassen sich die
Werte fk durch das folgende Schema berechnen:
b0
f0
a0
b1 a1 f 0
f1
a0
b2 a1 f1 a 2 f 0
f2 (12.33)
a0
.
.
.
bk a1 f k 1 a2 f k 2 . . . ak 1 f1 ak f 0
fk
a0
X ( z ) b0 b1 z 1 ... bm z m
G( z) (12.34)
U ( z ) 1 a1 z 1 ... an z n
erhlt man durch Anwendung der Verschiebungsregel der z-Transformation die fol-
gende Differenzengleichung (xk-1 ist bekannt):
xk a1 xk 1 ... an xk n b0 uk b1 uk 1 ... bm uk m
Stellt man die Differenzengleichung nach xk um, knnen die Werte der Ausgangsim-
pulsfolge rekursiv berechnet werden.
Beide Verfahren arbeiten iterativ und sind deshalb zur Herleitung allgemeiner For-
meln ungeeignet. Zur Berechnung eines beliebigen Wertes der Ausgangsimpulsfolge
mssen fr beide Verfahren die vorangegangenen Werte von Ein- und Ausgangsgr-
e bekannt sein. Im Gegensatz zu geschlossenen Formeln knnen daher keine einzel-
nen Werte im Zeitbereich ohne deren Vorgeschichte berechnet werden. Bei der Beur-
teilung von Systemen interessiert jedoch hauptschlich der Einschwingvorgang. Die
Werte fr den eingeschwungenen Zustand knnen dann ber den Endwertsatz der z-
Transformation oder aus physikalischen Betrachtungen hergeleitet werden [2, 5, 13].
Bei dem bergang in den z-Bereich ist zu beachten, dass man im allgemeinen zuerst
die beiden bertragungsfunktionen zusammenfassen muss, bevor man die z-
Transformierte bildet, da fr die z-Transformierte einer zeitkontinuierlichen Faltung
folgendes gilt:
Ist aber mindestens eine der miteinander gefalteten Gewichtsfunktionen eine -Im-
pulsfunktion der Form
g1,k (t k Ta )
g1 (t ) g1 (t )
k 0
bzw.
g 2 (t ) g 2 (t ) g 2,k (t k Ta ) ,
k 0
z g1 (t ) g 2 (t ) = zg1 (t ) z g 2 (t )
* *
(12.37)
G1(s)
Ta Ta
u(t) *
u (t) x(t) x*(t)
Ta Ta
u(t) u*(t)
G1(eTas)
v(t)
G2(s)
x(t) x*(t)
X ( z ) G1 ( z ) G2 ( z ) U ( z )
*
U(s) U (s) V(s) X(s) X*(s)
X(z)=ZG(s) U(s)
G(s)
U(s) X(s) X*(s)
X ( z ) = G2 ( z ) Z G1 (s) U (s)
U(s) V (s) V*(s) X(s) X*(s)
Dies bedeutet, dass die Sprungantwort gegen einen endlichen Wert strebt.
Stabilittsbedingung im z-Bereich
Im{z}
z-Ebene
Re{z}
stabil
1
Stabilittsrand instabil
Bild 13.1: Ein System mit der bertragungsfunktion G(z) ist stabil, wenn die Pole
von G(z) innerhalb des Einheitskreises der z-Ebene liegen.
Betrachtet man statt der Gewichtsfolge {gk} ihre z-Transformierte G(z), so erhlt man
eine notwendige und hinreichende Stabilittsbedingung im z-Bereich. Danach ist ein
diskretes bertragungssystem genau dann stabil, wenn alle Pole seiner rationalen
Z ( z)
G( z ) ; mit m GradZ z n GradN z
N ( z)
N ( z ) an z n an 1 z n 1 . . . + a1 z + a0
N z a1 z a0 ; mit a1 0
Polynom 2.Grades
N z a2 z 2 a1 z a0 ; mit a2 0
Polynom 3.Grades
N z a3 z 3 a2 z 2 a1 z a0 ; mit a3 0
N 1 0 , N 1 0 , a3 a 0 (13.4)
a1 a3 a0 a2 a32 a02
Polynom 4.Grades
N z a4 z 4 a3 z 3 a2 z 2 a1 z a0 ; mit a4 0
N 1 0 , N 1 0 , a 4 a0 (13.5)
a1 a4 a0 a3 a4 a0
2 2
a4 a0 a4 a2 a0 a3 a1 a1 a4 a0 a3 0
Polynom 5.Grades
N z z 5 a4 z 4 a3 z 3 a2 z 2 a1 z a0
N 1 0 , N 1 0 , a0 1 (13.6)
A2 A a0 a4 a1 a3 1 0
a0 a1 a3 a 2 a 4
A 2 mit A
1 a1 a0 a0 a 4
2
Z z
Gz ; mit GradZ z GradN z
N z
N z an z n an 1 z n 1 . . . a1 z a0
N z a
0 0,n z n a0,n 1 z n 1 . . . a0,1 z a0,0
E. I. Jury hat ein Verfahren hergeleitet, das hnlich dem Horner-Schema das Polynom
schrittweise reduziert. Es wird wie beim Hurwitz-Kriterium eine berprfung von
Bedingungen fr die Koeffizienten der charakteristischen Gleichung ohne eine expli-
zite Berechnung der Pole durchgefhrt. Der Unterschied zum Horner-Schema liegt in
dem Schtzen von Nullstellen. Durch das Verfahren kann man nach der Reduktion an
einer "resultierenden Null in der letzten Spalte" erkennen, ob die geschtzte Stelle
eine Nullstelle ist oder nicht.
zn z n 1 . z1 z0
Dabei gilt:
ai ,0
i ; mit i = 0, 1, 2, ...
ai ,n
Ist nun
a1,n 1 a1,0 ,
a1,n 1 a1,0 ,
so wird auf die gleiche Weise fortgefahren, bis nur noch zwei Elemente in der Zeile
stehen.
Gilt nun endgltig
an 1,1 an 1,0 ,
so ist G(z) stabil, d.h. alle Polstellen der z-bertragungsfunktion liegen innerhalb des
Einheitskreises in der z-Ebene.
z5 z4 z3 z2 z1 z0 i
N0 1 -2,5 2,83 -1,819 0,634 -0,091 -0,091
-0,008 +0,058 -0,167 +0,261 -0,230 +0,091