Preview

Simulation of the Noise Performance of a Fm Communication System

Satisfactory Essays
Open Document
Open Document
836 Words
Grammar
Grammar
Plagiarism
Plagiarism
Writing
Writing
Score
Score
Simulation of the Noise Performance of a Fm Communication System
Department of Electrical and Computer Engineering
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);

You May Also Find These Documents Helpful