R
Rob87
Guest
Hallo iedereen
Ik heb geprobeerd om een Rayleigh kanaal in Matlab simuleren en hebben struikelde op een moeilijkheid.Oorspronkelijk Ik kreeg een simulatie die de groepsvrijstellingsverordening van een AWGN kanaal in QPSK berekent, en werd gevraagd om het te veranderen naar een Rayleigh fading kanaal.
Het originele programma is als volgt:
-------------------------------------------------- -----------------------------------
duidelijk;
N_loop = 10 ^ 4;
N_sym = 100;
N_bit = 2 * N_sym;
awgn_sigma = sqrt (0.5);
Eb_dB = 5:1:9;
Eb = 10. ^ (Eb_dB/10);
sqrt_Es = sqrt (2 * EB);
BER = nullen (1, lengte (Eb));
genormaliseerde = 1/sqrt (2);
BER1 = nullen (1, lengte (Eb));
voor n = 1: N_loop;
D = floor (2 * rand (1, N_sym)) j * verdieping (2 * rand (1, N_sym));
Tx_data = genormaliseerde * (2 * D-(1 j));
Noise = awgn_sigma * (randn (N_sym, lengte (Eb_dB)) j * randn (N_sym, lengte (Eb_dB)));
Rx_data = transpose (Tx_data) * sqrt_Es Ruis;
Recov_data = 0,5 * (1 j teken (real (Rx_data)) j * teken (imag (Rx_data)));
BER BER = som ((abs (Recov_data-omzetting (D) * ones (1, length (Eb_dB )))).^ 2) / N_bit;end;
BER = BER / N_loop
semilogy (Eb_dB, BER ,'*-');
xlabel ( 'Eb/N0 (dB)');
ylabel ( 'BER');
-------------------------------------------------- -----------------------------------
Het probleem dat ik geconfronteerd wordt, ook al weet ik het kanaal kan worden omschreven als twee Gauss bronnen zoals:
H = awgn_sigma * (randn (N_sym, lengte (Eb_dB)) j * randn (N_sym, lengte (Eb_dB)));
Ik krijg een foutmelding in Matlab me te vertellen dat de innerlijke dimensies matrix moet instemmen.Ik veranderde de functie van H als een 1x1 matrix, maar toen ik in mijn signaal
Rx_data = H * omzetting (Tx_data) * sqrt_Es Ruis;
Ik krijg een BER van 0,5 waarvan ik weet dat het mis.
Als iemand kan help me.Ik weet zeker dat ik heb de theorie van recht, maar ik kan niet lijkt toe te passen op mijn simulatie.
Thanks in advance,
Robert
Ik heb geprobeerd om een Rayleigh kanaal in Matlab simuleren en hebben struikelde op een moeilijkheid.Oorspronkelijk Ik kreeg een simulatie die de groepsvrijstellingsverordening van een AWGN kanaal in QPSK berekent, en werd gevraagd om het te veranderen naar een Rayleigh fading kanaal.
Het originele programma is als volgt:
-------------------------------------------------- -----------------------------------
duidelijk;
N_loop = 10 ^ 4;
N_sym = 100;
N_bit = 2 * N_sym;
awgn_sigma = sqrt (0.5);
Eb_dB = 5:1:9;
Eb = 10. ^ (Eb_dB/10);
sqrt_Es = sqrt (2 * EB);
BER = nullen (1, lengte (Eb));
genormaliseerde = 1/sqrt (2);
BER1 = nullen (1, lengte (Eb));
voor n = 1: N_loop;
D = floor (2 * rand (1, N_sym)) j * verdieping (2 * rand (1, N_sym));
Tx_data = genormaliseerde * (2 * D-(1 j));
Noise = awgn_sigma * (randn (N_sym, lengte (Eb_dB)) j * randn (N_sym, lengte (Eb_dB)));
Rx_data = transpose (Tx_data) * sqrt_Es Ruis;
Recov_data = 0,5 * (1 j teken (real (Rx_data)) j * teken (imag (Rx_data)));
BER BER = som ((abs (Recov_data-omzetting (D) * ones (1, length (Eb_dB )))).^ 2) / N_bit;end;
BER = BER / N_loop
semilogy (Eb_dB, BER ,'*-');
xlabel ( 'Eb/N0 (dB)');
ylabel ( 'BER');
-------------------------------------------------- -----------------------------------
Het probleem dat ik geconfronteerd wordt, ook al weet ik het kanaal kan worden omschreven als twee Gauss bronnen zoals:
H = awgn_sigma * (randn (N_sym, lengte (Eb_dB)) j * randn (N_sym, lengte (Eb_dB)));
Ik krijg een foutmelding in Matlab me te vertellen dat de innerlijke dimensies matrix moet instemmen.Ik veranderde de functie van H als een 1x1 matrix, maar toen ik in mijn signaal
Rx_data = H * omzetting (Tx_data) * sqrt_Es Ruis;
Ik krijg een BER van 0,5 waarvan ik weet dat het mis.
Als iemand kan help me.Ik weet zeker dat ik heb de theorie van recht, maar ik kan niet lijkt toe te passen op mijn simulatie.
Thanks in advance,
Robert