• 大小: 5KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-07-02
  • 语言: Matlab
  • 标签: MSK  matlab  

资源简介

这是MSK的matlab源代码,能够实现产生载波,调制解调。星座图,误码分析

资源截图

代码片段和文件信息

%MSK调制
clear all 
close all 
 
%---------------------参数设置----------------------------------------------
data_len = 8;               %码元个数 
sample_number = 100;        %采样个数 
Rb = 280;                   %码元速率 
Tb = 1/Rb;                  %码元时间 
fc = 700;                   %载波频率
fs = Rb*sample_number;      %采样速率 
%---------------------MSK基带调制-------------------------------------------
%随机产生传输信号 
data = [1 -1 -1 -1 -1 -1 1 1];
%差分编码
[data_diff] = difference(data);
%并串转换
I(1) = 1;                       %定义I路的第一个数值为1
for i = 1:2:data_len            %Q路输出奇数位数据
    Q(i) = data_diff(i); 
    Q(i+1) = data_diff(i); 
end  
for i = 2:2:data_len            %I路输出偶数位数据
    I(i+1) = data_diff(i); 
    I(i) = data_diff(i); 
end 
 
for i = 1:sample_number 
    I1(i:sample_number:data_len*sample_number) = I(1:data_len); 
    Q1(i:sample_number:data_len*sample_number) = Q(1:data_len); 
end 
%乘加权函数
t=1/fs:1/fs:data_len*Tb; 
I_out = I1 .* cos(pi*t/2/Tb);                     %I路乘加权函数
Q_out = Q1 .* sin(pi*t/2/Tb);                     %Q路乘加权函数
%调制信号产生  
t=1/fs:1/fs:data_len*Tb;  
signal_i=I_out.*cos(2*pi*fc*t);                   %I路乘载波
signal_q=Q_out.*sin(2*pi*fc*t);                   %Q路乘载波
signal_mod=signal_i+signal_q; 
%---------------------------求功率谱密度------------------------------------
Fs=1000;                                           %采样频率 
window=boxcar(length(signal_mod));                 %矩形窗 
nfft=256; 
[Pxxf]=periodogram(signal_modwindownfftFs);    %直接法 
%---------------------------画图-------------------------------------------
subplot(421) 
stem(data);title(‘随机产生的数字信号‘);
subplot(422) 
stem(data_diff);title(‘差分后的信号‘); 
subplot(423) 
plot(I1‘.-‘);title(‘加权前I路Pk‘); 
subplot(424) 
plot(Q1‘.-‘);title(‘加权前Q路Qk‘);
subplot(425)
plot(cos(pi*t/2/Tb)‘.-‘);title(‘加权函数cos(pi*t/2/Tb)‘);
subplot(426)
plot(sin(pi*t/2/Tb)‘.-‘);title(‘加权函数sin(pi*t/2/Tb)‘);
subplot(427)
plot(I_out‘.-‘);title(‘乘加权函数后I路‘);
subplot(428)
plot(Q_out‘.-‘);title(‘乘加权函数后Q路‘);

figure(2)
subplot(421)
plot(signal_i‘.-‘);title(‘乘载波后I路‘);
subplot(422)
plot(signal_q‘.-‘);title([‘乘载波后Q路‘]);
subplot(42[3 4])
plot(signal_mod‘.-‘);title({[‘MSK调制信号‘];[‘1 -1 -1 -1 -1 -1 1 1‘]});

figure(3)
plot(f10*log10(Pxx)‘linewidth‘1.3); 
xlabel(‘频率‘)
ylabel(‘功率谱密度dB‘)
title(‘MSK功率谱密度‘)
  
figure(4)
plot(I_out-Q_out); 
xlabel(‘I‘)
ylabel(‘Q‘)
title(‘MSK星座图‘)



%--------------------------------------------------------------------------
%加噪声

评论

共有 条评论