Professional Documents
Culture Documents
SIG Compendium
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
This method assumes that the system is causal so that its output at a given point in time only depends on present or past signal
samples. It requires that the system equation is available.
328
329
330
331
i 1
i 0
From this representation the following scheme may be set up and used to subsequently determine the output samples of y[nT]:
b0
n
x[nT]
n0
...
n0+1 ...
...
...
b1
x[(n-1)T]
...
...
...
b2
x[(n-2)T]
...
...
...
...
...
...
...
...
input
bl
x[(n-l)T]
...
...
...
output
-ak
y[(n-k)T]
...(*)
...
...
...
...
... (*)
...
...
-a2
y[(n-2)T]
... (*)
...
...
-a1
y[(n-1)T]
... (*)
...
...
y[nT]
...
...
...
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
Each row is used to calculate y[nT] from the other entries in the row and the coefficients in the header row according to:
y[nT] b0 x[nT] b1 x[(n - 1)T] ... bl x[(n - l)T] - ak y[(n - k)T] - ... - a1 y[(n - 1)T]
For the algorithm to work it is required to
a) determine a starting point n0; this is usually the left border of the input signal and may in many cases be set to n0=0.
b) know about the initial conditions. Initial conditions are the samples that occurred at the output signal before the set starting point.
They are y[(n0-1)T], y[(n0-2)T], y[(n0-k)T], marked in the scheme by (*). Thus a system of order k requires k initial conditions. In
many cases all initial conditions are 0.
Such algorithm is well structured for hardware implementation, requiring multiply-add units and shift operations.
A drawback of this algorithm is that it only produces numerical values. A mathematical expression for y[nT] is often hard to determine
from them.
348
349
350
351
352
353
354
355
356
357
358
359
360
361
The unit pulse response of a system is the output signal when the input signal is a unit pulse function G[nT]; its symbol is h[nT].
It is unique for a given system and contains all information available on the system itself!
The unit pulse response of a system may be determined
with mathematical methods, or
potentially by applying the recursive numerical method, or
by use of the z-transform ( chapter 5; preferred method), or
estimated through measurements of a pulse or step response.
A system is causal if and only if h[nT]=0 for all n<0.
SIG Compendium
8a
SIG Compendium
362
363
364
365
366
367
368
y[nT]
m f
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
The following is a detailed step-by-step approach to solve this convolution sum and to determine the system response in the timedomain; to ease the procedure it is usually performed considering only the index values and omitting the time axis. Note that with
increased experience one will not need to perform each individual step.
1) Sketch a graph of the input signal x[n] and the system impulse response h[n].
Write down a functional expression for x[n] and h[n].
2) Sketch a graph of x[m], h[m] and h[-m]; these are based on m as independent variable.
Sketch a graph of h[n-m] and denote its significant points.
Write down a functional expression for x[m] and h[n-m].
x[m] h[n - m] .
m f
396
397
398
399
400
401
402
403
4) Finally combine the partial results into a piecewise specification for y[n].
Generally the partial sums to be determined in step 3) are infinite sums and it may be difficult to specify a resulting expression; only
approximations might be available in such case.
Special cases:
n
x[m] h[n - m]
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
if input signal x[nT] and unit pulse response h[nT] both are finite with extents nxe, nhe, convolution can be performed in (nxe+nhe-1)
single steps, each one producing a single sample value for y[nT], and the remaining samples of y[nT] being 0.
m f
It may be worth noticing that the sum of the sample indices of x[m] and h[n-m] always is n.
419
SIG Compendium
9a
SIG Compendium
420
421
422
423
424
425
426
427
428
429
430
431
432
433
X(z)
x[nT] z-n
n 0
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
n0
0
Notations:
As z is often called a frequency in a wider sense, especially in the context of z-transforms, X(z) is then consequently called a signal
in the frequency-domain; also the term z-domain is widely used.
The operation to produce X(z) from x[nT] is called z-transform and is sometimes denoted by X(z)=Z
Z{x[nT]}; the operation to produce
x[nT] from X(z) is called inverse z-transform and is sometimes denoted by x[nT]=Z-1{X(z)}.
As the transform can be performed in both directions, a frequent notation is x[nT]
X(z) with the open circle representing the
time-domain and the filled circle representing the frequency-domain.
It has become common practice to specify signals in the time-domain with lowercase letters and signals in the frequency-domain
with uppercase letters.
SIG Compendium
10a
SIG Compendium
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
a.x[nT]+b.y[nT]
R2: Time shift
Let x[nT]
X(z)
x[(n-m)T]
X(z).z-m
for mt0, m: const.
R3: z-scaling
z
Let x[nT]
X(z)
for a: const.
an x[nT]
X( )
a
k
R4: Multiplying with (nT)
d
Let x[nT]
X(z)
(nT)k x[nT]
z T Z (nT)k 1 x[nT] for k>0, k: const.
dz
R5: Difference
Let x[nT]
X(z)
x[nT]-x[(n-1)T]
(1-z-1).X(z)
R6: Sum
n
X(z)
Let x[nT]
X(z)
x[iT]
1 - z-1
i 0
R7: Convolution
Let x[nT]
X(z) and y[nT]
Y(z)
x[nT]
y[nT]
X(z) . Y(z)
R8: Limit Theorems
R9a: Initial Value
x[0]
lim (X(z))
Let x[nT]
X(z)
z of
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
nof
z o1
only in case all poles of (1-z-1).X(z) lie inside the unit circle
495
496
497
498
499
500
501
SIG Compendium
11a
SIG Compendium
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
If a signal X(z) is a rational function as given above, it can be represented by a sum of simpler rational functions. This procedure is
called partial fraction expansion and is specified in Mathematics; thereby complex conjugate poles should be combined into a
quadratic term to make the further processes more comfortable.
Once X(z) is represented as a sum of its partial fractions there is a good chance to find a corresponding entry in the table of ztransform pairs for each of the remaining summands.
Before applying partial fraction expansion it must be verified that the polynomial order of the numerator is smaller than the polynomial
order of the denominator. If this is not the case, a polynomial division has to take place first, and partial fraction expansion is applied
only to the remaining rational function.
However it can be shown under the preconditions of this chapter for the expression X(z)/z that its numerator order is always smaller
than its denominator order, and therefore usually X(z)/z is expanded into partial fractions, thereby avoiding a polynomial division.
Afterwards each partial sum is multiplied with z (or divided by z-1) to achieve a representation for X(z).
Thus determining x[nT] from X(z) through partial fraction expansion is performed in several steps:
1. Write down X(z)/z as a polynomial in numerator and denominator.
2. Determine all poles of X(z)/z and express the denominator using product terms (z -Di); combine all complex conjugate pole pairs
into a quadratic term each.
3. Apply partial fraction expansion on X(z)/z.
4. Multiply the result with z (or, preferably, divide it by z-1), resulting in a sum of partial fractions for X(z).
5. Find the inverse z-transform for each partial fraction from the table of transform pairs, potentially also using transform theorems.
This results in an expression for x[nT].
570
571
572
573
574
575
576
577
578
579
580
581
582
583
bi x[(n - i)T]
i 0
For real world systems all coefficients ai and bi are real values, as they originate from the difference equation above.
Such equations can undergo the z-transform as a whole, using the theorems above. Solving the resulting equation for Y(z) leads to:
b0 b1z-1 b2z-2 ... bl-1z-(l-1) blz-l
X(z)
Y(z)
a0 a1z-1 a2z- 2 ... ak -1z-(k -1) ak z-k
This is a good starting point to determine the response of a system on a given input signal x[nT]. The procedure to follow is:
1. Given a system, described by its system equation, build the z-transform of the system equation and solve it for Y(z).
2. Determine the z-transform X(z) of the given input signal x[nT].
3. Put X(z) into the result of step 1 and transform the expression for Y(z) into a rational function.
4. Follow the procedure in the previous section to obtain y[nT] from Y(z).
In case the system (and hence the system equation) does not change, step 1 needs to be executed only once.
SIG Compendium
12a
SIG Compendium
584
585
586
587
588
A very important aspect of this method is that it also can be applied in cases where the system output y[nT] has not been 0 for all
times nT<0, an exception from the precondition set up above for this whole chapter.
In such cases step 1 of the procedure must use the following modified time shift theorem for transforming the left hand side of the
system equation (here specified for y[nT]):
Let y[nT]
Y(z)
y[(n - m)T]
i 1
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
The sample values y[iT] are the initial conditions already encountered in section 4.1 above.
This allows investigating the system response on an input signal in situations where the output signal from a previous stimulus has not
yet disappeared.
The transfer function H(z) can also be determined from the unit pulse response h[nT] of the system simply by H(z)=Z
Z{h[nT]}.
Furthermore the transfer function can be determined graphically from any block diagram given for the system. For this purpose the
complete block diagram is sketched in the z-domain (i.e. signals are denoted X(z), Y(z), instead of x[nT], y[nT], ) and each block
is given a content that corresponds to its transfer function (i.e. a delay block will be given the content of z-1 instead of D, as z-1 is the
transfer function of a delay block; constant values in a block remain unchanged).
Having done this, the following block operations may be performed to subsequently reduce the number of blocks (and thereby the
block diagram's complexity) until only one block is left. The content of that block is the transfer function H(z) of the system.
Block diagram operations (in the z-domain!):
two blocks (with content H1(z) and H2(z)) in series can be replaced by one block with content H1(z).H2(z).
two blocks (with content H1(z) and H2(z)) in parallel can be replaced by one block with content H1(z)+H2(z).
two blocks (with content H1(z) in forward and H2(s) in feedback direction) in a basic feedback arrangement can be replaced by one
H1(z)
. The sign is contrary to that of the feedback signal at the combination (sum point).
block with content
1 # H1(z) H2 (z)
A branch may be moved from before a block to behind that block and vice versa; a compensating block has to be added to the
block diagram so that the overall functionality remains unchanged.
A sum point may be moved from before a block to behind that block and vice versa; a compensating block has to be added to the
block diagram so that the overall functionality remains unchanged.
One should avoid swapping a branch and an adjacent sum point; the compensations needed to keep the overall functionality
unchanged usually introduce additional complexity into the block diagram instead of simplifying it.
SIG Compendium
13a
SIG Compendium
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
The frequency response is a complex valued function of f; it thus has an amplitude and a phase value for each f: Hd (f) | Hd (f) | e jHd (f) .
Its primary purpose is to find the output signal the system would produce when the input signal is a sinusoidal signal of frequency f0:
x[nT] = A.cos(2Sf0nT + 4).
An LTI system will respond with a sinusoidal output signal of same frequency:
y[nT] = B.cos(2Sf0nT + );
only amplitude and phase of y[nT] may change, compared to x[nT].
The frequency response specifies the amount of change occurring to amplitude and phase:
B=A.|Hd(f0)|
4+Hd(f0)
When graphically presenting the frequency response, usually two diagrams are required:
the amplitude response: a graph showing |Hd(f)| over f, and
the phase response: a graph showing Hd(f) over f.
As a DT system may only experience input signals with frequencies f<fs/2 due to Shannon's sampling theorem, the knowledge of one
period of Hd(f) is sufficient, and graphical representations often are reduced to such frequency interval.
Several options exist to determine the frequency response of a system
The so-called discrete time Fourier transform (DTFT) calculates Hd(f) from the unit pulse response h[nT] according to
f
684
685
686
687
688
689
690
691
692
693
694
695
696
Hd (f)
h[nT] e- j 2Sn f T .
n -f
z e j2 SfT
It assumes that Hd(f) exists, which is not further investigated here (Hd(f) exists for all systems that are BIBO-stable).
Note that Hd(f) obviously corresponds to H(z) when evaluating H(z) on the unit circle (the amplitude of z=ej2SfT is 1, and its phase is
2SfT; thus the phase grows with growing f, periodically repeating with 1/T=fs).
Note further that the system behavior for constant input signals (f=0) can be determined from H(z=1); for the highest possible
frequencies (ffs/2) it can be determined from H(z-1)
SIG Compendium
14a