“I-Manifesto yabahleli bezinhlelo abaqalayo abavela ezintweni ezikhethekile ezihlobene” noma ukuthi ngifike kanjani kuleli qophelo lokuphila

Isihloko sami namuhla siyimicabango ezwakalayo evela kumuntu othathe indlela yokuhlela cishe ngengozi (nakuba ngokwemvelo).

Yebo, ngiyaqonda ukuthi okuhlangenwe nakho kwami ​​kuwukuhlangenwe nakho kwami ​​nje, kodwa kimi kubonakala sengathi kufanelana kahle nomkhuba ojwayelekile. Ngaphezu kwalokho, okuhlangenwe nakho okuchazwe ngezansi kuhlobene kakhulu nomkhakha wesayensi, kodwa lokho isihogo esingekona ukudlala - kungaba usizo ngaphandle.

“I-Manifesto yabahleli bezinhlelo abaqalayo abavela ezintweni ezikhethekile ezihlobene” noma ukuthi ngifike kanjani kuleli qophelo lokuphila
Source: https://xkcd.com/664/

Ngokuvamile, okunikezelwe kubo bonke abafundi bamanje kusuka kumfundi wangaphambili!

okulindelweyo

Lapho ngiqeda iziqu zami ze-bachelor ku-Infocommunication Technologies and Communication Systems ngo-2014, ngangingazi lutho mayelana nomhlaba wezinhlelo. Yebo, njengabanye abaningi, ngathatha isifundo se-“Computer Science” ngonyaka wami wokuqala - kodwa, Nkosi, bekungunyaka wami wokuqala! Kube yingunaphakade!

Ngokuvamile, bengingalindele lutho oluhluke kakhulu esifundweni se-bachelor, nalapho ngingena ohlelweni lwe-master's degree. "Ukuxhumana Nokucutshungulwa Kwezimpawu" I-German-Russian Institute of New Technologies.

Kodwa ngeze...

Sasiwukudla kwesibili kuphela, futhi abafana bokuqala babesapakisha izikhwama zabo baya eJalimane elikude (i-internship ithatha izinyanga eziyisithupha ngonyaka wesibili wohlelo lwe-master). Ngamanye amazwi, akekho ovela embuthanweni oseduze owayengakaze ahlangane ngokungathí sina nezindlela zemfundo yaseYurophu, futhi kwakungekho muntu ongabuza mayelana nemininingwane.

Onyakeni wethu wokuqala, kunjalo, saba nezinhlobo ezehlukene zemikhuba, lapho ngokuvamile sasinikezwa khona ngentando yeningi ukukhetha phakathi kwemibhalo yokubhala (ikakhulukazi ngolimi lwe-MATLAB) nokusebenzisa ama-GUI akhethekile ahlukahlukene (ngomqondo wokuthi ngaphandle kokubhala imibhalo - ukulingisa izindawo zokumodela).

“I-Manifesto yabahleli bezinhlelo abaqalayo abavela ezintweni ezikhethekile ezihlobene” noma ukuthi ngifike kanjani kuleli qophelo lokuphila

Akudingekile ukusho ukuthi, thina, Izingcweti Zesayensi zesikhathi esizayo, ngenxa yobuwula bethu bobusha, sagwema ukubhala ikhodi njengomlilo. Nansi, isibonelo, i-Simulink evela ku-MathWorks: nawa amabhulokhi, nanka ukuxhumana, nazi zonke izinhlobo zezilungiselelo namaswishi.

Umbono ongowomdabu futhi oqondakalayo kumuntu owake wasebenza kumklamo wesifunda kanye nobunjiniyela bezinhlelo!

“I-Manifesto yabahleli bezinhlelo abaqalayo abavela ezintweni ezikhethekile ezihlobene” noma ukuthi ngifike kanjani kuleli qophelo lokuphila
Source: https://ch.mathworks.com/help/comm/examples/parallel-concatenated-convolutional-coding-turbo-codes.html

Ngakho kwabonakala ngathi...

Iqiniso

Omunye wemisebenzi engokoqobo yesemester yokuqala kwaba ukuthuthukiswa kwe-transceiver yesiginali ye-OFDM njengengxenye yesihloko esithi “Izindlela Zokumodela Nokuthuthukisa”. Umbono uphumelele kakhulu: ubuchwepheshe busabalulekile futhi budumile ngenxa yokusetshenziswa kwabo, isibonelo, kumanethiwekhi e-Wi-Fi kanye ne-LTE/LTE-A (ngesimo se-OFDMA). Lokhu kuyinto engcono kakhulu yokuthi ochwepheshe bazijwayeze amakhono abo ekumodeleni izinhlelo ze-telecom.

“I-Manifesto yabahleli bezinhlelo abaqalayo abavela ezintweni ezikhethekile ezihlobene” noma ukuthi ngifike kanjani kuleli qophelo lokuphila

Futhi manje sinikezwa izinketho ezimbalwa zokucaciswa kwezobuchwepheshe ezinamapharamitha wozimele ngokusobala angasebenzi (ukuze singabheki isisombululo ku-inthanethi), futhi sigxumela kuSimulink esesivele kushiwo... Futhi sishaywa ekhanda ngetiye. okweqiniso:

  • Ibhulokhi ngayinye igcwele imingcele eminingi engaziwa, eyesaba ukushintsha lapho kwehla isigqoko.
  • Ukukhwabanisa ngezinombolo kudinga ukwenziwa, kubonakala kulula, kodwa kusafanele uphikisane, uNkulunkulu akakuvumeli.
  • Imishini yesonto yesonto yehlisa isivinini ngokuphawulekayo ekusetshenzisweni okumatasa kwe-GUI, ngisho nasesiteji sokuntweza emitatsheni yolwazi yamabhulokhi atholakalayo.
  • Ukuze uqedele okuthile ekhaya, udinga ukuba ne-Simulink efanayo. Futhi, eqinisweni, azikho ezinye izindlela.

Yebo, ekugcineni, vele, sawuqeda umsebenzi, kodwa sawuqeda ngokuphefumulela phezulu.

Kwadlula isikhathi, futhi safika ekupheleni konyaka wokuqala weziqu ze-master. Inani lomsebenzi wesikole wasekhaya osebenzisa ama-GUI laqala ukwehla ngokulinganayo nokwanda kwenani lezifundo zaseJalimane, nakuba lalingakafinyeleli ezingeni lokushintsha kwe-paradigm. Abaningi bethu, kuhlanganise nami, sinqoba i-amplitude yethu enkulu yokwakha, siya ngokuya sisebenzisa iMatlab kumaphrojekthi ethu esayensi (nakuba isesimweni samaBhokisi Amathuluzi), hhayi iSimulink ebonakala ijwayelekile.

Iphuzu ekungabazeni kwethu kwakuyinkulumo yomunye wabafundi abenza unyaka wesibili (ababesanda kubuyela eRussia ngaleso sikhathi):

  • Khohlwa, okungenani ngesikhathi sokufunda, mayelana ne-Similink, i-MathCad nenye i-LabView - phezu kwegquma yonke into ibhalwe nge-MATLAB, kusetshenziswa i-MatLab ngokwayo noma "inguqulo" yayo yamahhala ye-Octave.

Isitatimende sibonakale siyiqiniso ngokwengxenye: e-Ilmenau, ingxabano yokukhethwa kwamathuluzi nayo ayizange ixazululwe ngokuphelele. Yiqiniso, ukukhetha kwakuphakathi kwe-MATLAB, Python kanye ne-C.

Ngalo lolo suku, ngathathwa injabulo yemvelo: akufanele yini ngidlulisele ingxenye yami yemodeli yesithumeli se-OFDM ibe ifomu elibhaliwe? Okokuzijabulisa nje.

Futhi ngafika emsebenzini.

Igxathu emvakwe gxathu

Esikhundleni sezibalo zetiyetha, ngizomane nginikeze isixhumanisi kulokhu isihloko esihle kakhulu 2011 kusukela tgx nakumaslayidi Isendlalelo esibonakalayo se-LTE oprofesa Michel-Tila (TU Ilmenau). Ngicabanga ukuthi lokhu kuzokwanela.

“Ngakho,” ngacabanga, “ake siphinde, sizomodela ngani?”
Sizomodela OFDM Uhlaka generator (OFDM frame generator).

Okuzohlanganisa:

  • izimpawu zolwazi
  • amasignali umshayeli
  • amaziro (DC)

Yini (ukuze sibe lula) esiyithatha kuyo:

  • kusuka ekufanekiseni isiqalo se-cyclic (uma wazi izisekelo, ukungeza ngeke kube nzima)

“I-Manifesto yabahleli bezinhlelo abaqalayo abavela ezintweni ezikhethekile ezihlobene” noma ukuthi ngifike kanjani kuleli qophelo lokuphila

Ibhulokhi yomdwebo wemodeli ecatshangelwayo. Sizoma ebhulokhini ye-FFT (IFFT) ephambene. Ukuqedela isithombe, wonke umuntu angakwazi ukuqhubeka nokusala ngokwakhe - ngithembise othisha bomnyango ukuthi bazoshiyela abafundi okuthile.

Ake sizichazele zona. ukuzivocavoca:

  • inombolo egxilile yabathwali abancane;
  • ubude befreyimu engashintshi;
  • kufanele sengeze uziro owodwa phakathi kanye nepheya likaziro ekuqaleni nasekupheleni kohlaka (inani, izingcezu ezi-5);
  • izimpawu zolwazi zilungiswa kusetshenziswa i-M-PSK noma i-M-QAM, lapho u-M kuwuhlelo lokumodulation.

Ake siqale ngekhodi.

Sonke iskripthi singalandwa kusuka isixhumanisi.

Ake sichaze amapharamitha wokufaka:

clear all; close all; clc

M = 4; % e.g. QPSK 
N_inf = 16; % number of subcarriers (information symbols, actually) in the frame
fr_len = 32; % the length of our OFDM frame
N_pil = fr_len - N_inf - 5; % number of pilots in the frame
pilots = [1; j; -1; -j]; % pilots (QPSK, in fact)

nulls_idx = [1, 2, fr_len/2, fr_len-1, fr_len]; % indexes of nulls

Manje sinquma izinkomba zezimpawu zolwazi, samukela umbono wokuthi amasiginali okushayela kufanele ahambe ngaphambi kanye/noma ngemva koziro:

idx_1_start = 4;
idx_1_end = fr_len/2 - 2;

idx_2_start = fr_len/2 + 2;
idx_2_end =  fr_len - 3;

Khona-ke izikhundla zinganqunywa ngokusebenzisa umsebenzi i-linspace, ukwehlisa amanani abe amancane kunawo wonke aseduze:

inf_idx_1 = (floor(linspace(idx_1_start, idx_1_end, N_inf/2))).'; 
inf_idx_2 = (floor(linspace(idx_2_start, idx_2_end, N_inf/2))).';

inf_ind = [inf_idx_1; inf_idx_2]; % simple concatenation

Ake sengeze izinkomba zoziro kulokhu futhi sihlele:

%concatenation and ascending sorting
inf_and_nulls_idx = union(inf_ind, nulls_idx); 

Ngakho-ke, izinkomba zesignali yomshayeli ziyikho konke okunye:

%numbers in range from 1 to frame length 
% that don't overlape with inf_and_nulls_idx vector
pilot_idx = setdiff(1:fr_len, inf_and_nulls_idx); 

Manje ake siqonde amasignali omshayeli.

Sinesifanekiso (i-variable abashayeli bezindiza), futhi ake sithi sifuna abashayeli bezindiza abavela kulesi sifanekiso bafakwe kuhlaka lwethu ngokulandelana. Yiqiniso, lokhu kungenziwa nge-loop. Noma ungadlala inkohliso encane ngomatikuletsheni - ngenhlanhla i-MATLAB ikuvumela ukuthi ukwenze lokhu ngokunethezeka okwanele.

Okokuqala, ake sinqume ukuthi zingaki zalezi zifanekiso ezingena ngokuphelele kuhlaka:

pilots_len_psudo = floor(N_pil/length(pilots));

Okulandelayo, sakha i-vector equkethe izifanekiso zethu:

% linear algebra tricks:
mat_1 = pilots*ones(1, pilots_len_psudo); % rank-one matrix
resh = reshape(mat_1, pilots_len_psudo*length(pilots),1); % vectorization

Futhi sichaza i-vector encane equkethe kuphela ucezu lwesifanekiso - "umsila", ongangeni ngokuphelele kuhlaka:

tail_len = fr_len  - N_inf - length(nulls_idx) ...
                - length(pilots)*pilots_len_psudo; 
tail = pilots(1:tail_len); % "tail" of pilots vector

Sithola abalingisi bomshayeli:

vec_pilots = [resh; tail]; % completed pilots vector that frame consists

Masiqhubekele ezimpawini zolwazi, okungukuthi, sizokwakha umlayezo futhi siwulungise:

message = randi([0 M-1], N_inf, 1); % decimal information symbols

if M >= 16
    info_symbols = qammod(message, M, pi/4);
else
    info_symbols = pskmod(message, M, pi/4);
end 

Konke sekulungile! Ukuhlanganisa uhlaka:

%% Frame construction
frame = zeros(fr_len,1);
frame(pilot_idx) = vec_pilots;
frame(inf_ind) = info_symbols

Kufanele uthole okuthile okufana nalokhu:

frame =

   0.00000 + 0.00000i
   0.00000 + 0.00000i
   1.00000 + 0.00000i
  -0.70711 - 0.70711i
  -0.70711 - 0.70711i
   0.70711 + 0.70711i
   0.00000 + 1.00000i
  -0.70711 + 0.70711i
  -0.70711 + 0.70711i
  -1.00000 + 0.00000i
  -0.70711 + 0.70711i
  -0.70711 - 0.70711i
   0.00000 - 1.00000i
   0.70711 + 0.70711i
   1.00000 + 0.00000i
   0.00000 + 0.00000i
   0.00000 + 1.00000i
   0.70711 - 0.70711i
  -0.70711 + 0.70711i
  -1.00000 + 0.00000i
  -0.70711 + 0.70711i
   0.70711 + 0.70711i
   0.00000 - 1.00000i
  -0.70711 - 0.70711i
   0.70711 + 0.70711i
   1.00000 + 0.00000i
   0.70711 - 0.70711i
   0.00000 + 1.00000i
   0.70711 - 0.70711i
  -1.00000 + 0.00000i
   0.00000 + 0.00000i
   0.00000 + 0.00000i

"Jabulani!" — Ngacabanga ngokweneliseka futhi ngavala i-laptop. Kungithathe amahora ambalwa ukwenza yonke into: okuhlanganisa ukubhala ikhodi, ukufunda imisebenzi ye-Matlab nokucabanga ngamaqhinga ezibalo.

Yiziphi iziphetho engafinyelela kuzo ngaleso sikhathi?

Isihloko:

  • Ikhodi yokubhala imnandi futhi ifana nezinkondlo!
  • I-Scripting iyindlela yocwaningo elula kakhulu yomkhakha Wokuxhumana kanye Nokucutshungulwa Kwezimpawu.

Inhloso:

  • Asikho isidingo sokudubula ondlunkulu ngenganono (ngaphandle uma umgomo onjalo wezemfundo ufanelekile): sisebenzisa i-Simulink, siqale ukuxazulula inkinga elula ngethuluzi eliyinkimbinkimbi.
  • I-GUI yinhle, kodwa ukuqonda ukuthi yini equkethwe “ngaphansi kwe-hood” kungcono.

Futhi manje, njengoba ngikude nokuba ngumfundi, ngifuna ukusho lokhu okulandelayo kubafundi babafundi:

  • Yenzele lokho!

Zama ukubhala ikhodi, ngisho noma kukubi ekuqaleni. Ngokuhlela, njenganoma yimuphi omunye umsebenzi, ingxenye enzima kakhulu isiqalo. Futhi kungcono ukuqala ekuqaleni: uma usosayensi noma ngisho techie nje, ngokushesha noma kamuva uzodinga leli khono.

  • Funa!

Funa izindlela eziqhubekayo namathuluzi kothisha nabaphathi. Uma lokhu kungenzeka, yebo...

  • Dala!

Kukuphi okunye okungcono ukudlula zonke izilonda zomuntu oqalayo, uma kungenjalo ngaphakathi kohlaka lohlelo lwezemfundo? Dala futhi ucije amakhono akho - futhi, uma uqala ngokushesha, kuba ngcono.

Abahleli bezinhlelo abasafufusa abavela kuwo wonke amazwe, hlanganani!

PS

Ukuze ngirekhode ubudlelwano bami obuqondile nabafundi, nginamathisela isithombe esikhumbulekayo sika-2017 namarector amabili: u-Peter Scharff (ngakwesokudla) no-Albert Kharisovich Gilmutdinov (ngakwesokunxele).

“I-Manifesto yabahleli bezinhlelo abaqalayo abavela ezintweni ezikhethekile ezihlobene” noma ukuthi ngifike kanjani kuleli qophelo lokuphila

Bekufanelekile ukuqeda uhlelo okungenani kulezi zingubo! (uyadlala)

Source: www.habr.com

Engeza amazwana