ELT-44006 Receiver Architectures and Signal Processing Fall 2014 1 Mandatory homework exercises - Individual solutions to be returned to Markku Renfors by email or in paper format. - Solutions are expected in three weeks after the lecture where the topic has been covered (exam periods not counted). For very good reasons, some extensions may be granted, but those should be negotiated in advance. 1. Multirate Digital Signal Processing In the following problems we consider a specific decimation case, which could be used as the first stage of a multistage decimator for WCDMA signals, e.g., in a sigma-delta ADC. The decimation factor is R=6, sampling rate of 92.16 MHz (i.e., 24 times the WCDMA chip rate), and the signal bandwidth at baseband is 2.5 MHz (i.e., ±2.5 MHz around the center frequency before down-conversion). Use Matlab, or any other suitable tool that might be familiar to you. In your answers, show frequency response plots for your design, zooming to the essential parts of the frequency axes, if needed. (a) Design a (single-stage) FIR decimator providing 60 db attenuation for the spectral components aliasing on the signal band. In your answer, express the filter specifications (e.g., as a short Matlab script) and the required filter orders. o Do all three design types and compare the required filter orders and multiplication rates. (b) Consider CIC filters of orders 1 4. Determine the attenuation for the lowest frequency band aliasing on the signal band in the different CIC cases. What is the minimum order satisfying the above attenuation requirement? For that CIC filter order, determine also the attenuations for the two other aliasing frequency bands. 2. Advanced receiver system calculations Consider the problem setting of Exercise 4(d) (in the exercise set connected to lecture on Multirate Techniques for Complex and Bandpass Signals). Assume that the RF noise figure is 3 db better than what is required by the specifications, i.e., the RF noise is at -114 dbm level Then what is the maximum tolerable blocking signal level in the blocking test situation? 3. Synchronization Here we use Matlab to do experiments on receiver synchronization methods. Generate a sequence of QPSK symbols with random data, RRC pulse shaping (roll-off of your choice), and 100 samples per symbol. You may use the script given below for this part. Then: - Introduce a fractional timing offset (within ± half of the symbol interval; already included in the script) and carrier phase offset (within ± 10 % of the symbol rate) in the signal, using values of your choice. - Add white Gaussian noise to the sequence, corresponding to the used SNRs. (Consider carefully the effect of oversampling on the SNR calculation!) - Implement RRC receiver matched filtering to the signal.
- Calculate the DA log-likelihood function for joint symbol timing and carrier phase estimation. Find the timing offset estimate based on the maximum magnitude of the log-likelihood function. Then estimate the phase offset. - Test the synchronization performance with different estimation block lengths with the SNRs of 0 db and 20 db. In each case, run the simulation several times with independent data and noise sequences. For the two SNR values, find the required estimation block length such that the timing estimation error is within ±2 samples in almost all cases. What to return: Matlab script, used parameter values, plots of the magnitude of the loglikelihood function, values of the correct and estimated synchronization parameters in different cases. 2 Mqam=4; % QPSK modulation nsymb=40; % Number of symbols per estimation block osf=100; % Oversampling factor roff=0.25; % Roll-off nrrc=osf*8; % RRC filter order toff=0; % Timing offset, -osf/2 < toff < osf/2 % Fractional timing offset= toff/osf % RRC filter: hrrc=firrcos(nrrc,1,roff,2*osf,'rolloff','sqrt'); % Input data % interpolation: in=randint(1,nsymb,mqam);in=qammod(in,mqam); upsamp=[zeros(1,toff+osf/2),osf,zeros(1,osf/2-toff-1)]; inos=kron(in,upsamp); t=conv(hrrc,inos); % This is the generated TX signal % Note: The generated signal contains the symbol block of osf*nsymb samples % and impulse response tails tails of nrrc/2 samples on both sides. % It is better to remove the tails after RRC filtering in RX. Additional optional part (2p): Repeat the exercise in the NDA case, using the common approximation for the loglikelihood function. For both DA and NDA estimators, evaluate the variance of timing offset estimate and compare it with the Cramer-Rao bound, which is readily available in the lecture notes. Here it is better to consider cases where the RMS error is in the order of a few sampling intervals; with smaller errors, it is difficult to estimate the variance reliably. 4. Polynomial-based interpolation (a) Find the coefficients of the Farrow-interpolation filter with cubic Lagrange response. Sketch a realization structure for this filter. Inputs for this filter structure are the samples from the signal x(n) and the fractional interval µ. How many multipliers and delay elements you need in this structure? (b) Determine the specifications (passband, stopbands, and don t care bands) for a polynomial-based filter for sampling rate reduction (decimation case) using Type C criteria from lecture notes. The received signal is a baseband signal in band (0, 0.3F in ). What advantages we get by using don t care bands? The decimation ratio is Fin / F out = 1.8.
5. Cognitive radio: 3 Mandatory part: (a) or (b) or (c) Optional part: 1p per additional item (a) Here we consider spectrum sensing for complex signal based on energy detection assuming target false alarm probability of P FA =0.1 and detection probability P D =0.98 with -8 db SNR. Using the Gaussian approximation (see page 37 of the lecture notes), calculate the needed sample complexity (a) without noise uncertainty and (b) with 0.1 db noise uncertainty. (b) In very basic simulation studies of spectrum sensing, it is often assumed that the primary signal is Gaussian, so that the signal is zero-mean white Gaussian noise under both H 0 and H 1 hypotheses, just the variances are different. Using this simple model, make a simulation model for energy detection using the parameters of part (a), without noise uncertainty. Run the simulation for 10000 instances. Plot the histograms under H 0 and H 1. Plot also the experimental detection probability and false alarm probability as functions of the threshold. Compare the results with the theoretical model. (c) Cyclic prefix correlation is an effective way for spectrum sensing of OFDM primaries. Develop a Matlab model for a basic CP-OFDM waveform. Calculate the autocorrelation function of a noisy CP-OFDM signal and observe the peak in the autocorrelation function corresponding to the periodicity in the waveform induced by the CP. To reach higher sensitivity, we can take the average of the squared magnitudes of a high number of OFDM symbols. Test the idea using some hundreds of OFDM symbols, checking the visibility of the correlation peak with low SNRs. (2p) Further info from IEEE Xplore: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4804743 6. Dirty RF Mandatory part: Solve one out of the four problems (a/b/c/d) Optional part for bonus: Up to 4 bonus points from each of the other problems (also partial solutions are considered for bonus points). Optional part for 1 additional cr (i.e., 6 cr in total from the course): Solve all 4 problems. Up to 1 bonus point per problem for particularly good and complete solutions (a) [Matlab] Generate a reasonably long sequence of OFDM signal assuming the IFFT size of the transmitter is 1024 and that only 601 central subcarriers (-300:300 out of -512:511) are active. Use e.g. 16QAM as the subcarrier modulation. Then apply the solid-state power amplifier (SSPA) model described in the lecture notes about RX and TX nonlinearities to the signal to model the nonlinear distortion due to PA. Use some reasonable values for the saturation level (A0) and the order (p) of the SSPA model. Now analyze numerically (with the generated input-output data) how well the Bussgang theorem (x(t) and y(t) are the PA input and output) yt () = axt () + dt () * Extd [ () ()] t = 0
applies to this case. How can you find the linear gain α of the above model? In general, experiment with different values for the SSPA saturation level and the order and comment on their effect on the applicability of the Bussgang theorem. Return your Matlab-code and all the essential plots and corresponding explanations (b) [Matlab] Generate a reasonably long sequence of OFDM signal assuming the IFFT size of the transmitter is 1024 and that only 200 subcarriers (101:300) are active. This way the generated waveform has energy only at positive frequencies which makes some interpretations easier (below). Use e.g. 16QAM as the subcarrier modulation. Now apply the frequency-independent receiver I/Q imbalance model described in the lecture notes (by Lauri Anttila) with some reasonable values for the amplitude and phase imbalances. Evaluate the spectrum of the signal before and after applying the imbalance model. Explain what you see. Then as an example of imbalance estimation and compensation, apply the block-based estimator utilizing the circularity principle (slide 42) with compensator filter length N=1 to estimate the compensation filter w (well, one-tap filter in this case). Carry out the compensation (principal structure on slide 40) with your estimated compensator coefficient and evaluate the spectrum of the compensated signal. Explain what you see. Finally, repeat the whole experiment with frequency-selective imbalance model (choose some fairly smooth filter to model the frequency-selectivity) and with a compensation filter length N > 1. 4 (c) [Matlab] Here we experiment the phase noise effect on multicarrier waveforms. Assume we have an IEEE 802.11a WLAN type system with IFFT size 64 and subcarrier spacing of 312.5 khz. Suppose 48 central bins are active and carrying 16QAM symbols. The sample rate at the IFFT output is now 64x312.5 khz = 20 MHz. Now assume we have a free-running oscillator whose 3 db bandwidth is denoted with β. A convenient way to model the phase noise in Matlab is then as follows - first generate a sequence of real-valued white Gaussian noise e(n) with variance 2 s = 4pbT where Ts is the sample interval (here inverse of 20 MHz) e S - then the actual phase noise sequence θ(n) is obtained as the cumulative sum of the above noise sequence, i.e. n q( n) = å ei () - finally (as described in the lecture notes) the effect on the used waveform is modeled by multiplying the ideal waveform samples with exp( jq ( n)) (complex exponential of the generated phase values) Now we first experiment the phase noise effect on the above WLAN multicarrier waveform (without any additional channel noise) with (i) β = 1000 Hz and (ii) β = 5000 Hz. Apply the phase noise effect to the ideal transmit waveform and experiment the constellations of the active data-subcarriers after removing the common phase error (CPE). What kind of distortion do you see? i= 1
Then assume the actual radio channel is an AWGN channel and the received noisy signal is subject to above phase noise (i.e. add first additive white complex Gaussian noise to the ideal transmit signal and then apply the phase noise model to the noisy signal in the receiver input). After AWGN channel and receiver phase noise, detect the active subcarrier symbols with AWGN SNR (at the active subcarrier band) varying from 5 db to 30 db (use e.g. 1 db step from 5 db to 30 db). Evaluate and plot the detection error rate (symbol error rate) as a function of channel SNR for phase noise bandwidth β = 0 Hz, β = 1000 Hz and β = 5000 Hz. Explain what you see. Use long enough signal to gather reasonable statistics for error rate evaluations. 5 (d) [Matlab] Here we explore the effects of clipping in ADC s with a simple example. Suppose we have single-carrier signal (say 16QAM) with raised-cosine pulse-shape (use 35% roll-off) and 1 MHz symbol rate sitting at +3 MHz complex IF in the receiver ADC input. We further assume that the nominal voltage range of the ADC s (I and Q) is -1 +1 and that the quantization is carried out with 12 bits (per I and Q branch). In the ideal case, to use the full resolution of the converter, the overall waveform at the ADC input is exactly scaled (automatic gain control, AGC) to the full voltage range mentioned above. Finally, assume the ADC sample rate is 32 MHz (again for both I and Q rails). As a first exercise, implement the above quantization for the ideally scaled input waveform and demodulate the signal (complex downconversion, filtering, decimation with correct phase and finally plot constellation). Plot also essential signal spectra before and after ADC. Next assume the converter is clipping the signal to some extent, i.e., the input voltage range exceeds the converter full scale voltage range. Then demodulate the clipped signal as above, and plot also the time domain signals as well as corresponding spectra before and after ADC. Try also with different relative clipping levels, and explain in words your observations. Finally, add a complex tone to the converter input at -1.0111 MHz, with power level 10 db above the modulated signal power, and repeat the above exercise with different relative clipping levels. Repeat also with +20 db and +30 db power levels. Explain in words your observations.