<< Chapter < Page Chapter >> Page >
cng=input('channel noise gain: try 0,...            0.6 or 2 :: ');cdi=input('channel multipath: 0 for none,...            1 for mild or 2 for harsh ::  ');fo=input('transmitter mixer freq offset in...           percent: try 0 or 0.01 ::  ');po=input('transmitter mixer phase offset in...           rad: try 0, 0.7 or 0.9 ::  ');toper=input('baud timing offset as percent...           of symb period: try 0, 20 or 30 ::  ');so=input('symbol period offset: try 0 or 1 ::  ');  % INSERT TRANSMITTER CODE (FROM IDSYS.M) HERE  if cdi < 0.5 % channel ISI  mc=[1 0 0];                 % distortion-free channelelseif cdi<1.5,   mc=[1 zeros(1,M) 0.28 zeros(1,2.3*M) 0.11];  % mild multipath channel else  mc=[1 zeros(1,M) 0.28 zeros(1,1.8*M) 0.44];  % harsh multipath channelend mc=mc/(sqrt(mc*mc'));         % normalize channel powerdv=filter(mc,1,r);            % filter transmitted signal through channel nv=dv+cng*(randn(size(dv)));  % add Gaussian channel noiseto=floor(0.01*toper*M);       % fractional period delay in  sampler rnv=nv(1+to:end);             % delay in on-symbol designationrt=(1+to)/M:1/M:length(nv)/M;  % modified time with delayed message start rM=M+so;                      % receiver sampler timing offset  % INSERT RECEIVER CODE (FROM IDSYS.M) HERE
impsys.m impairments to the receiver (download file)

The first few lines of impsys.m prompt the user for parameters that define the impairments.The channel noise gain parameter cng is a gain factor associated with aGaussian noise that is added to the received signal. The suggested values of 0, 0 . 6 , and 2 represent no impairment, mild impairment(that only rarely causes symbol recovery errors), and a harsh impairment(that causes multiple symbol errors), respectively.

The second prompt selects the multipath interference: none, mild, or harsh.In the mild and harsh cases, three copies of the transmitted signal are summed at the receiver, each witha different delay and amplitude. This is implemented by passing the transmittedsignal through a filter whose impulse response is specified by the variable mc . As occurs in practice,the transmission delays are not necessarily integer multiples of the symbol interval.Each of the multipath models has its largest tap first.If the largest path gain were not first, this could be interpreted as a delaybetween the receipt of the first sample of the first pulse of the message and the optimalsampling instant.

The next pair of prompts concern the transmitter and receiver oscillators.The receiver assumes that the phase of the oscillator at the transmitteris zero at the time of arrival of the first sample of the message. In the ideal system, this assumption wascorrect. In impsys.m , however, the receiver makes this same assumption,but it may no longer be correct. Mismatch between the phase of the oscillator at the transmitterand the phase of the oscillator at the receiver is an inescapable impairment (unless there is also aseparate communication link or added signal such as an embedded pilot tone that synchronizes the oscillators).The user is prompted for a carrier phase offset in radians (the variable po ) that is added to the phase of the oscillator at the transmitter, but notat the receiver. Similarly, the frequencies of the oscillators at the transmitterand receiver may differ by a small amount. The user specifies the frequency offset in the variable fo as a percentage of the carrier frequency. This is used to scale the carrier frequency of the transmitter, but not of the receiver.This represents a difference between the nominal values used by the receiver and the actual values achieved by thetransmitter.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Software receiver design. OpenStax CNX. Aug 13, 2013 Download for free at http://cnx.org/content/col11510/1.3
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Software receiver design' conversation and receive update notifications?

Ask