www.gusucode.com > 无线通信FPGA设计源码程序 > 无线通信FPGA设计源码程序/matlab代码/matlab/c8/MSKmod.m

    numbits = 99;   %每次迭代的比特数
numchans = 2;   %信号的信道数
nsamp = 16;    %每个符号的采样率
num=10;
numerrs = 0; % Number of bit errors seen so far
demod_ini_phase = zeros(1,numchans);  % 调制相位
mod_ini_phase = zeros(1,numchans);    % 解调相位
ini_state = complex(zeros(nsamp,numchans)); % 解调状态

for i = 1 : num
    x = randint(numbits,numchans);   %二进制信号
    [y,phaseout] = mskmod(x,nsamp,[],mod_ini_phase);
    mod_ini_phase = phaseout;    %用于下次MSK调制使用
    [z, phaseout, stateout] =mskdemod(awgn(y,5,'measured'),nsamp,[],demod_ini_phase,ini_state);
    ini_state = stateout;  %用于下次解调使用
    demod_ini_phase = phaseout;   %用于下次解调使用
%统计误比特率
numerrs = numerrs + length(find(x(:,1)~=z(:,1))) + length(find(x(:,2)~=z(:,2)));  
end
ber=numerrs/(numbits*numchans*num);