资源简介
主要是msk调制的MATLAB仿真程序,并画出调制波形的时域波形和频域波形
代码片段和文件信息
%E6_7_MskModem.m程序清单
ps=1*10^6; %码速率为1MHz
Fs=16*10^6; %采样速率为16MHz
fc=3*10^6; %载波频率为3MHz
N=100; %数据码元个数
Len=N*Fs/ps; %仿真数据的长度
x = randint(N12)‘; % 产生随机数据做为数据码元
%x=ones(1N);
dx=ones(1N);
for i=1:N
if x(i)==0
x(i)=-1;
end
end
%求原码的相对码dx
for i=2:N
if x(i)==1
dx(i)=-dx(i-1);
else
dx(i)=dx(i-1);
end
end
%将相对码按奇偶序号分成两路数据,形成Ik\Qk
di=ones(1N);
dq=ones(1N);
%取dx的偶数位,并列两位为di
for i=2:2:N
di(i:i+1)=dx(i);
end
%取dx的奇数位,并列两位为dq
for i=1:2:N-1
dq(i:i+1)=dx(i);
end
%对原始BIT数据进行Fs/ps倍重采样
udi=ones(1N*Fs/ps);
udq=ones(1N*Fs/ps);
for i=1:N
udi(Fs/ps*(i-1)+1:Fs/ps*i)=di(i);
udq(Fs/ps*(i-1)+1:Fs/ps*i)=dq(i);
end
% udi=rectpulse(diFs/ps);
% udq=rectpulse(dqFs/ps);
%产生MSK信号所需的载波信号
t=0:1/Fs:(Len-1)/Fs;
cf0c=cos(2*pi*fc.*t);
sf0c=sin(2*pi*fc.*t);
cfps=cos(pi*ps/2.*t);
sfps=sin(pi*ps/2.*t);
%正交调制法产生msk信号
msk=udi.*cfps.*cf0c-udq.*sfps.*sf0c;
%MSK 解调
%第一种相干解调,需要同时获取fcfb的载波频率
% demod_i=msk.*cf0c.*cfps;
% demod_q=msk.*sf0c.*sfps;
%平方环相干解调,只需获取fL、fH的载波频率
fL=cos(2*pi*fc.*t-2*pi*ps/4.*t);%cos(2*pi*ps/4.*t)
fH=cos(2*pi*fc.*t+2*pi*ps/4.*t);
demod_i=msk.*(fH+fL);
demod_q=msk.*(fH-fL);
%低通滤波后,获取I、Q支路基带波形
b=fir1(300.5*ps*2/Fs);%设计低通滤波器
f_i=filter(b1demod_i);
f_q=filter(b1demod_q);
%求Tb/2的时钟信号波形
% fL2=cos(4*pi
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论