E
eran135
Guest
Аз не знам защо преписката не е била приложена.
Сложих код /
Благодаря отново!
програмата:
ясни;
fcarr = 5e3;% честота Carrier (Hz)
N = 8;% Брой на бита данни (малко лихвен процент)
FS = 20 * 1e3;% честота за вземане на проби
Fn = FS / 2;% Nyquist честота
Ц. = 1/fs;% за вземане на проби време = 1/fs
T = 1 / N;% Bit време
randn ( "държавна", 0);% Поддържа PRBS от промяна на повторенията
TD = [0: TS: (N * T)-Ц.] ';% Час вектор (данни) (транспониране)
%================================================= ==================
% Излъчвателя.
%================================================= ==================
данни = знак (randn (N, 1)) '% транспонират
Data1 = такива (T / TS, 1) * данни;
data2 = Data1 (
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Усмивка" border="0" />
;
% езика входни данни в бита команда прозорец
data_2 = data2 ';% транспонират
data_2 = data_2> 0;
Transmitted_data_bits = data_2 (1: (FS) / N: край)
Сериен% до паралела (променлив)
Tiq = [0: Цв * 2
<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Тъжен" border="0" />
N * T)-Ц.] ';% Време за вектор и аз Q символи (транспониране)
BS1 = данни (1:2: дължина (данни));% нечетен
= такива символи (T / TS, 1) * BS1;
Isymbols = символи (
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Усмивка" border="0" />
;% I_waveform
bs2 = данни (2:2: дължина (данни));% дори
symbols1 = такива (T / TS, 1) * bs2;
Qsymbols = symbols1 (
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Усмивка" border="0" />
;% Q_waveform
% генерира превозвач вълни
косинус% и задължително вълна
% 2 пи ФК т е писано по-долу
twopi_fc_t = (1: FS / 2) * 2 * пи * fcarr / FS;
а = 1;
Фи = 45% * (pi/180)
Фи = 0;% фаза грешка
cs_t = A * Cos (twopi_fc_t PHI);
sn_t = A * грях (twopi_fc_t PHI);
cs_t = cs_t ';% транспонират
sn_t = sn_t ';% транспонират
SI = cs_t .* Isymbols;% умножете с косинус аз битстрийм
м = sn_t .* Qsymbols;% умножете Q битстрийм с сине
sumiq = Si м;% мощност на предавателя
sumiq =. 7 * sumiq;% намаляване на печалба да запази производството на / - един
%================================================= ============
Шум%
%================================================= ============
шум = randn (размер (sumiq));
SNR = 10%, залегнали в db SNR
константа = STD (sumiq) / (STD (шум) * 10 ^ (SNR/20));
sumiq = sumiq * постоянен шум;
noise1 = шум * константа;
%================================================= ============
Приемник% (балансирано модулатори и ниско филтри проход)
%================================================= ============
sig_rx1 = sumiq .* cs_t;% косинус
sig_rx1 =. 707 .* sig_rx1;% да продукция по 1Vp-р
% прост филтър преминават ниско
RC1 =. 01989316;% времеконстанта
HT1 = (1/rc1) .* EXP (-tiq/rc1);% импулс отговор
ycfo1 = филтър (sig_rx1, 1, HT1) / FS;
Bit_rate = N
IFilterfreg_3dB = 1 / (2 * PI * RC1)sig_rx = sumiq .* sn_t;% сине
sig_rx =. 707 .* sig_rx;% да продукция по 1Vp-р
% прост филтър преминават ниско
RC =. 01989316;% времеконстанта -
HT = (1/rc) .* EXP (-tiq/rc);% импулс отговор
ycfo = филтър (sig_rx, 1, HT) / FS;
Bit_rate = N
QFilterfreg_3dB = 1 / (2 * PI * RC)
%================================================= ========
Аз% корелация COMPARATOR приемник [ADC] (след ниско честотен филтър)
%================================================= ========
PT1 = 1.7e-8;% равнище, където се определя праг за сравнение устройството води
H = 5;% (волта)
L = 0;% (волта)
LEN = дължина (ycfo);
за II = 1: Len;
ако ycfo (II)> = PT1;% корелира продукция (ycfo) по-горе ще PT1 определяне на праг
pv1i (II) = H;% I импулс напрежение
друг;
pv1i (II) = L;
цел;
цел;
po1i = pv1i;% импулс се = импулс напрежение%================================================= ========
Q% корелация ПРИЕМНИК COMPARATOR [ADC] (след ниско честотен филтър)
%================================================= ========
PT2 = 1.7e-8;% равнище, където се определя праг за сравнение устройството води
H = 5;% (волта)
L = 0;% (волта)
LEN = дължина (ycfo1);
за II = 1: Len;
ако ycfo1 (II)> = PT2;% корелира продукция (ycfo1) по-горе ще PT2 определяне на праг
pv2q (II) = H;% Р импулс напрежение
друг;
pv2q (II) = L;
цел;
цел;
po1q = pv2q;% импулс се = импулс напрежениеbit1 = знак (po1q);% 0 и 1
bit2 = знак (po1i);% 0 и 1
bit3 = bit1> 0;% 0 и 1
bit4 = bit2> 0;% 0 и 1
bitout = [bit3];
bitout1 = [bit4];
%================================================= =========================
% Успоредно с сериен битстрийм (използва Interleaving и наниз (присъединяването))
%================================================= =========================
bitout2 = [bitout];
х = 1128;% х = FS / N;% Това е начин да се cluge програма, но х се изисква да направи паралел
% до сериен работа конвертор, ако една променя основни параметри като N, FS и др
% X = N * (bit3 # 1 или 0 в първата малко време)-FS: X = (8 * 2641) -20000 = 1128
bitout2 = bitout2 (1: (FS X) / N: в края);
bitout2 = [bitout2];
bitout3 = [bitout1];
bitout3 = bitout3 (1: (FS X) / N: в края);
bitout3 = [bitout3];
bitfinalout = [bitout2; bitout3];
bitfinalout = bitfinalout (1: в края);
% езика получените изходни данни бита команда в прозореца
Received_data_bits = bitfinalout
Получени% изходни данни
data1a = такива (T / TS, 1) * bitfinalout;
bitfinal1 = data1a (
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Усмивка" border="0" />
;
bitfinal1 = bitfinal1-средна (bitfinal1);
bitfinal1 = 2 * bitfinal1;% се до / - 1
%================================================= ====================
Парцели%
%================================================= =====================
цифра (1)
второстепенна сюжетна линия (3,2,1)
парцел (TD, data2)
ос ([0 1 -2 2]);
мрежа за
xlabel ( "Време")
ylabel ( 'амплитуда ")
заглавие ( "изходни данни")
второстепенна сюжетна линия (3,2,3)
Парцел (Tiq, Isymbols)
ос ([0 1 -2 2]);
мрежа за
xlabel ( "Време")
ylabel ( 'амплитуда ")
заглавие ( "Аз Channel (един бит / символ (фаза)) Data")
второстепенна сюжетна линия (3,2,5)
Парцел (Tiq, Qsymbols)
ос ([0 1 -2 2]);
мрежа за
xlabel ( "Време")
ylabel ( 'амплитуда ")
заглавие ( "Q Channel (един бит / символ (фаза)) Data")
второстепенна сюжетна линия (3,2,2)
Парцел (Tiq, SI)
ос ([.498 .502 -2 2]);
мрежа за
xlabel ( "Време")
ylabel ( 'амплитуда ")
заглавие ( "Аз Channel Modulated Waveform")
второстепенна сюжетна линия (3,2,4)
Парцел (Tiq, м)
ос ([.498 .502 -2 2]);
мрежа за
xlabel ( "Време")
ylabel ( 'амплитуда ")
заглавие ( "Q Channel Modulated Waveform")
второстепенна сюжетна линия (3,2,6)
Парцел (Tiq, sumiq)
ос ([.498 .502 -2 2]);
мрежа за
xlabel ( "Време")
ylabel ( 'амплитуда ")
заглавие ( "QPSK Output Waveform")%================================================= =======================
Обърнете% FFT на модулирани превозвач
%================================================= =======================
Y = sumiq;
NFFY = 2. ^ (Достигам пределна точка (Log (дължина (Y)) / Log (2)));
FFTY = FFT (Y, NFFY);% тампон с нули
NumUniquePts = достигам пределна точка ((NFFY 1) / 2);
FFTY = FFTY (1: NumUniquePts);
My = ABS (FFTY);
My = МОИТЕ * 2;
МОЯТ (1) = МОЯТ (1) / 2;
МОЯТ (дължина (MY)) = МОЯТ (дължина (MY)) / 2;
My = МОИТЕ / дължина (Y);
f1 = (0: NumUniquePts-1) * 2 * Fn / NFFY;
%================================================= ========================
% Домейн Парцел честота
%================================================= ========================
фигура (2)
второстепенна сюжетна линия (3,1,1); парцел (F1, MY); xlabel (''); ylabel ( 'амплитуда');
ос ([4500 5500 -. 5 1]);% увеличение / изход
заглавие ( "парцели честотна област");
мрежа за
второстепенна сюжетна линия (3,1,2); парцел (F1, 20 * log10 (ABS (MY). ^ 2)); xlabel ( 'Честота (Hz)'); ylabel ( 'ПБ');
ос ([4000 6000 -80 10]);% увеличение / изход
мрежа за
заглавие ( "Modulated превозвач QPSK")цифра (3)
второстепенна сюжетна линия (3,2,1);
парцел (TD, bitfinal1)
заглавие ( "Получени изходни данни");
мрежа на;
ос ([0 1 -2 2]);
второстепенна сюжетна линия (3,2,3);
Парцел (Tiq, ycfo1);
заглавие ( "Аз Филтрирано Channel Data");
мрежа на;
второстепенна сюжетна линия (3,2,5);
Парцел (Tiq, ycfo);
заглавие ( "Филтрирано В Channel данни ');
мрежа на;
второстепенна сюжетна линия (3,2,2);
Парцел (Tiq, sig_rx1);
мрежа на;
ос ([0 1 -1 1]);% увеличение / изход
заглавие ( "Нефилтрирана аз Channel Output ');второстепенна сюжетна линия (3,2,4);
Парцел (Tiq, sig_rx);
мрежа на;
ос ([0 1 -1 1]);% увеличение / изход
заглавие ( "Нефилтрирана Q Channel Output ');
phasevl = atan2 (ycfo1, ycfo);% фази на предавателя продукция
отклонение% фаза --- (-2,355 радиани) =- 135 градуса (-1-1)
отклонение% фаза --- (0,785 радиани) = 45 градуса (1 1)% 1)
отклонение% фаза --- (-0,785 радиани) =- 45 градуса (-1 1)
отклонение% фаза --- (2,355 радиани) = 135 градуса (1-1)
второстепенна сюжетна линия (3,2,6);
Парцел (Tiq, phasevl);
мрежа на;
заглавие ( "отклонение Output фаза (радиани) нива")
xlabel ( "Време")
ylabel ( 'Radians ")
цифра (4);
второстепенна сюжетна линия (4,2,1);
Парцел (Tiq, noise1);% парцел пъти постоянен шум
мрежа на;
заглавие ( "Шум изход")
xlabel ( "Време")
ylabel ( "напрежение")
второстепенна сюжетна линия (4,2,3)
Парцел (Tiq, po1i);
ос ([0 1 -1 6]);
мрежа на;
заглавие ( "Аз канал ADC изход")
xlabel ( "Време")
ylabel ( "напрежение")
второстепенна сюжетна линия (4,2,5)
Парцел (Tiq, po1q);
ос ([0 1 -1 6]);
мрежа на;
заглавие ( "Q канал ADC изход")
xlabel ( "Време")
ylabel ( "напрежение")
цифра (5);% Тези стойности са получени от програмата обсъждат в даден референтен с
% 500000 символи на всеки план.
заблуждават = [.2921 .2450 .1970 .1511 .1099 .0739 .0457 .0248 .0121 .0047 .0017 3.6e-4 7.8e-5];
SNR = 10. ^ ([0:0.1:12] ./10);
Pbsym = ERFC (.707 * SQRT (SNR));% symbolBER (теоретико-QPSK)
Pbbit ERFC = 0,5 * (SQRT (SNR));% bitBER (теоретико-BPSK)
semilogy ([0:12], заблуждават ,'*',[ 0:0.1:12], Pbsym ,'-',[ 0:0.1:12], Pbbit ,'--');% парцел
мрежа на; xlabel ( "SNR (DB) '); ylabel (' РГО ');
Симулация заглавие ( "на символ и РГО малко за QPSK и BPSK ');
легенда ( "QPSK Симулация на ',' QPSKsymbol Теоретична ',' BPSKbit Теоретична ');
Сложих код /
Благодаря отново!
програмата:
ясни;
fcarr = 5e3;% честота Carrier (Hz)
N = 8;% Брой на бита данни (малко лихвен процент)
FS = 20 * 1e3;% честота за вземане на проби
Fn = FS / 2;% Nyquist честота
Ц. = 1/fs;% за вземане на проби време = 1/fs
T = 1 / N;% Bit време
randn ( "държавна", 0);% Поддържа PRBS от промяна на повторенията
TD = [0: TS: (N * T)-Ц.] ';% Час вектор (данни) (транспониране)
%================================================= ==================
% Излъчвателя.
%================================================= ==================
данни = знак (randn (N, 1)) '% транспонират
Data1 = такива (T / TS, 1) * данни;
data2 = Data1 (
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Усмивка" border="0" />
;
% езика входни данни в бита команда прозорец
data_2 = data2 ';% транспонират
data_2 = data_2> 0;
Transmitted_data_bits = data_2 (1: (FS) / N: край)
Сериен% до паралела (променлив)
Tiq = [0: Цв * 2
<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Тъжен" border="0" />
N * T)-Ц.] ';% Време за вектор и аз Q символи (транспониране)
BS1 = данни (1:2: дължина (данни));% нечетен
= такива символи (T / TS, 1) * BS1;
Isymbols = символи (
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Усмивка" border="0" />
;% I_waveform
bs2 = данни (2:2: дължина (данни));% дори
symbols1 = такива (T / TS, 1) * bs2;
Qsymbols = symbols1 (
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Усмивка" border="0" />
;% Q_waveform
% генерира превозвач вълни
косинус% и задължително вълна
% 2 пи ФК т е писано по-долу
twopi_fc_t = (1: FS / 2) * 2 * пи * fcarr / FS;
а = 1;
Фи = 45% * (pi/180)
Фи = 0;% фаза грешка
cs_t = A * Cos (twopi_fc_t PHI);
sn_t = A * грях (twopi_fc_t PHI);
cs_t = cs_t ';% транспонират
sn_t = sn_t ';% транспонират
SI = cs_t .* Isymbols;% умножете с косинус аз битстрийм
м = sn_t .* Qsymbols;% умножете Q битстрийм с сине
sumiq = Si м;% мощност на предавателя
sumiq =. 7 * sumiq;% намаляване на печалба да запази производството на / - един
%================================================= ============
Шум%
%================================================= ============
шум = randn (размер (sumiq));
SNR = 10%, залегнали в db SNR
константа = STD (sumiq) / (STD (шум) * 10 ^ (SNR/20));
sumiq = sumiq * постоянен шум;
noise1 = шум * константа;
%================================================= ============
Приемник% (балансирано модулатори и ниско филтри проход)
%================================================= ============
sig_rx1 = sumiq .* cs_t;% косинус
sig_rx1 =. 707 .* sig_rx1;% да продукция по 1Vp-р
% прост филтър преминават ниско
RC1 =. 01989316;% времеконстанта
HT1 = (1/rc1) .* EXP (-tiq/rc1);% импулс отговор
ycfo1 = филтър (sig_rx1, 1, HT1) / FS;
Bit_rate = N
IFilterfreg_3dB = 1 / (2 * PI * RC1)sig_rx = sumiq .* sn_t;% сине
sig_rx =. 707 .* sig_rx;% да продукция по 1Vp-р
% прост филтър преминават ниско
RC =. 01989316;% времеконстанта -
HT = (1/rc) .* EXP (-tiq/rc);% импулс отговор
ycfo = филтър (sig_rx, 1, HT) / FS;
Bit_rate = N
QFilterfreg_3dB = 1 / (2 * PI * RC)
%================================================= ========
Аз% корелация COMPARATOR приемник [ADC] (след ниско честотен филтър)
%================================================= ========
PT1 = 1.7e-8;% равнище, където се определя праг за сравнение устройството води
H = 5;% (волта)
L = 0;% (волта)
LEN = дължина (ycfo);
за II = 1: Len;
ако ycfo (II)> = PT1;% корелира продукция (ycfo) по-горе ще PT1 определяне на праг
pv1i (II) = H;% I импулс напрежение
друг;
pv1i (II) = L;
цел;
цел;
po1i = pv1i;% импулс се = импулс напрежение%================================================= ========
Q% корелация ПРИЕМНИК COMPARATOR [ADC] (след ниско честотен филтър)
%================================================= ========
PT2 = 1.7e-8;% равнище, където се определя праг за сравнение устройството води
H = 5;% (волта)
L = 0;% (волта)
LEN = дължина (ycfo1);
за II = 1: Len;
ако ycfo1 (II)> = PT2;% корелира продукция (ycfo1) по-горе ще PT2 определяне на праг
pv2q (II) = H;% Р импулс напрежение
друг;
pv2q (II) = L;
цел;
цел;
po1q = pv2q;% импулс се = импулс напрежениеbit1 = знак (po1q);% 0 и 1
bit2 = знак (po1i);% 0 и 1
bit3 = bit1> 0;% 0 и 1
bit4 = bit2> 0;% 0 и 1
bitout = [bit3];
bitout1 = [bit4];
%================================================= =========================
% Успоредно с сериен битстрийм (използва Interleaving и наниз (присъединяването))
%================================================= =========================
bitout2 = [bitout];
х = 1128;% х = FS / N;% Това е начин да се cluge програма, но х се изисква да направи паралел
% до сериен работа конвертор, ако една променя основни параметри като N, FS и др
% X = N * (bit3 # 1 или 0 в първата малко време)-FS: X = (8 * 2641) -20000 = 1128
bitout2 = bitout2 (1: (FS X) / N: в края);
bitout2 = [bitout2];
bitout3 = [bitout1];
bitout3 = bitout3 (1: (FS X) / N: в края);
bitout3 = [bitout3];
bitfinalout = [bitout2; bitout3];
bitfinalout = bitfinalout (1: в края);
% езика получените изходни данни бита команда в прозореца
Received_data_bits = bitfinalout
Получени% изходни данни
data1a = такива (T / TS, 1) * bitfinalout;
bitfinal1 = data1a (
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Усмивка" border="0" />
;
bitfinal1 = bitfinal1-средна (bitfinal1);
bitfinal1 = 2 * bitfinal1;% се до / - 1
%================================================= ====================
Парцели%
%================================================= =====================
цифра (1)
второстепенна сюжетна линия (3,2,1)
парцел (TD, data2)
ос ([0 1 -2 2]);
мрежа за
xlabel ( "Време")
ylabel ( 'амплитуда ")
заглавие ( "изходни данни")
второстепенна сюжетна линия (3,2,3)
Парцел (Tiq, Isymbols)
ос ([0 1 -2 2]);
мрежа за
xlabel ( "Време")
ylabel ( 'амплитуда ")
заглавие ( "Аз Channel (един бит / символ (фаза)) Data")
второстепенна сюжетна линия (3,2,5)
Парцел (Tiq, Qsymbols)
ос ([0 1 -2 2]);
мрежа за
xlabel ( "Време")
ylabel ( 'амплитуда ")
заглавие ( "Q Channel (един бит / символ (фаза)) Data")
второстепенна сюжетна линия (3,2,2)
Парцел (Tiq, SI)
ос ([.498 .502 -2 2]);
мрежа за
xlabel ( "Време")
ylabel ( 'амплитуда ")
заглавие ( "Аз Channel Modulated Waveform")
второстепенна сюжетна линия (3,2,4)
Парцел (Tiq, м)
ос ([.498 .502 -2 2]);
мрежа за
xlabel ( "Време")
ylabel ( 'амплитуда ")
заглавие ( "Q Channel Modulated Waveform")
второстепенна сюжетна линия (3,2,6)
Парцел (Tiq, sumiq)
ос ([.498 .502 -2 2]);
мрежа за
xlabel ( "Време")
ylabel ( 'амплитуда ")
заглавие ( "QPSK Output Waveform")%================================================= =======================
Обърнете% FFT на модулирани превозвач
%================================================= =======================
Y = sumiq;
NFFY = 2. ^ (Достигам пределна точка (Log (дължина (Y)) / Log (2)));
FFTY = FFT (Y, NFFY);% тампон с нули
NumUniquePts = достигам пределна точка ((NFFY 1) / 2);
FFTY = FFTY (1: NumUniquePts);
My = ABS (FFTY);
My = МОИТЕ * 2;
МОЯТ (1) = МОЯТ (1) / 2;
МОЯТ (дължина (MY)) = МОЯТ (дължина (MY)) / 2;
My = МОИТЕ / дължина (Y);
f1 = (0: NumUniquePts-1) * 2 * Fn / NFFY;
%================================================= ========================
% Домейн Парцел честота
%================================================= ========================
фигура (2)
второстепенна сюжетна линия (3,1,1); парцел (F1, MY); xlabel (''); ylabel ( 'амплитуда');
ос ([4500 5500 -. 5 1]);% увеличение / изход
заглавие ( "парцели честотна област");
мрежа за
второстепенна сюжетна линия (3,1,2); парцел (F1, 20 * log10 (ABS (MY). ^ 2)); xlabel ( 'Честота (Hz)'); ylabel ( 'ПБ');
ос ([4000 6000 -80 10]);% увеличение / изход
мрежа за
заглавие ( "Modulated превозвач QPSK")цифра (3)
второстепенна сюжетна линия (3,2,1);
парцел (TD, bitfinal1)
заглавие ( "Получени изходни данни");
мрежа на;
ос ([0 1 -2 2]);
второстепенна сюжетна линия (3,2,3);
Парцел (Tiq, ycfo1);
заглавие ( "Аз Филтрирано Channel Data");
мрежа на;
второстепенна сюжетна линия (3,2,5);
Парцел (Tiq, ycfo);
заглавие ( "Филтрирано В Channel данни ');
мрежа на;
второстепенна сюжетна линия (3,2,2);
Парцел (Tiq, sig_rx1);
мрежа на;
ос ([0 1 -1 1]);% увеличение / изход
заглавие ( "Нефилтрирана аз Channel Output ');второстепенна сюжетна линия (3,2,4);
Парцел (Tiq, sig_rx);
мрежа на;
ос ([0 1 -1 1]);% увеличение / изход
заглавие ( "Нефилтрирана Q Channel Output ');
phasevl = atan2 (ycfo1, ycfo);% фази на предавателя продукция
отклонение% фаза --- (-2,355 радиани) =- 135 градуса (-1-1)
отклонение% фаза --- (0,785 радиани) = 45 градуса (1 1)% 1)
отклонение% фаза --- (-0,785 радиани) =- 45 градуса (-1 1)
отклонение% фаза --- (2,355 радиани) = 135 градуса (1-1)
второстепенна сюжетна линия (3,2,6);
Парцел (Tiq, phasevl);
мрежа на;
заглавие ( "отклонение Output фаза (радиани) нива")
xlabel ( "Време")
ylabel ( 'Radians ")
цифра (4);
второстепенна сюжетна линия (4,2,1);
Парцел (Tiq, noise1);% парцел пъти постоянен шум
мрежа на;
заглавие ( "Шум изход")
xlabel ( "Време")
ylabel ( "напрежение")
второстепенна сюжетна линия (4,2,3)
Парцел (Tiq, po1i);
ос ([0 1 -1 6]);
мрежа на;
заглавие ( "Аз канал ADC изход")
xlabel ( "Време")
ylabel ( "напрежение")
второстепенна сюжетна линия (4,2,5)
Парцел (Tiq, po1q);
ос ([0 1 -1 6]);
мрежа на;
заглавие ( "Q канал ADC изход")
xlabel ( "Време")
ylabel ( "напрежение")
цифра (5);% Тези стойности са получени от програмата обсъждат в даден референтен с
% 500000 символи на всеки план.
заблуждават = [.2921 .2450 .1970 .1511 .1099 .0739 .0457 .0248 .0121 .0047 .0017 3.6e-4 7.8e-5];
SNR = 10. ^ ([0:0.1:12] ./10);
Pbsym = ERFC (.707 * SQRT (SNR));% symbolBER (теоретико-QPSK)
Pbbit ERFC = 0,5 * (SQRT (SNR));% bitBER (теоретико-BPSK)
semilogy ([0:12], заблуждават ,'*',[ 0:0.1:12], Pbsym ,'-',[ 0:0.1:12], Pbbit ,'--');% парцел
мрежа на; xlabel ( "SNR (DB) '); ylabel (' РГО ');
Симулация заглавие ( "на символ и РГО малко за QPSK и BPSK ');
легенда ( "QPSK Симулация на ',' QPSKsymbol Теоретична ',' BPSKbit Теоретична ');