www.gusucode.com > 瑞利衰落信道-源码程序 > 瑞利衰落信道-源码程序/code/BFSK_rayleighmain.m

    clc
clear
echo on
%x表示信噪比
x=0:15;
% y表示信号的误比特率,它的长度与x相同
y=x;
% BFSK调制的频率间隔等于24kHz
FrequencySeparation=24000;
% 信源产生信号的bit率等于10kbit/s
BitRate=10000;
% 仿真时间设置为10秒
SimulatonTime=10;
% BFSK调制信号每个符号的抽样数等于2
SamplesPerSymbol=2;
%发送端和接收端的相对运动速度
Velocity=40;
% 光速
LightSpeed=3*10^8;
% 载波频率
Frequency=825*10^6;
%计算载波波长
WaveLength=LightSpeed/Frequency;
% 根据运动速度和波长计算多普勒频移
% 注意要把运动速度的单位转换成米/秒
Fd=Velocity*10^3/3600/WaveLength;
for i=1:length(x)
%     信道的信噪比依次取x中的元素;
    SNR=x(i);
%     运行仿真程序,得到的误比特率保存在工作区变量BitErrorRate中
    sim('BFSK_AWGN');
%计算BitErrorRate的均值作为本次仿真的误比特率
    y1(i)=mean(BitErrorRate);
    sim('BFSK_rayleigh');
%     计算BitErrorRate的均值作为本次仿真的误比特率
    y2(i)=mean(BitErrorRate);
end

% 准备一个空白的空间
% hold off;
figure
% 绘制x和y的关系曲线图,纵坐标采用对数表示
semilogy(x,y1,'-*',x,y2,'-o');
legend('AWGN信道','瑞利信道')
xlabel('信噪比( Eb / No )(dB)');
ylabel('比特误码率');
grid on;