GMSK调制 MATLAB代码

%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 = 9
    for 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) ; 
### 回答1: javax.comm.comm.2.0.3是一个用于在Java程序中进行串口通信的库。该库可以在Java程序中使用SerialPort和CommPortIdentifier等类来访问和控制串口设备。javax.comm.comm.2.0.3库的下载可以通过以下步骤完成: 1. 打开Web浏览器,进入Java官方网站下载页面(例如https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html)。 2. 在下载页面上找到适合您操作系统的Java开发工具包(JDK)版本,并点击下载。请确保您选择的JDK版本与您的操作系统兼容。 3. 完成JDK的下载和安装后,打开命令行终端或控制台。 4. 运行以下命令,以查找javax.comm.comm.2.0.3.jar的下载链接: `jar -xf <path_to_JDK>\lib\comm.jar` 注意,<path_to_JDK>应替换为JDK的安装路径。 5. 在命令执行完毕后,您将会在当前目录下找到javax.comm.comm.2.0.3.jar文件。 6. 如果您无法找到javax.comm.comm.2.0.3.jar文件,可以尝试在互联网上搜索该文件的下载链接,并从可信任的网站上下载。 7. 下载完成后,将javax.comm.comm.2.0.3.jar文件复制到您的Java项目的classpath路径中。 8. 在您的Java代码中,使用import语句将javax.comm.comm包引入到您的程序中,并开始使用相关的类和方法进行串口通信操作。 需要注意的是,javax.comm库在较新的Java版本中可能已被弃用或删除。如果您的Java版本较新,请查看相关文档或第三方库以了解其他可用的替代方案。 ### 回答2: javax.comm.comm.2.0.3jar包是用于Java中串口通信的包。在这个包中,我们可以使用Java语言轻松地实现与外部设备(如串口设备)的通信。 要下载javax.comm.comm.2.0.3jar包,可以按照以下步骤进行操作: 1. 打开浏览器,并在搜索引擎中输入“javax.comm.comm.2.0.3jar包下载”进行搜索。 2. 根据搜索结果选择一个可信的下载源或官方网站,确保你从一个安全的地方下载这个jar包。 3. 在下载页面中寻找与你操作系统版本相匹配的jar包,并点击下载按钮。 4. 下载完成后,将下载的jar包保存到你的计算机中的一个指定位置,并记住它的全路径。 5. 如果你正在使用一个Java集成开发环境(IDE),如Eclipse或IntelliJ IDEA,你需要将这个.jar文件添加到你的项目中。可以通过在IDE中的“Build Path”或“Library”设置中添加外部jar来完成这一步骤。 6. 如果你正在使用命令行编译和运行Java程序,可以使用Java的-classpath选项来指定你的项目中的外部jar文件。例如,可以使用命令“javac -classpath path/to/comm.2.0.3.jar YourProgram.java”编译程序。 通过以上步骤,你就可以下载并使用javax.comm.comm.2.0.3jar包了。这个jar包提供了一些类和接口,用于在Java程序中实现串口通信。你可以查看官方文档或网络上的教程来深入了解如何使用这个jar包,并开始编写你自己的串口通信应用程序。 ### 回答3: javax.comm.comm.2.0.3是一个用于Java通信API的jar包。该API允许Java应用程序通过串行端口与外部设备进行通信,例如打印机、调制解调器等。 要下载javax.comm.comm.2.0.3.jar包,请按照以下步骤进行操作: 1. 首先,在您选择的网络浏览器中打开一个搜索引擎,如Google或百度。 2. 在搜索引擎的搜索框中输入“javax.comm.comm.2.0.3.jar下载”。点击“搜索”按钮。 3. 搜索结果页面将显示与您的搜索相关的网址和链接。在结果中找到一个可靠的网站,其中可以提供javax.comm.comm.2.0.3.jar的下载。 4. 单击可靠网站上的下载链接。 5. 选择存储jar包文件的位置。可以选择计算机上的任意位置,方便以后查找。 6. 点击“保存”按钮,开始下载。 7. 下载完成后,您可以在选择的位置找到javax.comm.comm.2.0.3.jar文件。 请注意,javax.comm.comm.2.0.3.jar是一个较旧的jar包版本,而且Java SE 6及以上版本已经内置了通信API。因此,在使用这个jar包之前,请确保它适用于您的开发环境,并且您确实需要使用这个特定的版本。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆拾伍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值