TLT5400_M3

download TLT5400_M3

of 3

Transcript of TLT5400_M3

  • 8/8/2019 TLT5400_M3

    1/3

  • 8/8/2019 TLT5400_M3

    2/3

    pp. 2 (3)

    Carrier (I/Q) Modulation

    The role of carrier modulation is frequency translation. Modulating a complex baseband signal with a complex

    exponential yields a complex-valued analytic bandpass signal. Since physical media accept only real-valued signals,

    only the real part of the signal is transmitted (which indeed contains all the information of the original complex

    baseband signal).

    w_c = 0.4; % carrier frequency, normalized here to half the sampling rater = 2*real(sig.*exp(j*w_c*pi*(0:length(sig)-1))); % bandpass signal

    figure(2);plot(r(1:800));grid; % plot a piece of the bandpass signal

    It is very illustrative to examine the spectra of these signals. The idea is to use one figure and subplot command in order

    to see and understand the process of downconversion and filtering. The modulated signal spectrum is obtained by the

    following set of commands, the same set can be used later to show the signal spectra at different stages.

    W = linspace(-pi,pi,1024); % discrete-time frequency axis, pi denotes half the sampling rate

    R = freqz(r(1000:2023),1,W); % spectrum of the bandpass signal

    R = R./max(abs(R)); % normalize the spectrum for plotting

    figure(3); subplot(211); % as an alternative, you can also use fft and fftshift for calculating the

    plot(W/pi,abs(R));grid; % spectrum (see Matlab exercise 1 for reference)

    Bandpass Receivers

    We will simulate three different bandpass receivers. Each of them has some kind of filtering and I/Q downconversion.

    (a) I/Q downconversion and lowpass filtering

    DECODERLOWPASS

    FILTER

    COMPLEXSAMPLESCOMPLEXBASEBAND

    SIGNAL

    REAL

    PASSBANDSIGNAL

    BITSr

    tjwce

    SAMPLER DETECTOR

    COMPLEXSYMBOLS

    Figure 2. The principle of bandpass receiver using I/Q downconversion and lowpass filtering.

    The principle of this receiver is given in Figure 2. After the signal is I/Q downconverted by multiplying bytj ce

    ,

    it is filtered with a lowpass filter (What is/are the role(s) of this lowpass filter in general?). LPF design using the

    remez routine in Matlab, (see help remez).

    y = r.*exp(-j*w_c*pi*(0:length(r)-1)); % I/Q downconversion

    Y = freqz(y(1000:2023),1,W); % spectrum of the signal at this stage

    Y = Y./max(abs(Y)); % normalize the spectrum for plotting

    figure(3);subplot(212);

    plot(W/pi,abs(Y));grid;

    f = remez(50,[0 0.2 0.3 1],[1 1 0 0]); % design of the receiver lowpass filter, order 50

    F = freqz(f,1,W); % frequency response of the filter

    hold on;

    plot(W/pi,abs(F),'r','LineWidth',2);

    hold off;

    y = filter(f,1,y); % signal is filtered

    y = y(26:end); % discard transient (delay is here 26, linear phase FIR of order 50)

    Finally, the spectrum of the demodulated baseband signal and the corresponding constellation are plotted (this part

    below is the same for all the three methods, thus it will not be repeated in these instructions every time).

  • 8/8/2019 TLT5400_M3

    3/3

    pp. 3 (3)

    Y = freqz(y(1000:2023),1,W); % spectrum of the signal at this stage

    Y = Y./max(abs(Y)); % normalize the spectrum for plotting

    figure(3);subplot(212);plot(W/pi,abs(Y));grid;

    axis([-1 1 0 1.1]);

    figure;

    plot(y(1+over:over:end),'*','MarkerSize',8); % downsampling

    axis([-4 4 -4 4]);grid;

    (b) Complex bandpass filtering and I/Q downconversionIn this case the signal is filtered prior to the downconversion. The needed analytic bandpass filter is obtained by

    modulating the lowpass prototype filter which is obtained from the previous case. Notice that the filter coefficients

    become complex in this case. After the signal is filtered, it is I/Q downconverted and detected.

    DECODER(*)

    FILTER

    COMPLEXSAMPLES

    COMPLEX

    BASEBANDSIGNAL

    REAL PASS-

    BAND SIGNAL

    BITSr

    tjwce

    SAMPLER DETECTOR

    (*) Complex bandpass or

    Hilbert based

    COMPLEXSYMBOLS

    Figure 3. The bandpass receiver equivalent to Figure 2 using complex bandpass filter or Hilbert transformer.

    f = remez(50,[0 0.2 0.3 1],[1 1 0 0]); % filter design, order 50, low pass prototype

    f2 = f.*exp(j*w_c*pi*(0:length(f)-1)); % complex bandpass filter (analytic), modulated coefficients

    pos = 26; % delay of the filter

    (c) Phase splitter (Hilbert filter) and I/Q downconversionA conceptually useful filter for the manipulation of bandpass signals is the ideal phase splitter. It has the effect of

    eliminating the negative frequency components of a bandpass signal. As in the previous case, also the phase splitter

    has a complex-valued impulse response. If its input is real, it can be implemented with two real-valued filters. The

    real part of the phase splitter impulse response is here a pure delay and the imaginary part is a Hilbert transformer.

    The Hilbert transformer can be designed using the remez routine directly, see help remez. The part of receiver after

    this filter is identical to the previous case (case (b)). Thus, the Matlab code is the same.

    h = remez(100,[0.02 0.98],[1 1],'Hilbert'); % design of a wideband Hilbert filter of order 100

    f2 = 0.5*([zeros(1,50) 1 zeros(1,50)]+ j*h); % phase splitter (complex filter) whose real part is a delay and

    pos = 51; % imaginary part is a Hilbert transformer

    The part of the receiver after this filter is the same as in the previous case. Thus, the Matlab code is the same for

    b) and c) and it is given below.

    F2 = freqz(f2,1,W); % frequency response of the complex filterfigure(3);subplot(212);cla; % back to Figure(3) for plotting

    subplot(211);hold on;

    plot(W/pi,abs(F2),'r','LineWidth',2); hold off;

    y = filter(f2,1,r); % signal is filtered

    y = y(pos:end); % discard transient

    Y = freqz(y(1000:2023),1,W); % spectrum of the signal at this stage

    Y = Y./max(abs(Y)); % normalize the spectrum for plotting

    subplot(212);

    plot(W/pi,abs(Y));grid;

    y = y.*exp(-j*w_c*pi*(0:length(y)-1)); % I/Q downconversion for the case b) and c)

    This is followed by the code in the dashed box (top of the page) which simply plots the baseband spectrum and the

    corresponding constellation.