%span 符号数
%sps 每个符号样本数
%BT 时间积
%Fs 采样频率
%Fb 码元速率
Nbit = 1000 ;
BT = 0.5 ;
span = 8 ;
sps = 130 ;
Fb = 50e3 ;
Fc = 4 * Fb ;
Fs = sps * Fb ;
K = ceil(Fs / 2 / Fc - 1) ;% 不重要,这里是采用了多载波发送,K表示可用载波数量
fcmat = (1 : K)' .* repmat(Fc, K, 1) ;
% CRC校验码
crc_polynominal = [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1] ;%生成多项式16次
crcgenerator = comm.CRCGenerator(crc_polynominal);
msgmat = zeros(K, Nbit + length(crc_polynominal) - 1) ; % 信息长度
for i = 1:size(msgmat, 1)msgmat(i, :) = crcgenerator(randi([0, 1], Nbit, 1))' ; % 一个长度为1000+16
end
modwave = zeros(1, sps * size(msgmat, 2)) ;
msg = msgmat(1,:);
Len = span+1 ; % symbol time span after Gaussian pulse shaping
%% 高斯滤波
csps = 200 * sps ; % high sample rate for discrete integral
% 升采样
gaussfilter = gaussdesign(BT, span, csps) ;
rectbasewav = rectpulse([1], csps) ; % 阶跃函数
gt = conv(gaussfilter, rectbasewav) ;% 得到gt
deltaphi = zeros(Len, sps) ;
for i = 1:Len  % 一个信号可以影响到四个码元,长度为4*2+1 = 9for j = 1:sps       deltaphi(Len+1-i, j) = sum(gt(1+(i-1)*csps : 1+(i-1)*csps+j*csps/sps-1)) / sum(gt) * pi/2 ;end
end  % 求出 gt的积分,长度为 9 T%% MSK调制
bimsg = 2*msg - 1 ; % 转成双极性
padbimsg = [zeros(1, (Len-1)/2), bimsg, zeros(1, (Len-1)/2)] ;  % 前后增加4个长度
phitrace = zeros(1,length(msg)) ;
lastphi = 0 ;
for k = 1:length(msg)kthphi = lastphi + padbimsg(k : k+Len-1) * deltaphi ;lastphi = kthphi(end) ;phitrace = [phitrace kthphi] ;
end
t = (0:length(msg)*sps-1)/Fs ;
modwave = (cos(phitrace) + 1i*sin(phitrace)) .* exp(1i*2*pi*Fc*t) ;

GMSK调制 MATLAB代码相关推荐

  1. IQ调制Matlab代码

    t = 0:1:(307200-1);%采样时间 t = (t/307200)*0.002; fc = 10000000; I = real(data);%取I路 Q = imag(data);%取Q ...

  2. 基于matlab的ldpc编码的构造,基于LDPC编码的GMSK调制与解调及matlab仿真实现(含录像)...

    基于LDPC编码的GMSK调制与解调及matlab仿真实现(含录像)(开题报告,论文10700字,程序代码,录像) 摘 要 随着无线通信技术的不断发展与进步,数字电视广播.移动视频点播等对数据吞吐量要 ...

  3. msk误码率 matlab仿真,GMSK调制解调的MATLAB仿真与误码率分析.pdf

    GMSK调制解调的MATLAB仿真与误码率分析 67 第34卷 第2期 <新疆师范大学学报>(自然科学版) Vol.34,No.2 2015年6月 Journal of Xinjiang ...

  4. ASK调制的matlab代码

    记录一个完整ASK调制过程的matlab代码. %E5_1_AskMod.m function [ASK2,ASK2_filter,ASK4,ASK4_filter]=E5_1_AskMod(Len, ...

  5. 常规、LFM、相位编码、频率编码等雷达调制信号代码(MATLAB)

    介绍 有关傅里叶变化介绍的优秀博文:点这里真的超级有惊喜 雷达信号调制种类: 常规脉冲信号 参考博文: 博文1 博文2 优秀博文:主要参考 matlab代码: 加高斯白噪声:awgn(x,SNR) c ...

  6. 正交调制matlab代码,星形和形星座图调制解调MATLAB代码

    <星形和形星座图调制解调MATLAB代码>由会员分享,可在线阅读,更多相关<星形和形星座图调制解调MATLAB代码(7页珍藏版)>请在人人文库网上搜索. 1. -% 软件无线电 ...

  7. qpsk 16qam matlab,QPSK 完整清晰的描述了光通信中 ,16QAM的调制,matlab代码仿真通过 267万源代码下载- www.pudn.com...

    文件名称: QPSK下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 21 KB 上传时间: 2015-03-23 下载次数: 20 提 供 者: 张红玉 详 ...

  8. AM,DSB,SSB,FM信号调制matlab

    关于模拟调制系统仿真: 1 调制原理: 为了让实际信号便于在有限带宽的信道中传输,我们需要对信号进行调制和解调.由傅里叶变换可知,若想实现对频谱的搬移,我们可以将原始时域信号与一余弦信号进行运算,此为 ...

  9. 5G NR OFDM链路层仿真及Matlab代码实现(1):LDPC信道编译码之5G Tollbox中相关函数使用介绍

    目录 0. 写在前面 1. 信道编码 2. 经过信道(❤) 3. LDPC译码 0. 写在前面 这是OFDM链路仿真系列的第一部分. 第一次写博客,望前辈们多多指教!!! 本来想着一口气写完整个过程, ...

  10. SAR成像系列:【3】合成孔径雷达(SAR)的二维回波信号与简单距离多普勒(RD)算法 (附matlab代码)

    合成孔径雷达发射信号以线性调频信号(LFM)为基础,目前大部分合成孔径雷达都是LFM体制,为了减轻雷达重量也采用线性调频连续波(FMCW)体制:为了获得大带宽亦采用线性调频步进频(FMSF)体制. ( ...

最新文章

  1. ubunntu安装php7.0_在 Ubuntu/Debian 下安装 PHP7.3 教程
  2. Android Studio -添加你见过的最牛Log*神器*
  3. java 打包jar文件以在没有安装JDK或JRE的机子上运行
  4. fatal error C1083: 无法打开预编译头文件:“Debug\a.pch”:No such file or directory
  5. google js cdn_「效率工具」模拟CDN的浏览器扩展程序,改善在线隐私
  6. Mendix:低代码平台四大常见用例开发
  7. hive中分组取前N个值的实现
  8. IIS6.0不支持ASP的解决办法
  9. 支付宝Android接口4.0以上报错Failure calling remote service
  10. vision安装过程中出错_scrapy安装过程中之Twisted的安装遇到的坑
  11. Java 接入微信小程序-登录+支付完整流程实战(环境搭建+源码),网友:看完后秒懂!...
  12. linux 指令安装显卡驱动,Linux 16.04 LTS 安装显卡驱动
  13. 微软网站打不开_分享几个国外超高清壁纸网站4k可任意下载
  14. 英文论文的proposal怎么写?
  15. linux系统进入图文界面,Linux启动界面切换:图形界面-字符界面
  16. 教你如何使用关键词获取淘宝和天猫的商品信息
  17. C++实现的基于α-β剪枝算法的井字棋游戏
  18. 如何挖掘站外营销推广策略
  19. 【微机原理】数字电路器件—门 与门 或门 非门电路及实例
  20. Rabbitmq 定时任务

热门文章

  1. 消防信号总线原理_消防二总线的构成以及工作原理?
  2. 风尚云网学习-关于学习和前端
  3. 人人影视路由二代刷Breed
  4. 听说现在流行搬电脑回家?云桌面救星来了
  5. 弹性地基梁板的计算理论_第八章 弹性地基梁的计算理论
  6. matlab实现神经网络算法,matlab神经网络训练函数
  7. MySQL命令执行sql文件的两种方法
  8. vs mysql 开发erp_ERP vs MRP的区别
  9. Java完成excel表格导出
  10. 基于Ribbon界面的MFC应用程序