BPSK 的matlab 仿真原理加源代码(12 页)Good is good, but better carries it.精益求精,善益求善。BPSK 误码率的 Matlab 仿真实验作者:黄准南京航空航天大学,江苏省 南京市 430062摘要:对于刚刚从事通信领域讨论性工作的讨论生来说,很有必要通过 Matlab 强大的仿真功能来强化理解通信信号处理的过程。本文正是通过对 BPSK 的 Matlab 仿真来提供一个比较好的实例。关键词:BPSK,高斯白噪声,带通滤波器,载波,抽样判决1 BPSK 的理论分析1.1 基本原理图 1.1 BPSK 相干解调原理框图输入信号 A(t)可表示为: (1.1-1)式中为矩形波,而 表达式如下:对 A(t)进行傅里叶变换,得到 A(t)的功率谱密度(式中 Ts 为码元时间长度):得到 A(t)的频谱图如 1.2 所示(图中 Tb 为码元时间长度)加法器s(t)相乘器BPF相乘器LPF抽样判决A(t)WGN定时脉冲A(t)图 1.2 矩形基带信号频谱A(t)与载波相乘:其频谱图如图 1.3 所示:图 1.3图中 fc 为载波频率,fs=1/Tb=Rb(码速率),故带通滤波器的中心频率为 fc,带宽至少为 2fs。经过带通滤波器的高斯白噪声变成了窄带高斯信号,可以表示为:经过带通滤波器后的信号为 y(t)y(t)=s(t)+n(t)与载波相乘后再经过低通滤波器滤除高频重量得到 x(t)由 x(t)的功率谱密度图(图 1.4 所示)可知,最佳判决门限为 0;误码率 Pe=0.5*erfc(sqrt(r));式中信噪比 r=A^2/2*σ^2,σ^2 为窄带高斯信号的方差,由于其均值为 0,故噪声功率就是其方差。图 1.4附录:clear allclcnum = 5000; %码元数Rb = 1000; %码速率 2*Rb<=fstnum = 500; %没一个码元用tnum 个点代替fs = Rb*tnum; %采样频率fs>2*(fp+Rb)fp = 100000; %载波频率t = 0:1/fs:num/Rb-1/fs; %时间 t 的长度与间隙。panjue1 = zeros(1,num); %基带传输的判决输出panjue2 = zeros(1,num); %频带传输的判决输出pe1 = zeros(1,15); %基带传输的误码率矩阵pe2 = zeros(1,15); %频带传输的误码率矩阵a = 2*(fp-2*Rb)/fs; %带通滤波器的第一截止频率b = 2*(fp+2*Rb)/fs; %带通滤波器的第二截止频率s = 1; %循环累加数%[a1,b1] = butter(2,[a,b]); %采纳 butter滤波器,得到 butter 滤波器的 H(z)的分子分母参数noise = randn(1,num*tnum); %产生正态分布参数nwgnnoise = filter(a1,b1,noise); %对WGN 进行带通滤波stdnwgn = std(nwgnnoise); %为了减少运...