跳频通信系统 matlab,毕业设计:基于MATLAB快跳频的通信系统仿真
clc
clear all
%---------扩频通信过程---------------
%---------只仿真一个频点的情况---------------
%---------初始化---------------
Ts=0.00001; fs=1/Ts;
EndTime=2-Ts; %2s
%---------产生信息序列(双极性不归零码)---------------
Tm=0.25; fm=1/Tm; %码率
[u,time] = gensig('square',2*Tm,EndTime,Ts);
y = 2*(u-0.5);
figure(1);
plot(time,y);
title('信息序列');
xlabel('time (seconds)');
axis([0 2 -2 2]);
%---------FSK调制---------------
T0=0.1; f0=1/T0;
T1=0.2; f1=1/T1;
[u0,time]=gensig('sin',T0,EndTime,Ts);
[u1,time]=gensig('sin',T1,EndTime,Ts);
y0=u0.*sign(-y+1);
y1=u1.*sign(y+1);
SignalFSK=y0+y1; % FSK信号
%---------FSK调制的频谱---------------
nfft=fs+1;
Y = fft(SignalFSK,nfft);
PSignalFSK = Y.* conj(Y)/nfft;
f = fs*(0:nfft/2)/nfft;
figure(2);
plot(f,PSignalFSK(1:nfft/2+1));
title('FSK调制后的频谱');
xlabel('frequency (Hz)');
axis([0 100 -inf inf]);
%---------FSK调制后,低通滤波---------------
cof_low=fir1(64,25/fs);
SignalFSK_l=filter(cof_low,1,SignalFSK);
figure(3);
plot(time,SignalFSK_l);
title('FSK调制后经过低通滤波的波形');
xlabel('time (seconds)');
axis([0 2 -2 2]);
YSignalFSK_l = fft(SignalFSK_l,nfft);
PSignalFSK_l = YSignalFSK_l.* conj(YSignalFSK_l)/nfft;
f = fs*(0:nfft/2)/nfft;
figure(4);
plot(f,PSignalFSK_l(1:nfft/2+1));
title('FSK调制后经过低通滤波的频谱');
xlabel('frequency (Hz)');
axis([0 100 -inf inf]);
%---------混频--------------
fc=1000;Tc=1/fc; %频点: 1000
[Carrier,time] = gensig('sin',Tc,EndTime,Ts); %产生扩频载波
MixSignal=SignalFSK_l.*Carrier;
figure(6);
plot(time,MixSignal);
title('混频后的波形');
xlabel('time (seconds)');
axis([0 2 -2 2]);
%---------带通滤波--------
cof_band=fir1(64,[fc-12.5,fc+12.5]/fs);
yMixSignal=filter(cof_band,1,MixSignal);
figure(7);
plot(time,yMixSignal);
title('经过带通滤波的混频信号');
xlabel('time (seconds)');
axis([0 2 -2 2]);
YMixSignal = fft(yMixSignal,nfft);
PMixSignal = YMixSignal.* conj(YMixSignal)/nfft;
f = fs*(0:nfft/2)/nfft;
figure(8);
plot(f,PMixSignal(1:nfft/2+1));
title('经过带通滤波的混频信号频谱');
xlabel('frequency (Hz)');
axis([800 1200 -inf inf]);
%----------传输信道--------------
Sign_send=yMixSignal;
Sign_rec=Sign_send;
%----------传输信道---------------
%----------接收端---------------
%----------解扩----------------
fc=1000;Tc=1/fc;
[Carrier,time]=gensig('sin',Tc,EndTime,Ts); %产生扩频载波
Sign_rec=Sign_send;
ySign_rec=Sign_rec.*Carrier;
figure(9);
plot(time,ySign_rec);
title('解扩后的信号');
xlabel('time (seconds)');
axis([0 2 -1 1]);
%----------低通滤波,取下边频------------
yrr=ySign_rec;
cof_low=fir1(64,25/fs);
Sign_rec_l=filter(cof_low,1,ySign_rec);
figure(10);
plot(time,Sign_rec_l);
title('解扩后的下边频的信号');
xlabel('time (seconds)');
axis([0 2 -1 1]);
YSign_rec_l = fft(Sign_rec_l,nfft);
PSign_rec_l = YSign_rec_l.* conj(YSign_rec_l)/nfft;
f = fs*(0:nfft/2)/nfft;
figure(11);
plot(f,PSign_rec_l(1:nfft/2+1));
title('解扩后的下边频频谱');
xlabel('frequency (Hz)');
axis([0 100 -inf inf]);
%----------FSK译码--------------
cof_f0=fir1(64,[f0-0.25,f0+0.25]/fs);
cof_f1=fir1(64,[f1-0.25,f1+0.25]/fs);
DeFSK0=filter(cof_f0,1,Sign_rec_l);
DeFSK1=filter(cof_f1,1,Sign_rec_l);
rDeFSK0=DeFSK0.*u0;
rDeFSK1=DeFSK1.*u1;
rDeFSK=rDeFSK0-rDeFSK1;
figure(12);
plot(time,rDeFSK);
title('采样判决前的信号');
xlabel('time (seconds)');
axis([0 2 -2 2]);
%-----------采样判决---------------
Sampletime=0.25/Ts;
Message=[];
Num=0;
while(Num<2/Ts)
if(mod(Num,Sampletime)==0)
Message=[Message ones(1,Sampletime+1)*sign(sum(rDeFSK((Num+1):(Num+Sampletime))))];
end
Num=Num+Sampletime;
end
figure(13);
plot((1:length(Message))/fs,Message);
title('恢复的信息');
xlabel('time (seconds)');
axis([0 2 -2 2]);
%---------产生8位m序列,控制频率合成器产生频率变化的高频载波---------------
clear all;
clc;
%---------初始化---------------
MAXCLOCK=1000000; %步长是0.01ms
PNSeq=[0 0 0 0 0 0 0 1];
PNSeq1=[0 0 0 1 0 0 1 1];
InitialPNSeq=PNSeq;
InitialPNSeq1=PNSeq1;
PNSeqNum=1; %第几次选择频率
SaveFrq=[];
SaveFrq1=[];
%---------主仿真时钟---------------
CLOCK=0; %单位是 ms/100
step=5000; %每100表示1ms
%---------产生M序列---------------
sim('SimCreatMSeq');
%---------仿真开始---------------
while CLOCK < MAXCLOCK
CLOCK=CLOCK+step;
If mod(CLOCK,5000)==0
%---------产生M序列---------------
% 5 ms跳一次频, 每秒200跳
%---------选择频率---------------
MixFrq=SelectFrq(PNSeq(PNSeqNum:PNSeqNum+7))/1000e3;
MixFrq1=SelectFrq(PNSeq1(PNSeqNum:PNSeqNum+7))/1000e3;
PNSeqNum=PNSeqNum+1;
SaveFrq=[SaveFrq MixFrq];
SaveFrq1=[SaveFrq1 MixFrq1];
end
%结果画图
figure(1);
for i=1:length(SaveFrq)
plot(i/200,SaveFrq(i)/10,'s');
plot(i/200,SaveFrq1(i)/10,'x');
hold on;
end
title('跳频点的变化情况');
xlabel('time (seconds)');
ylabel('frequence (MHz)');
axis([0 1 89 90]);
%---------根据m序列的8位状态,选择频率---------------
function Frq=SelectFrq(Code)
tempCode=128*Code(8)+64*Code(7)+32*Code(6)+16*Code(5)+8*Code(4)+4*Code(3)+2*Code(2)+Code(1);
if(tempCode>200);
tempCode=tempCode-128;
end
MaxFrq=94*1e6;
MinFrq=88*1e6;
Frq=(MaxFrq-MinFrq)/200*(tempCode-0)/2+MinFrq; %(MaxFrq-MinFrq)/200=30;
这个程序90%都是对的,但是运行起来就是不行,我是急着做啊,对MATLAB就是一无所知啊!求指导啊!感激不尽,真心急!
跳频通信系统 matlab,毕业设计:基于MATLAB快跳频的通信系统仿真相关推荐
- 直扩信号matlab,毕业设计-基于Matlab设计直扩信号发生器设计
毕业设计-基于Matlab设计直扩信号发生器设计 目 录前言 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ...
- 用matlab生成跳频信号,用MATLAB实现一种快跳频通信系统
内容简介: 毕业论文 用MATLAB实现一种快跳频通信系统,附答辩文稿.程序与框图.英文资料及翻译,正文共41页,20495字. 摘 要 快跳频通信是扩频通信的一种实现方式,它有很多的特点和有点,尤其 ...
- 通信MATLAB仿真毕业设计,毕业设计—基于matlab的通信系统仿真报告.doc
毕业设计-基于matlab的通信系统仿真报告.doc 创新实践报告报 告 题 目:基于matlab的通信系统仿真学 院 名 称:信息工程学院姓 名:余盛泽班 级 学 号:指 导 老 师:温 靖二O一四 ...
- 基于matlab的gui设计与实现,毕业设计基于MATLAB GUI的数字图像处理的设计与实现(V2.1)...
<[毕业设计]基于MATLAB GUI的数字图像处理的设计与实现.doc>由会员分享,可在线阅读全文,更多相关<毕业设计基于MATLAB GUI的数字图像处理的设计与实现(V2.1) ...
- 基于matlab毕业设计题目,matlab毕业设计题目.doc
matlab毕业设计题目 matlab毕业设计题目 篇一:matlab毕业设计 龙岩学院 毕业设计 题目:基于matlab的音频信号处理 专业: 电子信息工程 学号: 作者: 指导教师(职称): 二0 ...
- 基于matlab数字滤波器设计,毕业设计 基于MATLAB的数字滤波器设计
毕业设计 基于MATLAB的数字滤波器设计,共55页,19284字 摘 要 本文分别研究了在MATLAB环境下IIR数字滤波器和FIR数字滤波器的设计方法及实现方法,并进行图形用户界面设计,以显示本文 ...
- matlab图形设计界面 文献翻译,毕业设计基于matlab的数字图像识别的设计与实现文献翻译V8.1(资料4)...
<[毕业设计]基于matlab的数字图像识别的设计与实现文献翻译.doc>由会员分享,可免费在线阅读全文,更多与<毕业设计基于matlab的数字图像识别的设计与实现文献翻译(V8.1 ...
- matlab模拟频谱仪,毕业设计基于MATLAB的声音信号频谱分析仪源代码V3.1(手机版)...
<[毕业设计]基于MATLAB的声音信号频谱分析仪源代码.doc>由会员分享,可免费在线阅读全文,更多与<毕业设计基于MATLAB的声音信号频谱分析仪源代码(V3.1)>相关文 ...
- 基于matlab的音频信号处理系统,毕业设计-基于matlab的语音信号处理及分析
资料简介 毕业设计 基于matlab的语音信号处理及分析(共19页,8147字) 引言 数字信号处理的主要研究对象是数字信号,且是采用运算的方法达到处理的目的的,因此,其实现方法,基本上分成两种实现方 ...
- Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别
Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别 目录 车牌图像数据集 视频动态演示 核心代码 相关文章 Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别 Matl ...
最新文章
- 深度学习目标检测模型全面综述:Faster R-CNN、R-FCN和SSD
- linux启停was命令,linux下的启停脚本
- java 内存测试_请你说一下java jvm的内存机制
- linux bash基础
- Cocos2d-x3.2 场景的生命周期
- Ubuntu安装yum失败-2
- 2015年科技巨头的十个开源产品,不只是.NET、Swift
- python统计自己微信好友并抓取信息
- PHP——MySQL数据库连接与关闭自定义函数
- 音视频同步(播放)原理
- python编程教学软件-【掌控】mPython编程与教学软件平台汇总
- 开源视频平台:ViMP
- git在分支的基础上建分支
- 电子书下载:深入解析Windows操作系统第6版 Windows Internals 6th Part1, Part2
- 飞鹅打印机远程打印订单
- 语音信号处理-python
- 机器视觉1:图像预处理与瑕疵检测
- Nature子刊:使用纳米孔测序从微生物组中得到完整闭环的细菌基因组
- Linux 系统调用
- 机器学习项目实战——集成预测政治献金
热门文章
- EduCoder Java高级特性 - 多线程基础(1)使用线程
- 手机换号需要解除绑定并更换手机号的地方
- 2022上海市安全员A证考试试题及在线模拟考试
- matlab初始化界面卡住,Matlab初始化initializing极慢解决方法
- NO2!阿里研究院入选中国企业智库系统影响力榜...
- Halcon学习笔记_04:划痕、油污、瑕疵
- 十四、Linux系统编程-信号(一)中断、信号、中断和信号
- python爬取HTML中属性的值的实例(loading...)
- 关于部署springboot+jsp项目时打jar包无法访问静态资源的问题
- 减持后大笔收购,汽车之家为何让中国平安又爱又恨?