Please help!

M

MK28

Guest
Minun täytyy tehdä QPSK modualtion Matlabin, mutta eivät todellakaan tiedä, miten!Voisiko joku auttaa minua hieman?

 
http://cnx.rice.edu/content/m10627/latest/
kuulehan
Last edited by eda_wiz on 28 maaliskuu 2006 16:05, muokattu 1 kertaa yhteensä

 
Yritä tätä

näytteiden = 10000;% riippumatta näytteiden haluat

Z = rand (1, näytteet);
Z (löytää (Z <= 0,25)) =- 1;
Z (löytää (Z> = 0,75)) = 1;
Z (löytää (Z> = 0.25 & Z <0,5)) =- j;
Z (löytää (Z> = 0.5 & Z <0,75)) = j;

 
spaaai kirjoitti:

Yritä tätänäytteiden = 10000;% riippumatta näytteiden haluatZ = rand (1, näytteet);

Z (löytää (Z <= 0,25)) =- 1;

Z (löytää (Z> = 0,75)) = 1;

Z (löytää (Z> = 0.25 & Z <0,5)) =- j;

Z (löytää (Z> = 0.5 & Z <0,75)) = j;
 
Hei!
Kannatan Toinen esimerkki siitä, että olen kirjoittanut befroe.
Se on esimerkki suorittaa ihanteellinen ryhmäpoikkeusasetuksen / SNR käyrä BPSK ja QPSK järjestelmä.
Simulaatio tulos näkyy kaksi eri melkein saada sama käyrä.
Toivottavasti on apua sinulle.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%
% SNR-Pe kuvaaja "antipodal M = 2" ja "orthgonal M = 4" signaalin
% BPSK vs QPSK
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%
selkeä;
CLC;
CLF;
TheStartTime = datestr (nyt)% simulaatio alkamisaika

SNRTail = 8;% SNR x-akselin alku
SNRHead =- 1;% SNR x-akselin Maali
BitLength = 10000;% tietoa BitLength
InputBit = randint (1, BitLength, [0,1]);% esitetyt tiedot (0,1)

%%%%%%%%%%%%%%%%%% (A2)
AntipodalSymbol = zeros (1, BitLength),% I tunnus
% Kartoitus tietoja tunnuksella
ja AntipodalMappingcnt = 1: BitLength
Jos InputBit (AntipodalMappingcnt) == 0
AntipodalSymbol (AntipodalMappingcnt) =- 1;
muuten
AntipodalSymbol (AntipodalMappingcnt) = 1;
loppu
loppu
%%%%%%%%%%%%%%%%%% (A2)
%%%%%%%%%%%%%%%%%% (O4)
Orothogornal4symbolI = zeros (1, BitLength / 2),% I tunnus
Orothogornal4symbolQ = zeros (1, BitLength / 2),% Q tunnus

% Kartoitus tietoja tunnuksella
ja Orothogornal4mappingcnt = 1: BitLength / 2% Henkilötietojen kartoitus laskenta-indeksi
Jos 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;
else Orothogornal4symbolI (Orothogornal4mappingcnt) = 0; Orothogornal4symbolQ (Orothogornal4mappingcnt) =- 1;
loppu
loppu
%%%%%%%%%%%%%%%%%% (O4)ja SS = SNRHead: SNRTail
SNRcnt = SS (-SNRHead 1);

Antipodal2ErrorNum = 0;
Orthogonal4ErrorNum = 0;
% BER = zeros (1, SNRTail-SNRHead 1);
SNR (SNRcnt) = ss;% voimme muuttaa arvoa
N0 = 10 ^ (-SNR (SNRcnt) / 10),% melua Power, SNR = 10 * log (ps/n0), PS = 1

%%%%%%%%%%%%%%%%%%%%%%%% (O2)
n2i = randn (1, BitLength),% keskiarvo = 0, var ^ 2 = 1 Gaussian noise
Antipodal2noise = (1 / 2 * (N0)) ^ (1 / 2) * n2i;% keskiarvo = 0, var ^ 2 = 1 / 2 * N0 Gaussain melu
TxAntipodal2 = AntipodalSymbol Antipodal2noise;% sai signaalin I kanava
%%%%%%%%%%%%%%%%%%%%%%%%% (O2)

%%%%%%%%%%%%%%%%%%%%%%%%% (O4)
n4i = randn (1, BitLength / 2),% keskiarvo = 0, var ^ 2 = 1 I kanava Gaussian melua, melu BitLength = (signaali BitLength) / 2
n4q = randn (1, BitLength / 2),% keskiarvo = 0, var ^ 2 = 1 Q kanava Gaussian melua, melu BitLength = (signaali BitLength) / 2
Orthogonal4noiseI = (1 / 2 * (N0)) ^ (1 / 2) * n4i;% keskiarvo = 0, var ^ 2 = 1 / 2 * N0 Gaussain melu
Orthogonal4noiseQ = (1 / 2 * (N0)) ^ (1 / 2) * n4q;% keskiarvo = 0, var ^ 2 = 1 / 2 * N0 Gaussain melu
TxOrthogonal4I = (2 ^ (1 / 2)) * Orothogornal4symbolI Orthogonal4noiseI;% sai signaalin I kanava
TxOrthogonal4Q = (2 ^ (1 / 2)) * Orothogornal4symbolQ Orthogonal4noiseQ;% sai signaalin Q kanava
TxOrthogonal4 = (TxOrthogonal4I TxOrthogonal4Q * i);% vastaanotettu signaali signaalin tilaa
%%%%%%%%%%%%%%%%%%%%%%%%% (O4)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (A2)
RxAntipodal2 = zeros (1, BitLength);
ja Antipodal2demappingcnt = 1: BitLength
Jos TxAntipodal2 (Antipodal2demappingcnt)> = 0;
RxAntipodal2 (Antipodal2demappingcnt) = 1;
else RxAntipodal2 (Antipodal2demappingcnt) = 0;
loppu
Jos RxAntipodal2 (Antipodal2demappingcnt)-InputBit (Antipodal2demappingcnt) == 0% count virheen numero
Antipodal2ErrorNum = Antipodal2ErrorNum;
else Antipodal2ErrorNum = Antipodal2ErrorNum 1;
loppu
loppu
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (A2)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (O4)
RxOrthogonal4 = zeros (1, BitLength);
% Päätöksen peruste
ja Orthogonal4Demappingcnt = 1: BitLength / 2% demapping countiong-indeksi
Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) = mod (kulma (TxOrthogonal4 (Orthogonal4Demappingcnt)), 2 * pi);
Jos mod (kulma (-1 1 * i), 2 * pi) <= Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) & & Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) <= mod (kulma (-1-1 * i), 2 * pi)
RxOrthogonal4 (2 * Orthogonal4Demappingcnt-1) = 1; RxOrthogonal4 (2 * Orthogonal4Demappingcnt) = 1;
if mod (kulma (1 1 * i), 2 * pi) <= Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) & & Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) <= mod (kulma (-1 1 * i), 2 * pi)
RxOrthogonal4 (2 * Orthogonal4Demappingcnt-1) = 0; RxOrthogonal4 (2 * Orthogonal4Demappingcnt) = 1;
if mod (kulma (-1-1 * i), 2 * pi) <= Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) & & Orthogonal4SymbolAngle (Orthogonal4Demappingcnt) <= mod (kulma (1-1 * i), 2 * pi)
RxOrthogonal4 (2 * Orthogonal4Demappingcnt-1) = 1, RxOrthogonal4 (2 * Orthogonal4Demappingcnt) = 0;
else RxOrthogonal4 (2 * Orthogonal4Demappingcnt-1) = 0; RxOrthogonal4 (2 * Orthogonal4Demappingcnt) = 0;
loppu
loppu
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (O4)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% (A2)
Antipodal2ErrorSum (SNRcnt) = Antipodal2ErrorNum;
Antipodal2BER (SNRcnt) = Antipodal2ErrorSum (SNRcnt) / BitLength;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% (A2)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% (O4)
ja Orthogonal4Errorcnt = 1: BitLength
Jos RxOrthogonal4 (Orthogonal4Errorcnt)-InputBit (Orthogonal4Errorcnt) == 0% count virheen numero
Orthogonal4ErrorNum = Orthogonal4ErrorNum;
else Orthogonal4ErrorNum = Orthogonal4ErrorNum 1;
loppu
loppu
Orthogonal4ErrorSum (SNRcnt) = Orthogonal4ErrorNum;
Orthogonal4BER (SNRcnt) = Orthogonal4ErrorSum (SNRcnt) / BitLength;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% (O4)
loppu
axis ([SNRHead SNRTail 0 10 ^ -5])
semilogy (SNR, Antipodal2BER, '^')
pidä kiinni
semilogy (SNR, Orthogonal4BER "- r * ')
grid on
Lukuviitteet ( 'Antipodal-2 (BPSK)', 'Orthogonal-4 (QPSK)')

TheFinishTime = datestr (nyt)% lopetusaika tämän simulaation

 

Welcome to EDABoard.com

Sponsor

Back
Top