繼續講解!之前文章里面講過一種等效方式對于是否采用滾降成型都實用!這么神奇?之前在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文章
860瀏覽量
38897 -
解調仿真
+關注
關注
0文章
2瀏覽量
6020
原文標題:大學畢業設計一席談之二十 BPSK相干解調仿真(13)信噪比等效!
文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論