返回信息流用matlab里comm.GMSKDemodulator函数解调GMSK信号 因为这个函数有一个时间延迟TracebackDepth
所以会出现最后一位码元丢失 比如输入调制的是1,1,1,1,1 输出就变成0,1,1,1,1
最后一位码元信息就没了 想要完整的解调结果该如何操作? 小白感谢各位!!!
代码:(x是原输入的 x1是解调出来的)
clear;
clc;
j=sqrt(-1);
Ts=1/16000; %基带信号周期为1/16000s,频率16KHz
Tb=1/32000;
fc=32*1e3; %载波频率
B_num=50; %基带信号有50个码元
fc_sample=64; %每码元采样64个点
Dt=1/(fc*fc_sample); %采样间隔
t=0:Dt:B_num*Tb-Dt; %仿真时间离散点
gmsk_mod1 = comm.GMSKModulator('BitInput',true,'SamplesPerSymbol',64);%创建GMSK调制器1
x = randi([0,1],B_num,1);%输入01串
signal_A = gmsk_mod1(x);%GMSK调制得到信号A
signal_A=transpose(signal_A);
signal_add=0.001.*signal_A.*exp(j*2*pi*1*t);%频偏后的衰落信号
signal_B=signal_A+signal_add;%叠加信号B波形
signal_B=transpose(signal_B);
gmsk_demod = comm.GMSKDemodulator('BitOutput',true,'SamplesPerSymbol',64,'TracebackDepth',1);%创建GMSK解调器
x1=gmsk_demod(signal_B);%解调混叠信号B 得到01串
gmsk_mod2 = comm.GMSKModulator('BitInput',true,'SamplesPerSymbol',64);%创建GMSK调制器2
signal_C=gmsk_mod2(x1);%GMSK调制得到信号C
signal_D=signal_B-signal_C;%相减
signal_B=transpose(signal_B);
signal_C=transpose(signal_C);
signal_D=transpose(signal_D);
这是一条镜像帖。来源:北邮人论坛 / matlab / #13125同步于 2020/7/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
[GMSK解调]用comm.gmskdemodulator解调结果出现码元丢失
gdqgdqgdq
2020/7/6镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。