Farzad Etemadi, Hung-Kang Liu, Nader Bagherzadeh, Fadi J. Kurdahi December 12, 1996
Farzad Etemadi, Hung-Kang Liu, Nader Bagherzadeh, Fadi J. Kurdahi December 12, 1996
Transceiver
Farzad Etemadi, Hung-Kang Liu,
Nader Bagherzadeh, Fadi J. Kurdahi
December 12, 1996
1 Introduction
The purpose of modulation in digital transmission systems is to change the
frequency characteristics of the transmitted signal to a form which could be
accepted by the channel. Transmission of a lowpass signal through a bandpass channel results in an undesired signal distortion and loss of energy. A
modulator is thus necessary to match the signal and the channel characteristics. The Carrierless AM/PM(CAP) modulation technique [1, 2] uses a
pair of In-Phase(I) and Quadrature(Q) lters to modulate a stream of data
symbols into a bandpass signal which could satisfy the channel requirements.
At the receiving end, the demodulator shaping lter retrieves the original
lowpass signal which could be used to get the data symbols back.
In addition to the frequency domain constraints, the shaping lters must
also satisfy a time domain constraint called the Nyquist Criterion in order
to avoid the Inter Symbol Interference(ISI). Finally, to maximize the Signal
to Noise Ratio(SNR) at the receiver, the transmitter/receiver lters should
form a matched pair. Thus, any data transmission lter should satisfy the
frequency domain specications, ISI constraint, and matched lter requirement at the same time.
Design of the shaping lters of a 155Mbps transceiver is the subject of
this report. The lter design problem is discussed rst, then the design
algorithm for Nyquist and matched lters is presented. Finally, some implementation issues will be discussed and the directions for future work will
be given.
1
(1)
where p(t) is the in-phase lter, p~(t) is the quadrature lter, and fc is
the carrier frequency. g (t) is a lowpass pulse, and as equation(1) shows, the
bandpass in-phase and quadrature lters are obtained by modulating g (t)
with the carrier frequency fc . The lowpass pulse pulse g (t) will be designed
rst, and then the I(Q) lter will be obtained by pointwise multiplication of
g (t) by the cosine(sine) function.
In order to avoid ISI, the cascaded impulse response of the transmitter,
the channel, and the receiver should be a Nyquist Pulse. A Nyquist pulse
has the property that its value is zero at the nonzero integer multiples of
the symbol period. If we denote this impulse response by h(n), then:
(
n = n0
(2)
h(n) = C
0 n = n kM;
k = 1; 2; :::
0
k=0
(3)
(4)
where hT and hR are the impulse responses of the transmitter and receiver, respectively. The maximum SNR can be achieved if hT and hR form
a matched pair, that is:
HR (! ) = HT (! )
N 1
n)
hR (n) = hT (
(5)
(6)
with the linear programming approach is that the lter constraints are normally applied to a dense grid of frequencies in the stopband region, and this
will result in a numerically ill-conditioned problem. The algorithm proposed
by Samueli [4] eliminates redundant constraints from the program and thus
avoids possible numerical problems. This algorithm was used in our work
and the results will be discussed next.
An ideal Nyquist lter with an upsampling factor of M can be described
as:
(
1
0 ! < =M
j!
HIdeal (e ) = 0
(7)
=M < !
With a roll-o factor , the stopband edge will be equal to :
!s = (1 + )=M
(8)
In a general equiripple FIR lter design the passband edge !p , the stopband edge !s , the passband ripple p , and the stopband ripple s are independently specied. However, in our application, the critical parameters
are !s , which determines the bandwidth required for transmission, and s ,
which determines the out-of-band signal attenuation. !p and p only determine the envelope of the transmitted spectrum which is generally not of
much importance. Moreover, the ISI constraint (3) implies that p and s
are not independent and are related through:
p (M
1)s
(9)
For the case of linear phase Nyquist lters, the central coecient is
always 1=M , therefore:
H(
ej!
) = 1=M +
N 1
2
X
n62Z
2h(n)cos!n
(11)
1
2
X
n62Z
1
2
X
n62Z
2h(n)cos!k n 1=M
(12)
2h(n)cos!k n + 1=M
(13)
(14)
iteration #1
Magnitude (dB)
50
100
0
3
iteration #2
5
x 10
Magnitude (dB)
50
100
0
3
iteration #7
6
7
x 10
0
Magnitude (dB)
6
7
50
100
0
3
Frequency (Hz)
6
7
x 10
0.25
0.2
0.15
0.1
0.05
0.05
0.1
0
20
40
60
80
100
120
Transmitter/Receiver Cascaded: x
0.3
0.25
0.2
0.15
0.1
0.05
0.05
0.1
0
20
40
60
80
100
120
10
Magnitude (dB)
20
30
40
50
60
70
80
0
3
Frequency (Hz)
6
7
x 10
5 Implementation Issues
The low-pass lters designed in previous section will be converted to the
bandpass lters by pointwise multiplication of the coecients by the cosine
and sine functions. In the case of the 52Mbps transceiver described in [1, 9],
this multiplication is equivalent to multiplying by f-1,0,1,0g which results
9
Magnitude (dB)
20
30
40
50
60
70
80
0
3
Frequency (Hz)
6
7
x 10
Transmitter:
Receiver:
0.25
0.2
0.15
0.1
0.05
0.05
0.1
0
10
20
30
40
50
10
60
6 Conclusion
Design of the transmitter and receiver lters of a 155Mbps transceiver was
discussed in this report. It was shown that the optimal equiripple lters are
much more ecient than the raised-cosine lters. The nal lters have an
asymmetric impulse responses which are not as ecient as the symmetric
lters, and our future work will concentrate on the design of the symmetric
lters.
References
[1] Hung-Kang Liu, Design and Implementation of a 52 Mbps ATM
Transceiver. UCI, Fall 1996.
[2] J. J. Werner. Tutorial on Carrierless AM/PM-Part I. AT&T Bell Laboratories, 1992.
[3] Edward A. Lee, David G. Messerschmitt. Digital Communication.
Boston, Kluwer Academic Publishers, 1994.
11
[4] Henry Samueli, \On the Design of Optimal Equiripple FIR Digital Filters for Data Transmission Applications", IEEE Transactions on Circuits and Systems, Vol. 35, No. 12, December 1988.
[5] Lawrence R. Rabiner, Bernard Gold. Theory and Application of Digital
Signal Processing. Englewood Clis, Prentice-Hall, 1975.
[6] Alan V. Oppenheim, Ronald W. Schafer. Discrete-time Signal Processing. Englewood Clis, Prentice Hall, 1989.
[7] ALTA GROUP of Cadence Design Systems, Inc. Signal Processing
Worksystem Filter Design System. March 1995.
[8] C.E. Schmidt, L. R. Rabiner, \A Study of Techniques for Finding
the Zeros of Linear Phase FIR Digital Filters", IEEE Transactions on
Acoustic, Speech, and Signal Processing, February 1977.
[9] Jerey Scott Putnam. Analysis and Design of High-Speed Local Area
Network Transceivers. UCLA, 1995.
12
%
%
%
%
%
Excess bandwidth
Up-sampling factor
Stopband discrete frequency
Sampling frequency
Modulation frequency
k=13;
% Integer used for filter order calculation
n=2*m*k-1;
% Filter order (must be of 2mk-1 form)
ns=k*(m-1);
% Number of stopband extrema
maxiter=100;
Threshold=1e-7;
npoints=200;
f=zeros(ns+1,1);
f(ns+1,1)=1;
b=ones(ns+1,1)/m;
for j=1:2:ns+1-rem(ns,2),
b(j,1)=-b(j,1);
end;
w=zeros(ns+1,1);
d=(pi-ws)/ns;
w(1)=ws;
for j=2:ns+1,
w(j)=w(j-1)+d;
end;
% Objective function
h=zeros(n,1);
% main loop
13
% --------iter=0;
OldDelta=1; delta=2;
while (iter<maxiter) & (abs(delta-OldDelta)>Threshold),
ineqm=formineqm(ns,m,w);
% initialize A
x=lp(f,ineqm,b);
% solve linear programming
OldDelta=delta;
delta=x(ns+1);
h((n+1)/2)=1/m;
% form impulse response
for j=1:ns,
h(j+fix((j-1)/(m-1))+(n+1)/2)=x(j);
end;
h(1:(n-1)/2)=h(n:-1:(n+3)/2);
[d wd]=der(ws,h,6*n);
zc=[];
lzc=0;
for j=1:length(d)-1,
if d(j)*d(j+1)<=0
lzc=lzc+1;
zc(lzc)=(wd(j)+wd(j+1))/2;
end;
end;
zc=sort(zc);
w(2:ns)=zc(1:lzc);
clc;
iter=iter+1
delta
end;
freqplot(h,m,npoints,0,pi,fsamp);
-----------------------------------------------------------------------------function A=formineqm(nstop,up,we)
%
%
%
%
A=formineqm(nstop,up,we)
Forms the A matrix for the AX<b equation. nstop is the number of the
stopband frequencies, up is the upsampling factor and we is the extremum
frequency vector.
A=zeros(nstop+1);
% Inequality matrix
14
for j=1:2:nstop+1-rem(nstop,2),
A(j,nstop+1)=-1;
end;
for r=1:nstop+1,
for p=1:nstop,
A(r,p)=2*cos(we(r)*(p+fix((p-1)/(up-1))));
end;
end;
for j=2:2:nstop+rem(nstop,2),
A(j,:)=-A(j,:);
end;
------------------------------------------------------------------------------function [dv, wd]=der(ws,h,np)
% Calculates the derivative of the frequency resopnse in the stopband region.
% ws is the stopband edge frequency, h is the impulse response, and np is
% the number of points used to calulate the derivative.
wd=zeros(np,1);
d=(pi-ws)/(np+1);
for j=1:np,
wd(j)=ws+d*j;
end;
N=length(h);
dv=zeros(np,1);
for j=1:np,
for p=1:(N-1)/2,
dv(j)=dv(j)+p*h(p+(N+1)/2)*sin(wd(j)*p);
end;
end;
------------------------------------------------------------------------------% Spectral Factorization Routine
% -----------------------------load filtdata;
hr=roots(h);
nr=length(hr);
h3=hr(3:2:101);
15
[ah3 ind]=sort(angle(h3));
h3=h3(ind);
h4=h3;
h1=zeros(25,0);
h2=zeros(25,0);
h1(1:19)=h3(13:2:49);
h2(1:19)=h3(14:2:50);
h3=h3(1:12);
h1(20)=h3(2) ; h1(21)=h3(4);
h1(22)=h3(5) ; h1(23)=h3(8);
h1(24)=h3(10) ; h1(25)=h3(12);
h2(20)=h3(1) ; h2(21)=h3(3);
h2(22)=h3(6) ; h2(23)=h3(7);
h2(24)=h3(9) ; h2(25)=h3(11);
hh=[1 1];
for j=1:length(h1),
sot=[1 -2*real(h1(j)) abs(h1(j))^2];
hh=conv(hh,sot);
end;
tran=hh/sum(hh);
tran=tran';
hh=[1 1];
for j=1:length(h2),
sot=[1 -2*real(h2(j)) abs(h2(j))^2];
hh=conv(hh,sot);
end;
rec=hh/sum(hh);
rec=rec';
hc=conv(tran,rec);
16
figure(1);
ind=1:103;
plot(ind,h,'-',ind,hc,'x');
title('Original Nyquist Filter: -
f=(103.68e6)*0.5*(0:511)/512;
figure(2);
tm=20*log10(freqz(tran,1,512));
plot(f,tm);
title('Transmitter Frequency Response');
xlabel('Frequency (Hz)');
ylabel('Magnitude (dB)');
figure(3);
tm=20*log10(freqz(rec,1,512));
plot(f,tm);
xlabel('Frequency (Hz)');
title('Receiver Frequency Response');
xlabel('Frequency (Hz)');
ylabel('Magnitude (dB)');
% Passband Coversion
% -----------------wm=2*pi*fmod/fsamp;
trani=zeros(length(tran),1);
tranq=zeros(length(tran),1);
for j=1:length(tran),
trani(j)=tran(j)*cos(wm*(j-1));
tranq(j)=tran(j)*sin(wm*(j-1));
end;
figure(4);
ti=20*log10(freqz(trani,1,512));
tq=20*log10(freqz(tranq,1,512));
plot(f,ti,'-', f,tq,'--');
xlabel('Frequency (Hz)');
title('Transmitter:
I Channel(-)
xlabel('Frequency (Hz)');
17
Q Channel(--)');
ylabel('Magnitude (dB)');
figure(5);
n=1:length(tran);
plot(n,trani,'-',n,tranq,'--');
title('Transmitter:
I Channel(-)
Q Channel(--)');
wm=2*pi*fmod/fsamp;
reci=zeros(length(rec),1);
recq=zeros(length(rec),1);
for j=1:length(rec),
reci(j)=rec(j)*cos(wm*(j-1));
recq(j)=rec(j)*sin(wm*(j-1));
end;
figure(6);
ti=20*log10(freqz(reci,1,512));
tq=20*log10(freqz(recq,1,512));
plot(f,ti,'-', f,tq,'--');
xlabel('Frequency (Hz)');
title('Receiver:
I Channel(-)
xlabel('Frequency (Hz)');
ylabel('Magnitude (dB)');
Q Channel(--)');
figure(7);
n=1:length(rec);
plot(n,reci,'-',n,recq,'--');
title('Receiver:
I Channel(-)
Q Channel(--)');
------------------------------------------------------------------------------function freqplot(h,m,np,w1,w2,fs)
w=zeros(np,1);
d=(w2-w1)/(np-1);
w(1)=w1;
for j=2:np,
w(j)=d+w(j-1);
end;
N=length(h);
18
freq=ones(np,1)/m;
for j=1:np,
for n=1:(N-1)/2,
freq(j)=freq(j)+2*h(n+(N+1)/2)*cos(w(j)*n);
end;
end;
for j=1:np,
if abs(freq(j))<1e-5,
freq(j)=1e-5;
end;
end;
fr=20*log10(freq);
plot(w*fs/(2*pi),fr);
xlabel('Frequency (Hz)');
ylabel('Magnitude (dB)');
19