文档详情

msk调制解调程序代码.doc

发布:2017-12-16约1.4万字共13页下载文档
文本预览下载声明
%n:延迟码元个数 %sample_number:码元采样个数 out = zeros(1,length(data)); out(n*sample_number+1:length(data)) = data(1:length(data)-n*sample_number); function [data_diff] = difference(data) %差分编码 %************************************************************************** %data 输入信号 %data_diff 差分编码后信号 %************************************************************************** %-------------------------------------------------------------------------- data_diff = zeros(1,length(data)); data_diff(1) = 1 * data(1); %1为差分编码的初始参考值 for i = 2:length(data) data_diff(i) = data_diff(i-1) * data(i); end %************************************************************************** function [signal_out,I_out,Q_out] = mod_msk(data,data_len,sample_number,Rb) %MSK基带调制 %************************************************************************** % data 调制信号 % data_len 码元个数 % sample_number 每个码元采样点数 % Rb 码元速率 % signal_out 基带调制输出 % I_out I路输出 % Q_out Q路输出 %************************************************************************** % data_len = 10; %码元个数 % sample_number = 8; %采样点数 % Rb = 16000; %码元速率 % data1 = randint(1,data_len); % data = 2*data1-1; %传输的序列 Tb = 1/Rb; %码元时间 fs = Rb*sample_number; %采样速率 %-------------------------------------------------------------------------- %差分编码 [data_diff] = difference(data); %************************************************************************** %-------------------------------------------------------------------------- %并串转换,延时 I(1) = 1; %fai0 = 0,cos(fai0) = 1 for i = 1:2:data_len Q(i) = data_diff(i); Q(i+1) = data_diff(i); end for i = 2:2:data_len 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:samp
显示全部
相似文档