To generate the waveform of Frequency Shift Keying (FSK) signal using MATLAB.
Generation of FSK:Frequency-shift keying (FSK) is a frequency modulation scheme in which digital information is transmitted through discrete frequency changes of a carrier wave. The simplest FSK is binary FSK (BFSK). BFSK uses a pair of discrete frequencies to transmit binary (0s and 1s) information. With this scheme, the "1" is called the mark frequency and the "0" is called the space frequency.
In binary FSK system, symbol 1 & 0 are distinguished from each other by transmitting one of the two sinusoidal waves that differ in frequency by a fixed amount.
Si (t) = √2E/Tb cos 2πf1t
0≤ t ≤Tb
0 elsewhere
where i=1, 2 & Eb=Transmitted energy/bit
Transmitted freq= ƒi = (n c+i)/T b, and n = constant (integer), T b= bit interval
Symbol 1 is represented by S 1(t) and Symbol 0 is represented by S 0(t)
The input binary sequence is represented in its ON-OFF form, with symbol 1 represented by constant amplitude of √Eb with & symbol 0 represented by zero volts. By using inverter in the lower channel, we in effect make sure that when symbol 1is at the input, The two frequency f 1& f 2are chosen to be equal integer multiples of the bit rate 1/T b. By summing the upper & lower channel outputs, we get BFSK signal as shown in figure 8.1.
FSK modulation:
%FSK Modulation
clc;
clear all;
close all;
%Generate Carrier Signal
Tb=1;
fc1=2;fc2=5;
t=0:(Tb/100):Tb;
c1=sqrt(2/Tb)*sin(2*pi*fc1*t);
c2=sqrt(2/Tb)*sin(2*pi*fc2*t);
%generate message signal
N=8;
m=rand(1,N);
t1=0;t2=Tb
for i=1:N
t=[t1:(Tb/100):t2]
if m(i)>0.5
m(i)=1;
m_s=ones(1,length(t));
invm_s=zeros(1,length(t));
else
m(i)=0;
m_s=zeros(1,length(t));
invm_s=ones(1,length(t));
end
message(i,:)=m_s;
%Multiplier
fsk_sig1(i,:)=c1.*m_s;
fsk_sig2(i,:)=c2.*invm_s;
fsk=fsk_sig1+fsk_sig2;
%plotting the message signal and the modulated signal
subplot(3,2,2);
axis([0 N -2 2]);
plot(t,message(i,:),'r');
title('message signal');
xlabel('t--->');
ylabel('m(t)');
grid on;
hold on;
subplot(3,2,5);
plot(t,fsk(i,:));
title('FSK signal');
xlabel('t--->);
ylabel('s(t)');
grid on;
hold on;
t1=t1+(Tb+.01);
t2=t2+(Tb+.01);
end
hold off
%Plotting binary data bits and carrier signal
subplot(3,2,1);
stem(m);
title('binary data bits');
xlabel('n--->');
ylabel('b(n)');
grid on;
subplot(3,2,3);
plot(t,c1);
title('carrier signal-1');
xlabel('t--->');
yylabel('c1(t)');
grid on;
subplot(3,2,4);
plot(t,c2);
title('carrier signal-2');
xlabel('t--->');
yylabel('c2(t)');
grid on;
Observation:The desired BFSK waveforms i.e. binary data, message signal, carrier signal 1&2 and output waveforms are shown in figure 8.2.
Conclusion:The program for binary FSK modulation has been simulated in MATLAB and observed the desired waveforms.
Get all latest content delivered to your email a few times a month.