⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 project1_prob1.m

📁 Conherent FSK, MC Simulation
💻 M
字号:

clear all;
close all;
clc;

%% Assume T == 1, a == 1, snr == Eb / N0;

snr = [0.1 : 0.1 : 15]'; 
M = length(snr);
A = [-3/2, -1/2, 1/2, 3/2];
E = power(A, 2);
Eb = sum(E)/4/2;
N0 = Eb ./ (10 .^ (snr./10));

N = 10000; % Do 1000 times simulations

w = 0 + sqrt(N0./2) * randn(1, N);
x = rand(M, N);
y = rand(M, N);
error = zeros(M,1);

for (i = 1 : M)
   for (j = 1 : N)
     if x(i,j) >=0 && x(i,j) < 0.25
           x(i,j) = A(1);
       else if x(i,j) >= 0.25 && x(i,j) < 0.50
             x(i,j) = A(2);
         else if x(i,j) >= 0.50 && x(i,j) < 0.75
              x(i,j) = A(3);
           else if x(i,j) >= 0.75 && x(i,j) < 1.0
                x(i,j) = A(4);
               end 
             end 
           end 
       end    

      y(i,j) = x(i,j) + w(i,j);

       if y(i,j) < -1
           y(i,j) = A(1);
         else if y(i,j) >= -1 && y(i,j) < 0
             y(i,j) = A(2);
           else if y(i,j) >= 0 && y(i,j) < 1 
               y(i,j) = A(3);
             else if y(i,j) >= 1
                  y(i,j) = A(4);
                 end
              end
          end
       end

        if (y(i,j) ~= x(i,j))
          error(i) = error(i) +1;
        end
   end
   ErrProb(i) = error(i) / N;
end

ErrProb_theory = 3/4 * erfc(1/2 * sqrt(1./N0));

figure;
%plot(snr,ErrProb);
%title('The result of Monte Carlo simulation');
plot(snr,ErrProb,'-r*');
hold on;
plot(snr, ErrProb_theory, '-ob');
title('The comparison between the Monte Carlo Simulation result and the theoretical result');
xlabel('Eb/N0 (dB)');
ylabel('Error Probability');
legend('Simulation Result', 'Theoretical Result');




    
   

        
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -