क्या किसी को पता है कि इस तथ्य पर एक सरल व्याख्या है कि एक द्विघात चरण-शिफ्ट कुंजीयन (QPSK) प्रणाली की सैद्धांतिक बिट-त्रुटि दर (BER) नकली वक्रों से लगभग 1 डीबी स्थानांतरित है?
क्या किसी को पता है कि इस तथ्य पर एक सरल व्याख्या है कि एक द्विघात चरण-शिफ्ट कुंजीयन (QPSK) प्रणाली की सैद्धांतिक बिट-त्रुटि दर (BER) नकली वक्रों से लगभग 1 डीबी स्थानांतरित है?
जवाबों:
सरल व्याख्या यह है कि आपके सिमुलेशन में कोई त्रुटि है। यहाँ एक है कि MATLAB में काम करता है:
% number of symbols in simulation
Nsyms = 1e6;
% energy per symbol
Es = 1;
% energy per bit (2 bits/symbol for QPSK)
Eb = Es / 2;
% Eb/No values to simulate at, in dB
EbNo_dB = linspace(0, 10, 11);
% Eb/No values in linear scale
EbNo_lin = 10.^(EbNo_dB / 10);
% keep track of bit errors for each Eb/No point
bit_err = zeros(size(EbNo_lin));
for i=1:length(EbNo_lin)
% generate source symbols
syms = (1 - 2 * (randn(Nsyms,1) > 0)) + j * (1 - 2 * (randn(Nsyms, 1) > 0));
% add noise
syms_noisy = sqrt(Es/2) * syms + sqrt(Eb/(2*EbNo_lin(i))) * (randn(size(syms)) + j * randn(size(syms)));
% recover symbols from each component (real and imaginary)
syms_rec_r = sign(real(syms_noisy));
syms_rec_i = sign(imag(syms_noisy));
% count bit errors
bit_err(i) = sum((syms_rec_r ~= real(syms)) + (syms_rec_i ~= imag(syms)));
end
% convert to bit error rate
bit_err = bit_err / (2 * Nsyms);
% calculate theoretical bit error rate, functionally equivalent to:
% bit_err_theo = qfunc(sqrt(2*EbNo_lin));
bit_err_theo = 0.5*erfc(sqrt(2*EbNo_lin)/sqrt(2));
figure;
semilogy(EbNo_dB, bit_err, 'bx', EbNo_dB, bit_err_theo, 'r', 'MarkerSize', 10, 'LineWidth', 2);
xlabel('Eb/No (dB)');
ylabel('Bit error rate');
title('QPSK bit error rate');
legend('Simulation','Theory');
grid on;
ध्यान दें कि BPSK / QPSK मॉडुलन के लिए बिट त्रुटि दर के लिए सैद्धांतिक अभिव्यक्ति है:
keeping in mind that is the energy per information bit. The somewhat subtle distinction between and , the energy per symbol, is something that often trips up people new to the subject. This difference also explains why QPSK and BPSK have the same bit error rate when expressed as a function of ; you don't get any bit-error performance benefit by moving to QPSK, although you can achieve a given bit rate with less occupied bandwidth.