BPSK调制与解调-MATLAB基带仿真
仿真步骤
- 产生一定长度的值为0或1的随机序列 s ( t ) s(t) s(t)。
- 将 s ( t ) s(t) s(t)映射到BPSK星座图上的星座点。
- 产生高斯白噪声,将调制后的信号通过AWGN信道,得到输出信号 r ( t ) r(t) r(t)。
- 利用最小距离判决准则实现检测,统计误比特数。
- 绘制仿真误比特率与理论误比特率曲线,进行对比分析。
BPSK发送端星座图:
BPSK相干解调:
最小距离判决准则:
理论误比特率:
仿真结果:
博主其他相关文章链接:
BPSK系统在瑞利衰落信道下的性能-MATLAB基带仿真
(7,4)汉明码在BPSK系统下的性能-MATLAB基带仿真
MATLAB基带仿真程序:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43clc clear close all % BPSK调制与解调 % % 2019.3.26 % % K.X.Song % L = 1000000; % 原始数据长度 data = round(rand(1,L)); % 原始数据 send = (data - 1/2) * 2; % BPSK调制 EbN0_dB = 0:12; % Eb/N0 dB形式 EbN0 = 10.^(EbN0_dB/10); % Eb/N0 Eb = 1; % 每比特能量 N0 = Eb ./ EbN0; % 噪声功率 error = zeros(1,length(EbN0_dB)); % 预置错误个数 ber = zeros(1,length(EbN0_dB)); % 预置仿真误比特率 tber = zeros(1,length(EbN0_dB)); % 预置理论误比特率 for q = 1:length(EbN0_dB) noise = sqrt(N0(q)/2) * randn(1,L); % 高斯白噪声 receive = send + noise; % 接收信号 detect = zeros(1,L); % 预置检测信号 for w = 1:L if (receive(w) >= 0) detect(w) = 1; % 数轴右侧 -> 1 else detect(w) = -1; % 数轴左侧 -> -1 end if (detect(w) ~= send(w)) error(q) = error(q) + 1; % 错误个数 end end ber(q) = error(q) / L; % 仿真误比特率 tber(q) = erfc(sqrt(EbN0(q)))/2; % 理论误比特率 end figure semilogy(EbN0_dB,ber,'o',EbN0_dB,tber,'b'); % 画图 grid on; % 坐标轴开启 axis([0 10 10^-5 10^-1]) % 限制作图范围 xlabel('Eb/N0 (dB)'); % 横坐标 ylabel('BER'); % 纵坐标 legend('BPSK仿真误比特率','BPSK理论误比特率'); % 图例
最后
以上就是快乐音响最近收集整理的关于BPSK调制与解调-MATLAB基带仿真的全部内容,更多相关BPSK调制与解调-MATLAB基带仿真内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复