Skip to content Skip to navigation

Connexions

You are here: Home » Content » An Introduction to the FDM-TDM Digital Transmultiplexer: Appendix B

Navigation

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

In these lenses

  • UniqU content

    This module is included inLens: UniqU's lens
    By: UniqU, LLCAs a part of collection: "An Introduction to the FDM-TDM Digital Transmultiplexer"

    Click the "UniqU content" link to see all content selected in this lens.

Recently Viewed

This feature requires Javascript to be enabled.
 

An Introduction to the FDM-TDM Digital Transmultiplexer: Appendix B

Module by: John Treichler. E-mail the author

Production of Real-valued Outputs

It is frequently the case that the best system-wide choice is the use of a transmultiplexer producing complex-valued outputs even though some of the system outputs need to be real-valued. An example of this is when a transmultiplexer is used to supply all transmuxed signals to an analyzer of some sort, plus a few selected signals for a downstream processor or transmission system. If the analysis processing is best done with complex-valued data (and it often is), then the best system-level choice is often to use a complex-output transmux and then to convert the relatively few system outputs to a real-valued representation. This appendix describes how this can be done.

Producing a real-valued signal from a complex-valued one is as simple as taking its real part, but for this to be valid, the complex-valued signal must be sampled frequently enough. In actual practice, this condition is not usually met and it is necessary to increase the complex-valued signal's sampling rate by a factor of two before extracting the real part. Another complication is that the user may desire to choose the spectral orientation of the resulting real-valued signal.

Figure 1 shows the spectral implications of the steps usually taken to interpolate the complex-valued signal, specify its sideband orientation, and produce a real-valued representation.

Figure 1(a) shows the assumed spectrum of the complex-valued input signal z(r)z(r). The signal z(r)z(r) is assumed to be the output of a complex-valued FDM-TDM transmultiplexer. It is sampled at the rate f and is spectrally oriented so that an increasing input frequency results in a higher output frequency. We'll term this upper sideband. Note that the bandwidth of z(r)z(r) is less than f.

We now upconvert z(r)z(r) by f2f2 Hz by multiplying it by (-1)r(-1)r. This is shown in Figure 1(b). The signal is now centered around f2f2 instead of 0 Hz. The sampling rate is doubled by zero-filling z¯(r)z¯(r), that is, z¯(k)z¯(k) is created by setting z¯(k=2r)=z(r)(-l)rz¯(k=2r)=z(r)(-l)r for even values of k and z¯(k)=0z¯(k)=0 for odd values of k. The spectral effects of this zero-filling are shown in Figure 1(c). The sampling rate is now 2f2f and two upper sideband images of the original signal are present, one centered at f2f2 and the other at -f2-f2.

The next step is to bandpass filter the desired image. Two filter transfer functions are shown in Figure 1(d). We focus first on the one drawn with the solid line for now. When the zero-filled input signal Z¯(k)Z¯(k) is convolved with the filter having this response, the higher of the two images is preserved and the lower one suppressed. This is shown in Figure 1(e).

Figure 1: Spectral Implication of Each Step of the Sample-Rate Doubling Used to Produce Real-Valued Outputs
This figure consist of 7 images arranged vertically. The top one is labeled (a) Spectrum of Complex valued input, and it consists of a horizontal line with the left extreme labeleed f/2 and the middle labeled 0. On this line there is a single right triangle. The second image is labeled (b) Upconversion by f/2Hz. The image consist of a horizontal line with the extremes labeled -f/2 on the left and f/2 on the left and the middle labeled 0. On this line on the far left is a right portion of a right triangle which is comprised of the right angle formed with bottom horizontal line and a portion on the hypotenuese while on the right side is the left most portion of a right triangle. The third image is labeled (c) zero-filling by a factor of 2 and it consist of a long horizontal line with the extremes labeled -f on the left, o in the middle and f on the right. On this line there are two right triangles, one on the left and one on the right. The fourth image is labeled (d) response of image reduction filter. It consist of a horizontal line labeled -f on the left, 0 in the middle, and f on the right. On this line the are two trapazoid-esque figures. On the left is a trapazoid figure that is formed by dashed lines. The top and the bottom horizontal lines are parallel while the left adn right lines of the trapazoid angle to the right and left respectively. The bottom line of this trapazoid is squiggly on the left most portion. The right trapazoid is formed by solid lines. The top line and bottom horizontal line are parallel and the sides angle in toward each other the far left line of this trapazoid and the far right line of the other trapazoid cross and form a triangle at the center near the the label 0. The fifth image is labeled (d) Output of image reduction filter. This image is exactly like the third image except that the left right triangle is formed by dashed lines. The sixth image is labeled (f) Real-valued output (USB selected) and it consist of a horizontal line with the extremes labeled -f on the left and f on the right and 0 in the middle. On the left is a right triangle with the right angle on its bottom left. On the right side of the line is a right triangle with its right angle on the bottom right. The seventh image is labeled (g) real-valued output (LSB selected) and it consist of a horizontal line with its extremes labeled -f on the left and f on the right with 0 in the middle. On the far left of this line there is a right triangle formed by dashed lines with its right angle on its bottom right. On the far left of this line there is another right triangle formed by dashed lines with its right angle on its bottom left.

Obviously, the use of a filter with transmission characteristics shown in the dashed lines in Figure 1(d) would have the effect of selecting the other image, the one shown in dashed lines in Figure 1(e).

As a result of the filtering, only one image remains and which image it is depends on the bandpass filter chosen. The last step is the production of the real-valued output by simply taking the real part of the complex-valued signal that appears at the filter's output. Since real-valued signals must have spectral symmetry about the origin, this extraction of the real part has the effect of producing an another image of the input, only this one has the opposite sideband orientation. If the upper image is selected by the bandpass filter, then spectrum of the output signal is as shown in Figure 1(f). We term this as upper sideband since the positive frequency image has the same orientation as the original complex-valued input signal. Choosing the lower image with the bandpass filter has the effect of producing the spectral relationship shown in Figure 1(g), the so-called lower sideband or inverted case.

To summarize, we produce the real-valued signal by

  1. Upconverting by f2f2
  2. Zero-filling by a factor of 2
  3. Bandpass filtering one of the two images created by the zero-filling
  4. Taking the real part of the complex filter output

The sideband orientation of the output is determined by which image is selected by the filter. We now develop the equations that describe these processing steps.

We define the bandpass filter output to be y¯(k)y¯(k), given by

y ¯ ( k ) = l = 0 L - 1 z ¯ ( k - l ) h ( l ) j l s y ¯ ( k ) = l = 0 L - 1 z ¯ ( k - l ) h ( l ) j l s
(1)

where the zero-filled input z¯(k)z¯(k) is as earlier defined. We recognize h(l)jlsh(l)jls as the pulse response of the bandpass filter and L as its duration1. The factor s has the value of 1 or -1 to determine which of the two bandpass filters is desired, and, with it, which output sideband orientation is selected. The pulse response is written in this curious fashion to emphasize that h(l)h(l) is the real-valued pulse response of a lowpass filter. It is converted into the pulse response of a bandpass filter centered at ±f2±f2 by multiplying it point by point by a sampled complex-valued sinusoid of frequency f2f2, if s=1s=1, or -f2-f2, if s=-1s=-1, that is, jlsjls.

With no loss of generality we assume that L is an integer factor of two. Suppose now that k is even. If so, k=2rk=2r and

y ¯ ( k = 2 r ) = u = 0 L 2 - 1 ( r - u ) ( - 1 ) r - u h ( 2 u ) j 2 u s = ( - 1 ) r u = 0 L 2 - 1 z ( r - u ) h ( 2 u ) . y ¯ ( k = 2 r ) = u = 0 L 2 - 1 ( r - u ) ( - 1 ) r - u h ( 2 u ) j 2 u s = ( - 1 ) r u = 0 L 2 - 1 z ( r - u ) h ( 2 u ) .
(2)

Now suppose that k is odd. If so, then it can be represented as k=2r+1k=2r+1 and the expression for the output becomes

y ¯ ( k = 2 r + 1 ) = u = 0 L 2 - 1 z ( r - u ) ( - 1 ) r - u h ( 2 u + 1 ) j ( 2 u + 1 ) s = ( - 1 ) r u = 0 L 2 - 1 z ( r - u ) h ( 2 u + 1 ) j s . y ¯ ( k = 2 r + 1 ) = u = 0 L 2 - 1 z ( r - u ) ( - 1 ) r - u h ( 2 u + 1 ) j ( 2 u + 1 ) s = ( - 1 ) r u = 0 L 2 - 1 z ( r - u ) h ( 2 u + 1 ) j s .
(3)

Using the assumption that the filter pulse response function h(k)h(k) is real-valued, then y(k)y(k), the desired real-valued output, is given

y ( k ) = R e { y ¯ ( k ) } = u = 0 L 2 - 1 R e { z ( r - u ) } h ( 2 u ) , k m o d 4 = 0 , = - s u = 0 L 2 - 1 I m { z ( r - u ) } h ( 2 u + 1 ) , k m o d 4 = 1 , = - u = 0 L 2 - 1 R e { z ( r - u ) } h ( 2 u ) , k m o d 4 = 2 , = s u = 0 L 2 - 2 I m { z ( r - u ) } h ( 2 u + 1 ) , k m o d 4 = 3 . y ( k ) = R e { y ¯ ( k ) } = u = 0 L 2 - 1 R e { z ( r - u ) } h ( 2 u ) , k m o d 4 = 0 , = - s u = 0 L 2 - 1 I m { z ( r - u ) } h ( 2 u + 1 ) , k m o d 4 = 1 , = - u = 0 L 2 - 1 R e { z ( r - u ) } h ( 2 u ) , k m o d 4 = 2 , = s u = 0 L 2 - 2 I m { z ( r - u ) } h ( 2 u + 1 ) , k m o d 4 = 3 .
(4)

This set of equations can be written in a shorthand form by using vector notation. To do this we define Xk, Yk, He, and Ho by the expressions

X k = 2 r = R e [ z ( r ) ] R e [ z ( r - 1 ) ] ... R e [ z ( r - L 2 + 1 ) ] , Y k = 2 r + 1 = I m [ z ( r ) ] I m [ z ( r - 1 ) ] ... I m [ z ( r - L 2 + 1 ) ] , H e = [ h ( 0 ) h ( 2 ) h ( 4 ) ... h ( L - 2 ) ] t , a n d H 0 = [ h ( 1 ) h ( 3 ) h ( 5 ) ... h ( L - 1 ) ] t , X k = 2 r = R e [ z ( r ) ] R e [ z ( r - 1 ) ] ... R e [ z ( r - L 2 + 1 ) ] , Y k = 2 r + 1 = I m [ z ( r ) ] I m [ z ( r - 1 ) ] ... I m [ z ( r - L 2 + 1 ) ] , H e = [ h ( 0 ) h ( 2 ) h ( 4 ) ... h ( L - 2 ) ] t , a n d H 0 = [ h ( 1 ) h ( 3 ) h ( 5 ) ... h ( L - 1 ) ] t ,
(5)

where the superscript t indicates the transpose of a vector. Using these definitions, the real-valued output y(k)y(k) can be written compactly as

y ( k ) = X k H e , k m o d 4 = 0 , y ( k + 1 ) = - s Y k + 1 H 0 , k m o d 4 = 1 , y ( k + 2 ) = - X k + 2 H e , k m o d 4 = 2 , y ( k + 3 ) = s Y k + 3 H 0 , k m o d 4 = 3 . y ( k ) = X k H e , k m o d 4 = 0 , y ( k + 1 ) = - s Y k + 1 H 0 , k m o d 4 = 1 , y ( k + 2 ) = - X k + 2 H e , k m o d 4 = 2 , y ( k + 3 ) = s Y k + 3 H 0 , k m o d 4 = 3 .
(6)

Note that if FIR filters are employed, each output requires L2L2 multiply-adds. Thus the production of each real-valued output signal uses fLfL multiply-adds per second.

Now consider the case in which the signal of interest is supplied by an offset-bin transmultiplexer. If so, the initial multiplication by (-1)r(-1)r is not needed. The effect of this can be seen by re-examining the equation for y¯(k)y¯(k) when k is even.

y ¯ ( k = 2 r ) = u = 0 L 2 - 1 z ( r - u ) h ( 2 u ) j 2 s u = u = 0 L 2 - 1 z ( r - u ) h ( 2 u ) ( - 1 ) u = u = 0 L 2 - 1 z ( r - u ) h ¯ ( 2 u ) y ¯ ( k = 2 r ) = u = 0 L 2 - 1 z ( r - u ) h ( 2 u ) j 2 s u = u = 0 L 2 - 1 z ( r - u ) h ( 2 u ) ( - 1 ) u = u = 0 L 2 - 1 z ( r - u ) h ¯ ( 2 u )
(7)

where h¯(2u)h¯(2u) is defined by the equation h¯(2u)=h(2u)(-1)u,0uL2-1h¯(2u)=h(2u)(-1)u,0uL2-1.

Suppose that we similarly define h¯(2u+1)h¯(2u+1) by the expression h¯(2u+1)=h(2u+1)(-1)uh¯(2u+1)=h(2u+1)(-1)u, and then H¯eH¯e and H¯0H¯0 as in Equation 5(fourth line). If we do this, we find that the expression for y(k)y(k) becomes simpler yet:

y ( k : k e v e n ) = X k H ¯ e , a n d y ( k : k o d d ) = - s Y k H ¯ 0 y ( k : k e v e n ) = X k H ¯ e , a n d y ( k : k o d d ) = - s Y k H ¯ 0
(8)

A block diagram of the processing needed to implement these equations appears in Figure 2.

Figure 2: Block Diagram of the Processing Required to Produce Real-Valued Outputs with Complete Sideband Control for an Offset-Bin Input
This image is a flow chart of sorts, and it progresses from left to right. On the far left side is the phrase Complex-Valued Offset-Bin Input z(r) @ rate f. TO the right of this phrase are two parallel arrows arranged vertically and pointing towards two rectangles on the right. Above the upper arrow is the expression Re{z(r)} and below the bottom arrow is the expression lm{z(r)}. The arrows point to the middle two rectangles that exist in a series of four vertically oriented rectangles. The upper rectangle contains the phrase Pulse Response H_e, the second rectangle (the one the upper arrow points to) contains the phrase Data vector X_k. The third rectangle (the one the lower arrow points to) contains the phrase Data vector Y_k, and the fourth rectangle contains the phrase Pulse Response H_0. There is an arrow pointing from each of the upper two rectangles to the right and in towards each other to a Circle containing an X. The same thing occurs with the lower two squares. To the right of the upper Circle is an arrow that points to the right and down to a point labeled x_kH_e. Above the initial portion of the arrow is the phrase L/2-Point Dot PRoduct, and to the right of the line is the phrase k Even. Down and to the right of this point is another arrow pointing to the left to the point and it is labeled Real-Valued Output y(k)@rate 2f. To the right of the bottom circle is an arrow pointing to another circle containing an X above the circle and to the left is the expression Y_kH_0 and from the circle pointing to the right is a line segment ending in a point. To the right of that line is the expression k Odd. Below the circle is the phrase L/2-Point Dot Product. Another arrow points to the left towards the circle. To the right of that is the phrase Sideband Control above the following expression wrapped in a curly brace: -1, USB and 1, LSB.

Offset Bin Operation

The analysis presented to this point assumes that the tuning frequencies are integer multiples of some fundamental step size ΔfΔf. This implies that the 0-th̲0-th̲ bin or channel is centered at 0 Hz. While this is true in some applications, there are others in which the bin or channel centers are offset in frequency by Δf2Δf2 An example is shown in Figure 3. For this example, we suppose that an FDM group of twelve channels is digitally tuned and filtered, that is, it is quadrature downconverted so as to center the group at 0 Hz. ASICs such as those discussed in the section The Impact of Digital Tuning on the Overall design of an FDM-TDM Transmux can perform this function. Figure 3 shows the group centered at DC, which places channels 1-6 below DC and channels 7-12 above. The channels are still separated by 4 kHz but their center frequencies are offset from DC by 2 kHz.

There are several solutions to this problem, the most obvious being to off-tune the tuner by 2 kHz. As this appendix will show, however, the FDM-TDM transmultiplexer equations can be easily modified to introduce the desired offsets.

Figure 3: Use of an Offset-Bin Channel Bank to Separate the Channels in an FDM Group
This chart consist of four different vertical levels. The bottom level consist of a horizontal line on which sit 12 right triangles spaced equdistant from each other. The triangles' right angle is formed by the bottom horizontal line and a line the rises perpendicular to this line on the right side of the triangles. Inside each of these triangle is a number 1 thru 12 corresponding to its position left to right. In the middle of this level, below the line is the number 0 with a dashed line rising vertically to the next level. The next level has an arrow that is right above triangle six and points to the right to the dashed line from the first level. There is a small empty space to the right of the dashed line and then a small solid vertical line with an arrow pointing to the left towards it. To the right of the arrow is the exapression 2kHz. The next level contains a similar figure. The expression 4 kHz sits directly above the right triangle containing 8. There is an arrow on either side of the expression pointing towards the expression, which is marked on either side by short vertical lines. The upper level marks the horizontal expanse of the image with the phrase FDM Group (48kHz) in between two arrows, the left arrow pointing to the left and the right arrow pointing to the right. Both arrows end at a short vertical line.

To produce the desired set of equations, we have to repeat some of the formulation developed in Section 3. Frequency steps of ΔfΔf are still employed. The fundamental difference is that each tuner frequency is not an integer multiple of ΔfΔf but rather is a half-integer multiple, for example, ω=2π(n+12)Δfω=2π(n+12)Δf, where n is an integer. The effects of this substitution can be seen by joining the analysis in the section Derivation of the equations for a Basic FDM-TDM Transmux at (Reference) from Derivation of the equations for a Basic FDM-TDM Transmux. Substituting this new expression for the tuning frequency yields

y n ( r ) = e - j 2 π ( n + 1 2 ) r M N · l = 0 L - 1 h ( l ) x ( r M - l ) e j 2 π ( n + 1 2 ) l N y n ( r ) = e - j 2 π ( n + 1 2 ) r M N · l = 0 L - 1 h ( l ) x ( r M - l ) e j 2 π ( n + 1 2 ) l N
(9)

As before, we subscript the decimate output y(r)y(r) by the parameter n but in this case it indicates that the tuning frequency is given by f0=(n+12)·Δff0=(n+12)·Δf.

As before, we define the integer indices q and p by the expressions

l q N + p , where 0 q Q - 1 and 0 p N - 1 l q N + p , where 0 q Q - 1 and 0 p N - 1
(10)

yielding

y n ( r ) = e - j 2 π ( n + 1 2 ) r M N · l = 0 L - 1 h ( l ) x ( r M - l ) e j 2 π ( n + 1 2 ) l N = e - j 2 π n r M N e - j π r M N · p = 0 N - 1 q = 0 Q - 1 h ( q N + p ) x ( r M - q N - p ) e j 2 π ( n + 1 2 ) ( q N + p ) N = e - j 2 π n r M N e - j π r M N · p = 0 N - 1 q = 0 Q - 1 h ( q N + p ) x ( r M - q N - p ) e j 2 π ( n + 1 2 ) q N N e j 2 π ( n + 1 2 ) p N = e - j 2 π n r M N e - j π r M N · p = 0 N - 1 q = 0 Q - 1 h ( q N + p ) x ( r M - q N - p ) ( - 1 ) q · e j 2 π ( n + 1 2 ) p N = e - j 2 π n r M N e - j π r M N · p = 0 N - 1 e j 2 π ( n + 1 2 ) p N q = 0 Q - 1 h ( q N + p ) x ( r M - q N - p ) ( - 1 ) q y n ( r ) = e - j 2 π ( n + 1 2 ) r M N · l = 0 L - 1 h ( l ) x ( r M - l ) e j 2 π ( n + 1 2 ) l N = e - j 2 π n r M N e - j π r M N · p = 0 N - 1 q = 0 Q - 1 h ( q N + p ) x ( r M - q N - p ) e j 2 π ( n + 1 2 ) ( q N + p ) N = e - j 2 π n r M N e - j π r M N · p = 0 N - 1 q = 0 Q - 1 h ( q N + p ) x ( r M - q N - p ) e j 2 π ( n + 1 2 ) q N N e j 2 π ( n + 1 2 ) p N = e - j 2 π n r M N e - j π r M N · p = 0 N - 1 q = 0 Q - 1 h ( q N + p ) x ( r M - q N - p ) ( - 1 ) q · e j 2 π ( n + 1 2 ) p N = e - j 2 π n r M N e - j π r M N · p = 0 N - 1 e j 2 π ( n + 1 2 ) p N q = 0 Q - 1 h ( q N + p ) x ( r M - q N - p ) ( - 1 ) q
(11)

Suppose we now define the variable v¯(r,p)v¯(r,p) by the expression

v ¯ ( r , p ) q = 0 Q - 1 h ¯ ( q N + p ) · x ( r M - q N - p ) v ¯ ( r , p ) q = 0 Q - 1 h ¯ ( q N + p ) · x ( r M - q N - p )
(12)

and the pulse response h¯(qN+p)h¯(qN+p) by the expression

h ¯ ( q N + p ) = ( - 1 ) q · h ( q N + p ) h ¯ ( q N + p ) = ( - 1 ) q · h ( q N + p )
(13)

Substituting v¯(r,p)v¯(r,p) into the equation for the decimated output yn(r)yn(r) of the tuner tuned to frequency f0=(n+12)·Δff0=(n+12)·Δf yields

y n ( r ) = e - j 2 π n r K e - j π r K · p = 0 N - 1 e j 2 π ( n + 1 2 ) p N v ¯ ( r , p ) y n ( r ) = e - j 2 π n r K e - j π r K · p = 0 N - 1 e j 2 π ( n + 1 2 ) p N v ¯ ( r , p )
(14)

In the section Derivation of the equations for a Basic FDM-TDM Transmux, we defined the basic FDM-TDM transmultiplexer as the special case of general transmultiplexer in which we set the decimation factor M to equal the number of channels N. This implies directly that K=1K=1. This assumption leads to the corresponding basic transmux equations for the offset-bin case:

y n ( r ) = ( - 1 ) r p = 0 N - 1 e j 2 π ( n + 1 2 ) p N v ¯ ( r , p ) = I D F T o { v ¯ ( r , p ) } where y n ( r ) = ( - 1 ) r p = 0 N - 1 e j 2 π ( n + 1 2 ) p N v ¯ ( r , p ) = I D F T o { v ¯ ( r , p ) } where
(15)
v ¯ ( r , p ) q = 0 Q - 1 h ( q N + p ) ( - 1 ) q x ( ( r - q ) N - p ) v ¯ ( r , p ) q = 0 Q - 1 h ( q N + p ) ( - 1 ) q x ( ( r - q ) N - p )
(16)

and IDFTo{.}IDFTo{.} indicates the offset-bin inverse DFT.

While not immediately obvious, it can be shown that the offset-bin DFT can be computed with an FFT-like algorithm. A listing of one is shown in the following code. It results from a simple modification (that is, the initialization of U) in the FFT routine appearing on page 367 of [1].

Figure 4
FORTRAN Subroutine for an N-Point Offset-Bin FFT (Modified from DIT FFT)
SUBROUTINE OFFSET-FFT  (X, N, M)
C    OFFSET_FFT - computes the half-bin offset version of an N-point
C    decimation-in-frequency (DIF) FFT. The array X is complex-valued
C    and must have length N = 2**M.
C    The subroutine is entered with data in X and
C    exits with the DFT stored there.
C
     COMPLEX X(1), U, W, T
     NV2 =  N/2
     NM1 = N-1
     J = 1
C
     DO 7 I=1,NM1
     T = X(J)
     X(J) = X(I)
     X(I) = T
5    K = NV2
6    IF (K .GE. J) GO TO 7
     J = J - K
     K = K/2
     GO TO 6
7    J = J + K
C
     PI = 3.14159265358979
C
     DO 20 L=1,M
     LE = 2**L
     LE1 = LE/2
     U = CMPLX(COS(PI/FLOAT(LE)),SIN(PI/FLOAT(LE)))
     W = CMPLX(COS(PI/FLOAT(LE1)),SIN(PI/FLOAT(LE1)))
C
     DO 20 J=1, LE1
          DO 10 I=J,N,LE
               IP=I+LE
               T = X(IP)*U
               X(IP) = X(I) - T
10             X(I) = X(I) + T
20    U = U*W
C
          RETURN
     END

When an offset-bin transmux is performed, it is common not to premultiply by (-1)r(-1)r as shown in Equation 15. This has the effect of frequency-converting the output signal by fout2=fs2Mfout2=fs2M. When M=NM=N (hence K=1K=1), the spectral effect of this is as shown in Figure 1(a) and (b). Instead of producing a complex signal centered at DC, not premultiplying by (-1)r(-1)r centers the signal at fout2fout2 In addition to obviating the need for a multiplication, this has the effect of moving the signal away from DC. This tends to improve signal quality since many finite-word length effects arising from hardware implementations (for example, truncation) produce spurious signals at DC.

Operation with Real-Valued Inputs

There are practical applications of FDM-TDM transmultiplexers in which the designer wants to extract all channels from a real-valued input. Such a signal can be applied directly to an FFT-based transmux of the variety described in the section Derivation of the equations for a Basic FDM-TDM Transmux but, since such a transmux is designed for use with complex-valued data, it might appear that unneeded computation is being performed. That is in fact the case. This section shows how the real-valued nature of the input can be exploited to reduce the required computation by slightly less than a factor of two.

Assume for this discussion that the input signal x(k)x(k) is real-valued and sampled at a rate of fs=2NΔffs=2NΔf, where ΔfΔf, as before, is the frequency spacing between channels, and N is the maximum number of unique channels. The Nyquist theorem requires that fs be twice NΔfNΔf since the input is real-valued. Half of the 2N2N channels present in the real-valued input are sideband reversed images of the other N channels. Thus we work to find an expression for those N unique channels. Using the basic equation for the FDM-TDM transmux (see equation 14 from Derivation of the equations for a Basic FDM-TDM Transmux), the n-th output is given by

y n ( r ) = p = 0 2 N - 1 e j 2 π n p 2 N v ( r , p ) y n ( r ) = p = 0 2 N - 1 e j 2 π n p 2 N v ( r , p )
(17)

where v(r,p)v(r,p) is given by

v ( r , p ) = q = 0 Q - 1 h ( 2 q N + p ) x ( 2 N ( r - q ) - p ) , 0 p 2 N - 1 . v ( r , p ) = q = 0 Q - 1 h ( 2 q N + p ) x ( 2 N ( r - q ) - p ) , 0 p 2 N - 1 .
(18)

Since both the input x(k)x(k) and the pulse response h(k)h(k) are real-valued, so is v(r,p)v(r,p). Thus the DFT in Equation 17 is taken over real-valued data. We now pursue a two-step approach to exploiting the reality of the data.

The first step is to decompose the 2N2N-point DFT into the sum of two N-point DFTs. This is exactly the same operation as is used to start the development of the decimation-in-time (DIT) FFT. Doing this produces the expression

y n ( r ) = l = 0 2 N - 1 v ( r , l ) W 2 N n l = i = 0 N - 1 v ( r , 2 i ) W 2 N 2 i n + i = 0 N - 1 v ( r , 2 i + 1 ) W 2 N ( 2 i + 1 ) n = i = 0 N - 1 v ( r , 2 i ) W N i n + W 2 N n i = 0 N - 1 v ( r , 2 i + 1 ) W N i n y n ( r ) = l = 0 2 N - 1 v ( r , l ) W 2 N n l = i = 0 N - 1 v ( r , 2 i ) W 2 N 2 i n + i = 0 N - 1 v ( r , 2 i + 1 ) W 2 N ( 2 i + 1 ) n = i = 0 N - 1 v ( r , 2 i ) W N i n + W 2 N n i = 0 N - 1 v ( r , 2 i + 1 ) W N i n
(19)

where WL is defined by the expression WL=ej2πLWL=ej2πL. The n-th output is now described by the sum of two N-point DFT taken over real-valued data.

The second step is to use well-known relationships [1] concerning the spectral symmetries of purely real and purely imaginary data. The former has Hermitian symmetry2 while the latter is anti-Hermitian. We exploit this by constructing a new N-point complex sequence z(i),0iN-1z(i),0iN-1 for each sample instant r according to the rule

z ( i ) = v ( r , 2 i ) + j v ( r , 2 i + 1 ) , 0 i N - 1 . z ( i ) = v ( r , 2 i ) + j v ( r , 2 i + 1 ) , 0 i N - 1 .
(20)

This corresponds to packing the 2N2N points of v(r,p)v(r,p) into the real and imaginary parts of an N-point complex-value sequence. Suppose now that we evaluate the DFT of the sequence z(i)z(i), yielding Zn. We can break Zn into the portions, say Zn=Rn+jInZn=Rn+jIn, where Rn is the real part of the transform and In is the imaginary part. The transforms of v(r,2i),0iN-1v(r,2i),0iN-1, and v(r,2i+1),0iN-1v(r,2i+1),0iN-1, are determined by using these Hermitian symmetry properties. In particular, it can be shown that

I D F T N { v ( r , 2 i ) } = R n + R N - n 2 + j I n - I N - n 2 I D F T N { v ( r , 2 i ) } = R n + R N - n 2 + j I n - I N - n 2
(21)

and

I D F T N { v ( r , 2 i + 1 ) } = I n + I N - n 2 - j R n - R N - n 2 I D F T N { v ( r , 2 i + 1 ) } = I n + I N - n 2 - j R n - R N - n 2
(22)

Note that only one N-point DFT plus one additional stage of sums and differences was required to produce both transforms. We can then evaluate Equation 19 to obtain

R e [ y n ( r ) ] = R n + R N - n 2 + I n + I N - n 2 cos 2 π n 2 N - R n - R N - n 2 sin 2 π n 2 N R e [ y n ( r ) ] = R n + R N - n 2 + I n + I N - n 2 cos 2 π n 2 N - R n - R N - n 2 sin 2 π n 2 N
(23)

and

I m [ y n ( r ) ] = I n - I N - n 2 - I n + I N - n 2 sin 2 π n 2 N - R n - R N - n 2 cos 2 π n 2 N I m [ y n ( r ) ] = I n - I N - n 2 - I n + I N - n 2 sin 2 π n 2 N - R n - R N - n 2 cos 2 π n 2 N
(24)

Observe that this computation is essentially the same as one stage of a radix-2, 2N2N-point IFFT. Each desired output yn(r)yn(r) is a bin value of this FFT.

These steps can be summarized follows:

A computational audit of this procedure shows that it requires essentially two more radix-2 stages following the DFT. The first involves only sums and differences while the second, involving the twiddle factors used in a 2N2N-point FFT, requires actual multiplication. A comparison between the multiply-add computation needed for an N-channel FDM-TDM transmultiplexer that accepts complex-valued data at fs Hz and one that uses the techniques described here and accepts real-valued data at a rate of 2 fs Hz shows that the only difference is these last two stages. If the transform size is large and/or Q is large, then the computation associated with these two stages may prove negligible, and will almost always be less than that required for a fullband digital tuner. Thus this approach is usually the best if virtually all of the channels in a real-valued signal need to be demultiplexed.

Two other notes in passing:

  • The pulse response h(k)h(k) used for weighting the input data must have a duration of 2NQ points for the real-valued case, versus NQNQ for the complex-valued case.
  • The analysis used for real-valued inputs can be combined with that used for obtaining an offset-bin transmultiplexer of the type discussed in Appendix B.2 to obtain an offset-bin design that accepts real-valued data.

Footnotes

  1. We use the generic notation h(k)h(k) and L as the pulse response and its duration just as we did in Section 3, although they are distinct. They are not completely independent, however, since the design of this filter is usually impacted by the design of the transmultiplexer weighting function.
  2. A sequence has Hermitian symmetry if the real parts are symmetrical about the midpoint of the sequence while the imaginary parts are antisymmetrical.

References

  1. Rabiner, L.R. and Gold, B. (1975). Theory and Application of Digital Signal Processing. Prentice-Hall.

Content actions

Download module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks