Please help!

M

MK28

Guest
Man reikia padaryti QPSK modualtion MATLAB, bet tikrai nežino, kaip!Gal kas padės man šiek tiek?

 
http://cnx.rice.edu/content/m10627/latest/
ieškokite čia
Paskutinį kartą redagavo eda_wiz m. kovas 28, 2006 16:05, edited 1 kartą

 
Tiesiog pabandykite

mėginių = 10000;% nepriklausomai nuo mėginių skaičius, kurį norite

Z = rand (1, mėginius);
Z (Rasti (Z <= 0,25)) =- 1;
Z (Rasti (P> = 0.75)) = 1;
Z (Rasti (P> = 0.25 & Z <0,5)) =- j;
Z (Rasti (P> = 0.5 & P <0,75)) = j;

 
spaaai rašė:

Tiesiog pabandykitemėginių = 10000;% nepriklausomai nuo mėginių skaičius, kurį noriteZ = rand (1, mėginius);

Z (Rasti (Z <= 0,25)) =- 1;

Z (Rasti (P> = 0.75)) = 1;

Z (Rasti (P> = 0.25 & Z <0,5)) =- j;

Z (Rasti (P> = 0.5 & P <0,75)) = j;
 
Labas!
Aš palaikau kitas pavyzdys, kad aš parašė befroe.
Tai pavyzdys skaičiuoti idealus BIR / SNR kreivė BPSK ir QPSK sistema.
Modeliavimo rezultatai rodo du skirtingus beveik gauti pačią kreivė.
Tikiuosi, kad yra naudinga jums.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%
% SNR-Pe Grafas "Antypodowy M = 2" ir "orthgonal M = 4" signalas
% BPSK vs QPSK
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%
aiškus;
CLC;
CLF;
TheStartTime = datestr (now)% imitavimas pradžios laikas

SNRTail = 8;% SNR x ašies pradžia
SNRHead =- 1;% SNR x ašies apdaila
BitLength = 10000;% Information BitLength
InputBit = randint (1, BitLength, [0,1]);% Information set (0,1)

%%%%%%%%%%%%%%%%%% (A2)
AntipodalSymbol = nuliai (1 BitLength);% I simbolis
% Kartografavimo informaciją simbolis
už AntipodalMappingcnt = 1: BitLength
jei InputBit (AntipodalMappingcnt) == 0
AntipodalSymbol (AntipodalMappingcnt) =- 1;
kitas
AntipodalSymbol (AntipodalMappingcnt) = 1;
pabaiga
pabaiga
%%%%%%%%%%%%%%%%%% (A2)
%%%%%%%%%%%%%%%%%% (O4)
Orothogornal4symbolI = nuliai (1 BitLength / 2);% I simbolis
Orothogornal4symbolQ = nuliai (1 BitLength / 2);% Q simbolis

% Kartografavimo informaciją simbolis
už Orothogornal4mappingcnt = 1: BitLength / 2% infromation kartografavimo skaičiavimas rodyklės
jei InputBit (2 * Orothogornal4mappingcnt-1) == 1 & & InputBit (2 * Orothogornal4mappingcnt) == 1
Orothogornal4symbolI (Orothogornal4mappingcnt) =- 1;
Orothogornal4symbolQ (Orothogornal4mappingcnt) = 0;
elseif InputBit (2 * Orothogornal4mappingcnt-1) == 0 & & InputBit (2 * Orothogornal4mappingcnt) == 1
Orothogornal4symbolI (Orothogornal4mappingcnt) = 0;
Orothogornal4symbolQ (Orothogornal4mappingcnt) = 1;
elseif InputBit (2 * Orothogornal4mappingcnt-1) == 0 & & InputBit (2 * Orothogornal4mappingcnt) == 0
Orothogornal4symbolI (Orothogornal4mappingcnt) = 1;
Orothogornal4symbolQ (Orothogornal4mappingcnt) = 0;
kitas Orothogornal4symbolI (Orothogornal4mappingcnt) = 0; Orothogornal4symbolQ (Orothogornal4mappingcnt) =- 1;
pabaiga
pabaiga
%%%%%%%%%%%%%%%%%% (O4)SS = SNRHead: SNRTail
SNRcnt = ss (-SNRHead 1);

Antipodal2ErrorNum = 0;
Orthogonal4ErrorNum = 0;
% BER = nuliai (1 SNRTail-SNRHead 1);
SNR (SNRcnt) = SS;% galime pakeisti vertė
N0 = 10 ^ (-SNR (SNRcnt) / 10);% triukšmo galia, SNR = 10 * log (ps/n0) PS = 1

%%%%%%%%%%%%%%%%%%%%%%%% (O2)
n2i = randn (1, BitLength),%, vidurkis = 0, var ^ 2 = 1 Gauso triukšmas
Antipodal2noise = (1 / 2 * (N0)) ^ (1 / 2) * n2i;% vidurkis = 0, var ^ 2 = 1 / 2 * N0 Gaussain triukšmas
TxAntipodal2 = AntipodalSymbol Antipodal2noise;% gautas signalas aš kanalas
%%%%%%%%%%%%%%%%%%%%%%%%% (O2)

%%%%%%%%%%%%%%%%%%%%%%%%% (O4)
n4i = randn (1, BitLength / 2),%, vidurkis = 0, var ^ 2 = 1 I kanalo Gauso triukšmas, triukšmas BitLength = (signalas BitLength) / 2
n4q = randn (1, BitLength / 2),%, vidurkis = 0, var ^ 2 = 1 Q kanalas Gauso triukšmas, triukšmas BitLength = (signalas BitLength) / 2
Orthogonal4noiseI = (1 / 2 * (N0)) ^ (1 / 2) * n4i;% vidurkis = 0, var ^ 2 = 1 / 2 * N0 Gaussain triukšmas
Orthogonal4noiseQ = (1 / 2 * (N0)) ^ (1 / 2) * n4q;% vidurkis = 0, var ^ 2 = 1 / 2 * N0 Gaussain triukšmas
TxOrthogonal4I = (2 ^ (1 / 2)) * Orothogornal4symbolI Orthogonal4noiseI;% gautas signalas aš kanalas
TxOrthogonal4Q = (2 ^ (1 / 2)) * Orothogornal4symbolQ Orthogonal4noiseQ;% gautas signalas Q kanalas
TxOrthogonal4 = (TxOrthogonal4I TxOrthogonal4Q * i);% gautas signalas signalo erdvė
%%%%%%%%%%%%%%%%%%%%%%%%% (O4)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (A2)
RxAntipodal2 = nuliai (1 BitLength);
už Antipodal2demappingcnt = 1: BitLength
jei TxAntipodal2 (Antipodal2demappingcnt)> = 0;
RxAntipodal2 (Antipodal2demappingcnt) = 1;
kitas RxAntipodal2 (Antipodal2demappingcnt) = 0;
pabaiga
jei RxAntipodal2 (Antipodal2demappingcnt)-InputBit (Antipodal2demappingcnt) == 0% count klaidų skaičių
Antipodal2ErrorNum = Antipodal2ErrorNum;
kitas Antipodal2ErrorNum = Antipodal2ErrorNum 1;
pabaiga
pabaiga
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (A2)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (O4)
RxOrthogonal4 = nuliai (1 BitLength);
% Sprendimo kriterijus
už Orthogonal4Demappingcnt = 1: BitLength / 2% demapping countiong rodyklės
Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) = MOD (kampas (TxOrthogonal4 (Orthogonal4Demappingcnt)), 2 * pi);
jei mod (kampas (-1 1 * I), 2 * pi) <= Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) & & Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) <= MOD (kampas (-1-1 * I), 2 * pi)
RxOrthogonal4 (2 * Orthogonal4Demappingcnt-1) = 1; RxOrthogonal4 (2 * Orthogonal4Demappingcnt) = 1;
elseif mod (kampas (1 1 * I), 2 * pi) <= Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) & & Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) <= MOD (kampas (-1 1 * I), 2 * pi)
RxOrthogonal4 (2 * Orthogonal4Demappingcnt-1) = 0; RxOrthogonal4 (2 * Orthogonal4Demappingcnt) = 1;
elseif mod (kampas (-1-1 * i), 2 * pi) <= Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) & & Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) <= MOD (kampas (1-1 * i), 2 * pi)
RxOrthogonal4 (2 * Orthogonal4Demappingcnt-1) = 1; RxOrthogonal4 (2 * Orthogonal4Demappingcnt) = 0;
kitas RxOrthogonal4 (2 * Orthogonal4Demappingcnt-1) = 0; RxOrthogonal4 (2 * Orthogonal4Demappingcnt) = 0;
pabaiga
pabaiga
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (O4)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% (A2)
Antipodal2ErrorSum (SNRcnt) = Antipodal2ErrorNum;
Antipodal2BER (SNRcnt) = Antipodal2ErrorSum (SNRcnt) / BitLength;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% (A2)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% (O4)
už Orthogonal4Errorcnt = 1: BitLength
jei RxOrthogonal4 (Orthogonal4Errorcnt)-InputBit (Orthogonal4Errorcnt) == 0% count klaidų skaičių
Orthogonal4ErrorNum = Orthogonal4ErrorNum;
kitas Orthogonal4ErrorNum = Orthogonal4ErrorNum 1;
pabaiga
pabaiga
Orthogonal4ErrorSum (SNRcnt) = Orthogonal4ErrorNum;
Orthogonal4BER (SNRcnt) = Orthogonal4ErrorSum (SNRcnt) / BitLength;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% (O4)
pabaiga
ašis ([SNRHead SNRTail 0 10 ^ -5])
semilogy (SNR, Antipodal2BER ": ^)
laikykis
semilogy (SNR, Orthogonal4BER, "- R *)
tinklelis
legenda (Antypodowy-2 (BPSK) "," Orthogonal-4 (QPSK) ")

TheFinishTime = datestr (now)% finišo kartą šio modeliavimas

 

Welcome to EDABoard.com

Sponsor

Back
Top