資源簡介
關于最大似然(ML)準則和最大后驗概率(MAP)的MATLAB代碼
代碼片段和文件信息
clear
clc
%輸入參數變量的值
p?=?0.1;????%序列{+1-1}中+1出現的概率為p,-1出現的概率為1-p
signal_power?=?1;???%信號功率為1
noise_power?=?0.0;???%噪聲功率為0
noise_power_times?=?50;?%信噪比的次數
test_times?=?100;??%重復實驗的次數
length?=?1000;??%序列的長度
SNR_dB?=?zeros(noise_power_times1);??%保留每次實驗的SNR
BER_mean_MAP?=?zeros(noise_power_times1);??%保留每次MAP實驗BER的均值
BER_mean_ML?=?zeros(noise_power_times1);??%保留每次ML實驗BER的均值
BER_all_MAP?=?zeros(test_times1);??%保留每次MAP實驗的BER
BER_all_ML?=?zeros(test_times1);??%保留每次ML實驗的BER
%運算過程
for?i?=?1:?noise_power_times????%信噪比的個數
????noise_power?=?noise_power+i/10;?%噪聲功率N
????noise_mean?=?0;?%高斯白噪聲的均值
????noise_var?=?noise_power*0.5;????%高斯白噪聲的方差????
????for?j?=?1:test_times????%進行重復實驗
????????%信號序列
????????signal?=?randsrc(1length[-1?1;1-p?p]);???%randsrc()產生-1和1的貝努利隨機序列,概率均為?0.5
????????%噪聲序列
????????noise?=?normrnd(noise_meannoise_var[1length]);???%normrnd()產生N(noise_meannoise_var)的高斯白噪聲
????????%加噪聲的信號序列
????????mixed_signal?=?signal?+?noise;
????????judged_signal_MAP?=?zeros(size(signal));???%zeros()初始化序列的值為0,size()獲得矩陣的行數和列數
????????judged_signal_ML?=?zeros(size(signal));???%zeros()初始化序列的值為0,size()獲得矩陣的行數和列數
????????for?k?=?1:length
????????????%最佳MAP判決的信號序列
????????????i
評論
共有 條評論