framebpsk.m

来自「Turbo coding toolbox in MATLAB」· M 代码 · 共 31 行

M
31
字号
clear all; clc;
M = 2; % Size of signal constellation
k = log2(M); % Number of bits per symbol
n = 10000; % Number of bits to process
nsamp = 1; % Oversampling rate
EbNo = 0:0.5:2.5;

for i = 1:1:length(EbNo)
%     for f = 1:1:100
        x = randint(n,1); % Random binary data stream
        mapping = [0 1 ];
        xsym = bi2de(reshape(x,k,length(x)/k).','left-msb');
        xsym = mapping(xsym+1);
        y = pskmod(xsym,M);
        ytx = y;
        snr = EbNo(i) + 10*log10(k) - 10*log10(nsamp);
        ynoisy = awgn(ytx,snr,'measured');
        yrx = ynoisy;
        zsym = pskdemod(yrx,M);
        [dummy demapping] = sort(mapping);
        demapping = demapping - 1;
        zsym = demapping(zsym+1);
        z = de2bi(zsym,'left-msb');
        z = reshape(z.',prod(size(z)),1);
        [number_of_errors(i),bit_error_rate] = biterr(x,z);
%     end % End of loop
%        Frame_error_rate(i) = sum(number_of_errors)/(5000*100)
end
number_of_errors/n

⌨️ 快捷键说明

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