ELEC 456 Communications Jerry Johnson
Dr. Bernard Harris December 12th, 2010
MATLAB HAND-IN #9
Simulation of the Noise Performance of a FM Communication System
Problem 6.17
In this problem, we will do this problem using the discriminator developed in problems 4.26, and 4.28 to construct the Matlab simulation system.
Matlab code for Problem 6.17
%---------------------------------------------------------------
% Problem 6.17, Call it mat9a in the program.
%---------------------------------------------------------------
function Ac = mat9a
%---------------------------------------------------------------
%-----Parameter------------------------------------------------- fc = 100; % Carrier frequency (kHz)
Fs = 1024; % Sampling rate (kHz) fm = 0.5; % Modulating frequency (kHz)
Ts = 1/Fs; % Sample period (ms) t = (0:Ts:10); % Observation period (ms)
C_N = 20; % channel SNR (dB)
Ac = 1;
Bt = 20; % (kHz)
W = 5; % (kHz)
SNRc = C_N+10*log10(Bt/W);
%---------------------------------------------------------------
%-----------Message Sisgnal------------------------------------- m = cos(2*pi*fm*t); % modulating signal kf = 2.4; % modulator sensitivity index (Bt/2)(kHz)
%---------------------------------------------------------------
%-------------FM modulate---------------------------------------
FMsig = FMmod(fc,t,kf,m,Ts);
%---------------------------------------------------------------
%-----------Add narrowband noise--------------------------------
%-Create bandpass noise by low pass filtering complex noise-----
P = 0.5;
N = P/10.^(SNRc/10); sigma = sqrt(N); noise = randn(size(FMsig)) + j*randn(size(FMsig));
LPFnoise = LPF(Fs,noise,0.05); % 0.01 =>Bt 50 kHz eq. Noise BW
BPnoise = real(LPFnoise.*exp(j*2*pi*fc/Fs*(1:length(FMsig)))); scale = sigma / std(BPnoise);