我是靠谱客的博主 快乐音响,这篇文章主要介绍BPSK调制与解调-MATLAB基带仿真,现在分享给大家,希望可以做个参考。

BPSK调制与解调-MATLAB基带仿真

仿真步骤

  1. 产生一定长度的值为0或1的随机序列 s ( t ) s(t) s(t)
  2. s ( t ) s(t) s(t)映射到BPSK星座图上的星座点。
  3. 产生高斯白噪声,将调制后的信号通过AWGN信道,得到输出信号 r ( t ) r(t) r(t)
  4. 利用最小距离判决准则实现检测,统计误比特数。
  5. 绘制仿真误比特率与理论误比特率曲线,进行对比分析。

BPSK发送端星座图:
BPSK星座图
BPSK相干解调
最小距离判决准则:

s ^ ( t ) = arg ⁡ min ⁡ 1 ≤ m ≤ M ∥ r ( t ) − s m ( t ) ∥ 2 2 hat{s}(t)=underset{1 leq m leq M}{arg min}{|r(t)-s_m(t)|_2^{2}} s^(t)=1mMargminr(t)sm(t)22

理论误比特率:

P b = Q ( 2 E b N 0 ) P_b=Q(sqrt{frac{2mathcal{E}_b}{N_0}}) Pb=Q(N02Eb )

仿真结果
在这里插入图片描述
博主其他相关文章链接:
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
43
clc 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基带仿真内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部