24小时热门版块排行榜     石溪大学接受考研调剂申请>

【调剂】北京石油化工学院2024年16个专业接受调剂
查看: 1143  |  回复: 3
【悬赏金币】回答本帖问题,作者ENIAC_1946将赠送您 90 个金币

ENIAC_1946

铜虫 (小有名气)

[求助] 【本科问题】BPSK理论误比特率与仿真误比特不吻合

源程序如下
一、BPSK仿真程序
function [bit_err_ratio1] = Program_BPSK(EBN0)
%%%%%%%%%%%%%%%%%%%% BPSK调制解调器误码性能仿真程序 %%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%            BPSK_modern_siml.m           %%%%%%%%%%%%%%%%
%%%%%%%%%          date: 2018-09-26 author:                     %%%%%%%%%%%

%%%%%%%%%%    程序说明
%完成BPSK调制解调器的仿真,比较不同信噪比下的误码性能。
%通信体制具体内容如下:
%调制方式:BPSK         编码方式:无
%滚降因子: 0.5
%解调方式:相干解调     译码方式:无
%噪声:加性高斯白噪声
%中频信号仿真

%%%% 仿真环境
%软件版本:matlab 2016a


%clear all;
%close all;
format long;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%       程序主体    %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      系统参数    %%%%%%%%%%%%%%%%%%%%%%%%%%%%
bit_rate = 1000;         %比特率
symbol_rate= 1000;       %符率
fre_sample = 16000;      %采样频率
symbol_sample_rate = 16; % —个符号内的采样倍数
fre_carrier = 4000;      %载波频率

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       信源     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% 随机信号
msg_source = [ones(1,20) zeros(1,20) randi([0,1],1,960)];   %总共1000个符号

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       发射机    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%编码器

%%% BCH编码
% 确定BCH生成多项式 这里使用本原BCH码15 5
n=15;k=5;   % n=2^4-1;
genpoly_gf = bchgenpoly(n,k);
genpoly_db = double(genpoly_gf.x);
%disp(['BCH' num2str(n), ',' ,num2str(k),')'])
%disp('GenPoly:')
%disp(genpoly_db)
msg_source_BCH=zeros(1,3000);
% 确定生成矩阵
% 将生成多项式的根逐个代入接收多项式,所得的值就是伴随式序列
G= [1 0 0 0 0 1 0 1 0 0 1 1 0 1 1;
    0 1 0 0 0 1 1 1 1 0 1 0 1 1 0;
    0 0 1 0 0 0 1 1 1 1 0 1 0 1 1;
    0 0 0 1 0 1 0 0 1 1 0 1 1 1 0;
    0 0 0 0 1 0 1 0 0 1 1 0 1 1 1;];
% msg_source_BCH=encode(msg_source,15,5,'bch');
j = 1;
for i=1:15:3000
     msg_source_BCH(i:i+14) = msg_source(j:j+4)*G;
     j = j + 5;
end
msg_source_BCH = mod(msg_source_BCH,2);

%%%%% 调制器
%%%  双极件变换
%bipolar_msg_source = 2*msg_source_BCH-1;   %BCH编码调制
bipolar_msg_source=2*msg_source-1;        %直接调制
%%%  滤波器
% rcosflt 滚降成型滤波
rcos_msg_source = rcosflt(bipolar_msg_source,1000,16000);
fir = rcosdesign(0.5,6, symbol_sample_rate);   %滤波器阶数=96
%rcos_msg_source = filter(fir,1,bipolar_msg_source);
% Roll-off factor 为0.5.
%滤波器可视化
%fvtool(fir,'Analysis','impulse')
%频域观察
fft_rcos_msg_source = abs(fft(rcos_msg_source));
%figure(1)
%plot(rcos_msg_source)
%title('时域波形');
%figure(2)
%plot(fft_rcos_msg_source)
%title('频域波形')

aaa = 1; % 调试断点

%%% 载波发送
time = 1:1:length(rcos_msg_source);
rcos_msg_source_carrier = rcos_msg_source'.*cos(2*pi*fre_carrier.*...
time/fre_sample);



% 频域观察
fft_rcos_msg_source_carrier = abs(fft(rcos_msg_source_carrier));
%figure(3)
%plot(rcos_msg_source_carrier)
%title('时域波形')
%figure(4)
%plot(fft_rcos_msg_source_carrier)
%title('频域波形')


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       信道     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 设置信噪比
% 10lg16 + snr = 10lgEb/N0, snr = EBN0 - 12.041
% 比特信噪比
snr = EBN0-10*log10(16);

%%%  加性高斯白噪声
rcos_msg_source_carrier_noise = awgn(rcos_msg_source_carrier,snr,'measured');
%rcos_msg_source_carrier_noise = rcos_msg_source_carrier;

% 添加随机噪声
%n =2*randn(size(time));
%rcos_msg_source_carrier_noise=rcos_msg_source_carrier_noise+n;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      接收机     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%解调器
%%% 载波恢复
% 生成本地载波
rcos_msg_source_noise = rcos_msg_source_carrier_noise.*cos(2*pi*...
fre_carrier.*time/fre_sample);

% 滤波高频,保留基带信号
LPF_firl28 = fir1(128,0.2); % 生成低通滤波器
rcos_msg_source_LP = filter(LPF_firl28,1,rcos_msg_source_noise);
% 延时64个采样点输出
%figure(5);
%plot(rcos_msg_source_LP)
%title('时域波形');
%figure(6)
%plot(abs(fft(rcos_msg_source_LP)))
%title('频域波形');
% 匹配滤波器
rolloff_factor = 0.5;  %滚降因子
rcos_fir= rcosdesign(rolloff_factor, 6, symbol_sample_rate);
% 生成匹配滤波 a square-rootraised cosine FIR filter with rolloff factor

% 滤波
% filter
rcos_msg_source_MF = filter(rcos_fir,1,rcos_msg_source_LP);

%figure(7)
%plot(rcos_msg_source_MF,'-*')
%title('时域波形')
%figure(8)
%plot(abs(fft(rcos_msg_source_MF)))
%title('频域波形')
%%% 最佳采样点
%选取最佳采样点,一个符号取一个点进行判决
decision_site = 160; % (96+128+96)/2 = 160 三个滤波器延迟值
rcos_msg_source_MF_option = rcos_msg_source_MF(decision_site:...
symbol_sample_rate:end);
% 涉及三个滤波器,固含有三个滤波器延迟累加。

%%%  判决
msg_source_MF_option_sign = sign(rcos_msg_source_MF_option);
%figure(9)
%plot(rcos_msg_source_MF_option,'-*')
%title('时域波形');

%%%%%%%%%%%%%%% 解码器
%%%   BCH译码  
% 考虑到丢失3个符号,解码时取5的整数倍符号
msg_source_result=zeros(1,995);
code = (msg_source_MF_option_sign+1)/2;
%j = 1;
%for i=1:15:2985
%msg1= gf(code(i:i+14));
%decoded = bchdec(msg1,15,5);
%temp = double(decoded.x);
%msg_source_result(j:j+4) = temp;
%j = j+5;
%end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      信宿      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% 误码性能比对
% 使用BCH编码的误码性能
%[err_number,bit_err_ratio] = biterr(msg_source(1:length(...
%msg_source_result)),msg_source_result);

% 不使用BCH编码的误码性能
[err_number,bit_err_ratio1] = biterr(msg_source(1:length(...
msg_source_MF_option_sign)),(msg_source_MF_option_sign+1)/2);

二、比较程序
%%%%%%%%%%%%%%%%%%%% BCH编码前后误码率比较仿真程序 %%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%           compare_BPSK&BCH.m            %%%%%%%%%%%%%%%%
%%%%%%%%%          date: 2018-09-26 author: 顾勇翔              %%%%%%%%%%%
clc;
clear all;
result = zeros(2,10);
result1 = zeros(2,10);
result2 = zeros(2,10);

%  计算直接BPSK在比特信噪比1-10的变化
for i=1:1:10
[bit_err_ratio1] = Program_BPSK(i);
result(1,i) = i;
result(2,i) = bit_err_ratio1;
end

for i=1:1:10
    result2(1,i) = i;
    result2(2,i) = berawgn(i,'psk',2,'nondiff');
end
x2=result2(1,;
y2=result2(2,;
figure(3)
plot(x2,y2)
semilogy(x2,y2)
grid on;
hold on
x=result(1,;
y=result(2,;
semilogy(x,y)
legend('理论误比特率','实际误比特率');
回复此楼
上岸
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ENIAC_1946

铜虫 (小有名气)

本来是 :  和   ),自动识别成笑脸了
上岸
2楼2018-09-26 21:07:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ENIAC_1946

铜虫 (小有名气)

上岸
3楼2018-09-26 21:09:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ENIAC_1946

铜虫 (小有名气)

我个人怀疑是滤波带来的信噪比损失   但看网上仿真效果都非常完美啊
上岸
4楼2018-09-26 21:11:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ENIAC_1946 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[教师之家] 大学直属学院卸任的副院长退休后还享受副处级的养老待遇吗? +4 苏东坡二世 2024-04-27 4/200 2024-04-27 10:12 by ZHONGWU_U
[论文投稿] 求论文投稿期刊推荐 15+3 mihudawang 2024-04-26 4/200 2024-04-27 09:56 by bobvan
[硕博家园] 聊天 +12 暮色恋伊人 2024-04-22 13/650 2024-04-27 08:40 by WASM
[博后之家] 南京大学-广州大学联合招聘博士后 欢迎广大优秀人才!!! +4 黑魔变身啾 2024-04-20 13/650 2024-04-27 08:37 by snxvt
[考博] 真的好想读博! +15 wangzhe_bs 2024-04-22 22/1100 2024-04-26 22:11 by 小木雄子
[基金申请] 基金开始函评了吗? +16 wych1103 2024-04-25 16/800 2024-04-26 21:32 by 淀粉搬运工
[考博] 申博求助 +4 dskabdh 2024-04-24 11/550 2024-04-26 15:54 by dskabdh
[基金申请] 两类问题算是白选了~ +7 jurkat.1640 2024-04-23 12/600 2024-04-26 14:39 by lucky_my2010
[教师之家] 博士论文被抄袭 +25 和尚敲小木鱼 2024-04-22 42/2100 2024-04-26 13:55 by ZHONGWU_U
[考博] 25年博士申请 +6 Changzixuan 2024-04-25 11/550 2024-04-26 13:48 by 我属驴核动力驴
[硕博家园] 考研,求职还是考编? +15 xizj 2024-04-21 24/1200 2024-04-26 11:49 by Kan客
[考研] 381求调剂 +4 小刺猬987654321 2024-04-25 6/300 2024-04-26 10:57 by czl12138
[论文投稿] Chemical Engineering Journal投稿3周了,一直显示With editor状态。这是送审了吗? 10+4 yifeng11 2024-04-20 13/650 2024-04-26 09:48 by yifeng11
[教师之家] 某种做法不行。说过几遍了。同学还那样做。再那样做就给低分 +4 河西夜郎 2024-04-24 4/200 2024-04-26 08:51 by Quakerbird
[论文投稿] 一直找不到审稿人 +5 lizhengke06 2024-04-21 6/300 2024-04-25 14:01 by chongdong
[基金申请] 国社科项目,你们学校都限额申报吗? +7 屡战屡败 2024-04-21 10/500 2024-04-25 12:10 by 屡战屡败
[考博] 24年 申博 化学/材料 一作6篇sci +9 wangyp123 2024-04-23 11/550 2024-04-24 19:01 by bangbangbiu
[教师之家] 找工作过程中碰到好多人问南京某新换校长211的政策,规定如下 +15 ZHONGWU_U 2024-04-21 17/850 2024-04-24 05:12 by juta256
[考博] 研二光催化6月底4篇2区 +7 wjtab 2024-04-22 11/550 2024-04-23 06:59 by byron2012
[论文投稿] 编辑是选国外的好还是国内的好。 +8 lizhengke06 2024-04-20 8/400 2024-04-22 08:58 by cuiyunjian
信息提示
请填处理意见