我是靠谱客的博主 快乐音响,最近开发中收集的这篇文章主要介绍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基带仿真程序

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基带仿真所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部