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快跳频的通信系统仿真相关推荐

  1. 直扩信号matlab,毕业设计-基于Matlab设计直扩信号发生器设计

    毕业设计-基于Matlab设计直扩信号发生器设计 目 录前言 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ...

  2. 用matlab生成跳频信号,用MATLAB实现一种快跳频通信系统

    内容简介: 毕业论文 用MATLAB实现一种快跳频通信系统,附答辩文稿.程序与框图.英文资料及翻译,正文共41页,20495字. 摘 要 快跳频通信是扩频通信的一种实现方式,它有很多的特点和有点,尤其 ...

  3. 通信MATLAB仿真毕业设计,毕业设计—基于matlab的通信系统仿真报告.doc

    毕业设计-基于matlab的通信系统仿真报告.doc 创新实践报告报 告 题 目:基于matlab的通信系统仿真学 院 名 称:信息工程学院姓 名:余盛泽班 级 学 号:指 导 老 师:温 靖二O一四 ...

  4. 基于matlab的gui设计与实现,毕业设计基于MATLAB GUI的数字图像处理的设计与实现(V2.1)...

    <[毕业设计]基于MATLAB GUI的数字图像处理的设计与实现.doc>由会员分享,可在线阅读全文,更多相关<毕业设计基于MATLAB GUI的数字图像处理的设计与实现(V2.1) ...

  5. 基于matlab毕业设计题目,matlab毕业设计题目.doc

    matlab毕业设计题目 matlab毕业设计题目 篇一:matlab毕业设计 龙岩学院 毕业设计 题目:基于matlab的音频信号处理 专业: 电子信息工程 学号: 作者: 指导教师(职称): 二0 ...

  6. 基于matlab数字滤波器设计,毕业设计 基于MATLAB的数字滤波器设计

    毕业设计 基于MATLAB的数字滤波器设计,共55页,19284字 摘 要 本文分别研究了在MATLAB环境下IIR数字滤波器和FIR数字滤波器的设计方法及实现方法,并进行图形用户界面设计,以显示本文 ...

  7. matlab图形设计界面 文献翻译,毕业设计基于matlab的数字图像识别的设计与实现文献翻译V8.1(资料4)...

    <[毕业设计]基于matlab的数字图像识别的设计与实现文献翻译.doc>由会员分享,可免费在线阅读全文,更多与<毕业设计基于matlab的数字图像识别的设计与实现文献翻译(V8.1 ...

  8. matlab模拟频谱仪,毕业设计基于MATLAB的声音信号频谱分析仪源代码V3.1(手机版)...

    <[毕业设计]基于MATLAB的声音信号频谱分析仪源代码.doc>由会员分享,可免费在线阅读全文,更多与<毕业设计基于MATLAB的声音信号频谱分析仪源代码(V3.1)>相关文 ...

  9. 基于matlab的音频信号处理系统,毕业设计-基于matlab的语音信号处理及分析

    资料简介 毕业设计 基于matlab的语音信号处理及分析(共19页,8147字) 引言 数字信号处理的主要研究对象是数字信号,且是采用运算的方法达到处理的目的的,因此,其实现方法,基本上分成两种实现方 ...

  10. Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别

    Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别 目录 车牌图像数据集 视频动态演示 核心代码 相关文章 Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别 Matl ...

最新文章

  1. 深度学习目标检测模型全面综述:Faster R-CNN、R-FCN和SSD
  2. linux启停was命令,linux下的启停脚本
  3. java 内存测试_请你说一下java jvm的内存机制
  4. linux bash基础
  5. Cocos2d-x3.2 场景的生命周期
  6. Ubuntu安装yum失败-2
  7. 2015年科技巨头的十个开源产品,不只是.NET、Swift
  8. python统计自己微信好友并抓取信息
  9. PHP——MySQL数据库连接与关闭自定义函数
  10. 音视频同步(播放)原理
  11. python编程教学软件-【掌控】mPython编程与教学软件平台汇总
  12. 开源视频平台:ViMP
  13. git在分支的基础上建分支
  14. 电子书下载:深入解析Windows操作系统第6版 Windows Internals 6th Part1, Part2
  15. 飞鹅打印机远程打印订单
  16. 语音信号处理-python
  17. 机器视觉1:图像预处理与瑕疵检测
  18. Nature子刊:使用纳米孔测序从微生物组中得到完整闭环的细菌基因组
  19. Linux 系统调用
  20. 机器学习项目实战——集成预测政治献金

热门文章

  1. EduCoder Java高级特性 - 多线程基础(1)使用线程
  2. 手机换号需要解除绑定并更换手机号的地方
  3. 2022上海市安全员A证考试试题及在线模拟考试
  4. matlab初始化界面卡住,Matlab初始化initializing极慢解决方法
  5. NO2!阿里研究院入选中国企业智库系统影响力榜...
  6. Halcon学习笔记_04:划痕、油污、瑕疵
  7. 十四、Linux系统编程-信号(一)中断、信号、中断和信号
  8. python爬取HTML中属性的值的实例(loading...)
  9. 关于部署springboot+jsp项目时打jar包无法访问静态资源的问题
  10. 减持后大笔收购,汽车之家为何让中国平安又爱又恨?