clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
sequence=round(rand(1,20)); % Generating 20 bits
input_signal=[]; % input signal declaration
carrier_signal=[]; % carrier signal declaration
time=[0:2*pi/119:2*pi]; % Number of samples - Creating a vector of 120 total values including end point [0:0.052:6.28]
for k = 1 :20
if sequence(1,k)==0
sig=-ones(1,120); % -1 value for binary input 0
else
sig=ones(1,120); % +1 value for binary input 1
end
c=cos(time); % Carrier frequency is calculated.
carrier_signal = [carrier_signal c]; %signal that is generated which will transmitted with input signal
input_signal = [input_signal sig]; %Original signal to be transmitted
end
figure(1)
subplot(4,1,1);
plot(input_signal); % Plotting input signal
axis([-100 2400 -1.5 1.5]);
title('\bf\it Original 20 bit Sequence');
% BPSK Modulation of the signal
bpsk_mod_signal=input_signal.*carrier_signal; % Modulating the signal
subplot(4,1,2);
plot(bpsk_mod_signal); %Plotting BPSK Modulated signal
axis([-100 2400 -1.5 1.5]);
title('\bf\it BPSK Modulated Signal');
% Preparation of 6 new carrier frequencies
%6 frequencies are randomly selected by the PN sequence generator
time1=[0:2*pi/9:2*pi]; %[0:0.698:6.28]
time2=[0:2*pi/19:2*pi]; %[0:0.331:6.28]
time3=[0:2*pi/29:2*pi]; %[0:0.217:6.28]
time4=[0:2*pi/39:2*pi]; %[0:0.161:6.28]
time5=[0:2*pi/59:2*pi]; %[0:0.106:6.28]
time6=[0:2*pi/119:2*pi];%[0:0.052:6.28]
carrier1=cos(time1);
carrier1=[carrier1 carrier1 carrier1 carrier1 carrier1 carrier1 carrier1 carrier1 carrier1 carrier1 carrier1 carrier1];
carrier2=cos(time2);
carrier2=[carrier2 carrier2 carrier2 carrier2 carrier2 carrier2];
carrier3=cos(time3);
carrier3=[carrier3 carrier3 carrier3 carrier3];
carrier4=cos(time4);
carrier4=[carrier4 carrier4 carrier4];
carrier5=cos(time5);
carrier5=[carrier5 carrier5];
carrier6=cos(time6);
% Random frequency hopps to form a spread signal
spread_signal=[];
for n=1:20
c=randi([1 6],1,1); %6 frequencies are randomly are selected by the PN generator
switch(c)
case(1)
spread_signal=[spread_signal carrier1];
case(2)
spread_signal=[spread_signal carrier2];
case(3)
spread_signal=[spread_signal carrier3];
case(4)
spread_signal=[spread_signal carrier4];
case(5)
spread_signal=[spread_signal carrier5];
case(6)
spread_signal=[spread_signal carrier6];
end
end
subplot(4,1,3)
plot([1:2400],spread_signal);
axis([-100 2400 -1.5 1.5]);
title('\bf\it Spread Signal with 6 frequencies');
% Spreading BPSK Signal
freq_hopped_sig=bpsk_mod_signal.*spread_signal; %This is the signal which is being finallay transmitted
subplot(4,1,4)
plot([1:2400],freq_hopped_sig);
axis([-100 2400 -1.5 1.5]);
title('\bf\it Frequency Hopped Spread Spectrum Signal');
% Demodulation of BPSK Signal
bpsk_demodulated=freq_hopped_sig./spread_signal; %The received signal is FFH demodualted
figure(2)
subplot(2,1,1)
plot([1:2400],bpsk_demodulated);
axis([-100 2400 -1.5 1.5]);
title('\bf Demodulated BPSK Signal from Wide Spread');
original_BPSK_signal=bpsk_demodulated./carrier_signal; %FFH demodulated signal is data demodulated by means of BPSK Signal
subplot(2,1,2)
plot([1:2400],original_BPSK_signal);
axis([-100 2400 -1.5 1.5]);
title('\bf Transmitted Original Bit Sequence');
matlab-(含教程)基于Matlab的跳频扩频通信系统仿真
版权申诉
80 浏览量
2021-09-10
18:38:45
上传
评论
收藏 967KB 7Z 举报
mYlEaVeiSmVp
- 粉丝: 1935
- 资源: 19万+
最新资源
- stc15xx-STC8-sch-pcb-library-ver1.0 STC单片机的原理图和PCB库文件资料
- 基于Scala的微服务架构后台服务设计源码 - biBACK
- 基于Java的日志推送appender设计源码 - logback-push-appender
- MedievalV1PathTracingBack00000-1920x1080-7e4d63a5fecdc81444c4cacd46d528da.avif
- 基于Vue的医疗消毒检测管理系统设计源码
- 老公-2405282109.awb
- 老公-2405282044.awb
- 8bccc0032ca49b59886db7a4af668bf8.zip
- HCodeView快速生成验证码框架
- 基于多种编程语言的新闻推荐系统设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈