继续讲解!之前文章里面讲过一种等效方式对于是否采用滚降成型都实用!这么神奇?之前在QPSK调制解调器里面提及了,本文就来展示程序,在程序中让大家感受道这个计算的细节。本文由于含有程序,长达三千多字,请大家耐心看!
不管采用什么加噪方式,也不管你设置了多少dB的信噪比,按照这种方式计算出来的就是真实的信噪比值!!!怎么在程序中体现呢?那就赶快看下面的仿真程序吧!
%%% 仿真环境
% 软件版本:R2021a
clear all;
%%****************** 程序主体 *******************%%
%%%%%%%%%% 发射机部分 %%%%%%%%%
cnr_number = 1; % 仿真循环次数
%--------- 帧头 20 位 --------
Iframe_head = [ 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1];
%-------- 信息内容 150000 位 ------
indisplay1 = randi([0 1],1,150000);
% indisplay1 = ones(1,150000);
information1 = 2*indisplay1-1;
%--------起始内容是BTR位 -----------
Ibit_flow = [Iframe_head information1];
% information Iframe_head information Iframe_head information];
%---------- 调制 -------------
len = length(Ibit_flow);
inf_phase = zeros(1,len);
inf_phase(1) = -pi/4;
%-------- BPSK -----------
Tra_baseI = Ibit_flow;
%------- 加入采样频偏 -------
sr = 2.4e3;
offset = 0; % 不加采样频偏
ins_value = 8;
ideal_samplefre = ins_value*sr;
samplefre= ideal_samplefre+offset;
time1= ceil(sr/ideal_samplefre.*(1:length(Tra_baseI)*8));
%----- 生成以8*2.4e3采样频率采样的数据 -------
Isignalsample = Tra_baseI(time1);
%------- 生成有载波调制的数据-----------
fcarrier = 3*sr;
foffset = 30; % Hz 频偏值
ophase = pi/3;
time = (0:length(Isignalsample)-1)/samplefre;
tra_IFsignal = Isignalsample.*cos(2*pi*(fcarrier+foffset).*time+ophase);
power_tra_IFsignal = sum(tra_IFsignal.^2)/len*2;
% 计算信号功率 为什么要乘以2呢?
%%%%%%%%%%%%%%%% %%%%%%%%%%
%%%%%%%%% 信道部分 %%%%%%%%%
%%%%%%%%%%%%%%%%%%%% %%%%%%
for snr = 36
%----经过加性高斯白噪声信道---
% spow=sum(tra_IFsignal.^2)/len; % sum: built in function
% attn=0.5*spow*1/2*10.^(-ebn0/10);
% attn=sqrt(attn); % sqrt: built in function
% inoise = randn(1,length(tra_IFsignal)).*attn;
IFsignal = awgn(tra_IFsignal, snr, 'measured'); %设置载噪比
power_noise = sum((IFsignal-tra_IFsignal).^2)/len;
审核编辑 :李倩
-
调制解调器
+关注
关注
3文章
854浏览量
38854 -
解调仿真
+关注
关注
0文章
2浏览量
6019
原文标题:大学毕业设计一席谈之二十 BPSK相干解调仿真(13)信噪比等效!
文章出处:【微信号:gh_30373fc74387,微信公众号:通信工程师专辑】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论