<< 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,
, 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.
Notification Switch
Would you like to follow the 'Software receiver design' conversation and receive update notifications?