Tôi đang cố gắng điều chế và giải điều chế cho 16-QAM và sau đó cố gắng so sánh BER lý thuyết và mô phỏng.Điều chế và giải điều chế 16-QAM - thiếu một dòng trong biểu đồ
Tôi là không nhận simulation
-trường trong biểu đồ.
Tôi không hiểu mã của mình có gì sai. Ai có thể giúp tôi?
đây là mã:
M=16;
SNR_db = [0 2 4 6 8 10 12];
x = randi([0,M-1],1000,1);
hmod = modem.qammod(16);
hdemod = modem.qamdemod(hmod,'SymbolOrder', 'Gray');
tx = zeros(1,1000);
for n=1:1000
tx(n) = modulate(hmod, x(n));
end
rx = zeros(1,1000);
rx_demod = zeros(1,1000);
for j = 1:7
err = zeros(1,7);
err_t = zeros(1,7);
for n = 1:1000
rx(n) = awgn(tx(n), SNR_db(j));
rx_demod(n) = demodulate(hdemod, rx(n));
if(rx_demod(n)~=x(n))
err(j) = err(j)+1;
end
end
% err_t = err_t + err;
end
theoryBer = 3/2*erfc(sqrt(0.1*(10.^(SNR_db/10))));
figure
semilogy(SNR_db,theoryBer,'-',SNR_db, err, '^-');
grid on
legend('theory', 'simulation');
xlabel('Es/No, dB')
ylabel('Symbol Error Rate')
title('Symbol error probability curve for 16-QAM modulation')
Xin lỗi, bạn có thể cụ thể hơn với vấn đề của bạn? Tôi có thể thực thi mã của bạn và có một con số ở đó. Tôi không thể thấy bất kỳ vấn đề thực sự! –
Tôi có thể thấy điều này: http://img401.imageshack.us/img401/5017/so1w.png –
Bạn đang ghi đè số lỗi "err" trong mỗi lần lặp của vòng lặp. Ngay cả khi bạn sửa chữa nó không hoàn toàn đúng, vì err là một số mà tín hiệu giải điều chế không khớp với tín hiệu được truyền, trong khi đường cong lý thuyết là về xác suất. – rajb245