16-QAM için modülasyon ve demodülasyon yapmaya çalışıyorum ve daha sonra teorik ve simüle BER'yi karşılaştırmaya çalışıyorum. Grafikte simulation
numaralı satırın değil değil. 16-QAM modülasyonu ve demodülasyonu - grafikte bir satır eksik
Kodumda neyin yanlış olduğunu anlayamıyorum. Birisi bana yardım edebilir mi? Burada
kodudur: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')
Maalesef bulunduğunuz sorunla daha spesifik olabilir? Kodunuzu çalıştırabilirim ve orada bir rakam var. Aslında bir sorun göremiyorum! –
Bunu görebiliyorum: http://img401.imageshack.us/img401/5017/so1w.png –
Döngünün her yinelemesinde "err" hata sayısının üzerine yazıyorsunuz. Bunu düzeltmek doğru olmasa bile, err, demodüle edilmiş sinyalin iletilen ile uyuşmadığı bir sayıdır, teorik eğri ise olasılık anlamındadır. – rajb245