“Manifesto don fara shirye-shiryen shirye-shirye daga fannonin da suka shafi alaƙa” ko yadda na kai ga wannan matakin a rayuwa

Labari na a yau tunani ne da ƙarfi daga mutumin da ya ɗauki hanyar shirye-shirye kusan bisa ga kuskure (ko da yake a zahiri).

Haka ne, na fahimci cewa gwaninta na kwarewa ne kawai, amma ga alama a gare ni ya dace da kyau a cikin yanayin gaba ɗaya. Bugu da ƙari, ƙwarewar da aka bayyana a ƙasa ya danganta da filin aikin kimiyya, amma abin da jahannama ba wasa ba - yana iya zama da amfani a waje.

“Manifesto don fara shirye-shiryen shirye-shirye daga fannonin da suka shafi alaƙa” ko yadda na kai ga wannan matakin a rayuwa
source: https://xkcd.com/664/

Gabaɗaya, sadaukarwa ga duk ɗalibai na yanzu daga tsohon ɗalibi!

Abubuwan jira

Lokacin da na kammala digiri na a Infocommunication Technologies and Communication Systems a 2014, Ban san kusan komai ba game da duniyar shirye-shirye. Haka ne, kamar sauran mutane da yawa, na ɗauki batun “Kimiyyar Kwamfuta” a cikin shekarar farko ta - amma, Ubangiji, a cikin shekarar farko ta ke! Ya kasance har abada!

Gabaɗaya, ban yi tsammanin wani abu ba musamman da digiri na farko, da kuma lokacin da na shiga shirin masters "Sadarwa da Gudanar da Sigina" Cibiyar Sabbin Fasaha ta Jamus-Rasha.

Amma a banza...

Mu ne kawai na biyu ci abinci, kuma mutanen da na farko har yanzu suna tattara jakunkuna zuwa Jamus mai nisa (internation daukan watanni shida a shekara ta biyu na master's digiri). A wasu kalmomi, babu wani daga cikin da'irar nan da nan da ya riga ya ci karo da hanyoyin ilimin Turai, kuma babu wanda zai yi tambaya game da cikakkun bayanai.

A cikin shekararmu ta farko, ba shakka, muna da nau'ikan ayyuka daban-daban, waɗanda galibi ana ba mu zaɓi ta hanyar dimokuradiyya tsakanin rubuta rubutun (musamman a cikin yaren MATLAB) da kuma amfani da GUI na musamman na musamman (a ma'anar cewa ba tare da rubuta rubutun ba - kwaikwayo. yanayin ƙirar ƙira).

“Manifesto don fara shirye-shiryen shirye-shirye daga fannonin da suka shafi alaƙa” ko yadda na kai ga wannan matakin a rayuwa

Ba lallai ba ne a ce, mu, Masters na Kimiyya na gaba, daga wautarmu na ƙuruciya, mun guji rubuta lambar kamar wuta. Anan, alal misali, Simulink ne daga MathWorks: anan ga tubalan, ga haɗin kai, ga kowane nau'in saiti da maɓalli.

Ra'ayi wanda yake ɗan ƙasa kuma mai fahimta ga mutumin da ya taɓa yin aiki a ƙirar da'ira da injiniyan tsarin!

“Manifesto don fara shirye-shiryen shirye-shirye daga fannonin da suka shafi alaƙa” ko yadda na kai ga wannan matakin a rayuwa
source: https://ch.mathworks.com/help/comm/examples/parallel-concatenated-convolutional-coding-turbo-codes.html

Don haka ya zama kamar mu ...

Hakikanin Gaskiya

Ɗaya daga cikin ayyuka masu amfani na zangon farko shine haɓaka mai karɓar siginar OFDM a matsayin wani ɓangare na batun "Hanyoyin Samfura da Ingantawa". Tunanin yana da nasara sosai: fasahar har yanzu tana da dacewa kuma tana shahara sosai saboda amfani da ita, alal misali, a cikin cibiyoyin sadarwar Wi-Fi da LTE/LTE-A (a cikin hanyar OFDMA). Wannan shine mafi kyawun abu don masters suyi aiki da ƙwarewar su a cikin ƙirar tsarin sadarwa.

“Manifesto don fara shirye-shiryen shirye-shirye daga fannonin da suka shafi alaƙa” ko yadda na kai ga wannan matakin a rayuwa

Kuma yanzu an ba mu zaɓuɓɓuka da yawa na ƙayyadaddun fasaha tare da sigogin firam ɗin da ba za a iya aiwatar da su ba (don kada mu nemi mafita akan Intanet), kuma muna kan Simulink da aka riga aka ambata… na gaskiya:

  • Kowane toshe yana cike da sigogin da ba a san su ba, waɗanda ke da ban tsoro don canzawa a digon hula.
  • Ana buƙatar yin magudi tare da lambobi, da alama, mai sauƙi, amma har yanzu dole ne ku yi fushi, Allah ya kiyaye.
  • Injin Cathedral a hankali suna raguwa daga amfani da GUI mai ban tsoro, har ma a matakin hawan igiyar ruwa ta cikin ɗakunan karatu na toshe.
  • Don gama wani abu a gida, kuna buƙatar samun Simulink iri ɗaya. Kuma, a gaskiya, babu madadin.

Eh, a karshe dai mun kammala aikin, amma mun kammala shi da tsawa na numfashi.

Wani lokaci ya wuce, kuma mun zo ƙarshen shekarar farko na digiri na biyu. Adadin aikin gida ta amfani da GUI ya fara faɗuwa daidai gwargwado tare da ƙaruwar adadin batutuwan Jamusanci, ko da yake har yanzu bai kai ga wani canji ba. Yawancinmu, ciki har da ni, mun shawo kan girman girman mu don haɓakawa, muna ƙara amfani da Matlab a cikin ayyukan kimiyyar mu (duk da cewa a cikin nau'ikan Akwatin Kayan aiki), kuma ba da alama Simulink ɗin da aka saba ba.

Abin da ke cikin shakkunmu shi ne furucin ɗaya daga cikin ɗaliban da suka yi shekara ta biyu (sun dawo Rasha a lokacin):

  • Manta, aƙalla na tsawon lokacin horon, game da Similink, MathCad da sauran LabView - akan tudu an rubuta komai a cikin MATLAB, ta amfani da MatLab kanta ko “sigar” Octave ta kyauta.

Maganar ta zama wani ɓangare na gaskiya: a Ilmenau, ba a warware takaddama kan zaɓin kayan aikin ba. Gaskiya ne, zaɓin ya kasance mafi yawa tsakanin MATLAB, Python da C.

A wannan rana, an ɗauke ni da wani yanayi na jin daɗi: shin bai kamata in canza sashin nawa na samfurin watsawa na OFDM cikin sigar rubutu ba? Don jin daɗi kawai.

Kuma na samu aiki.

Mataki-mataki

Maimakon ƙididdige ƙididdiga, kawai zan ba da hanyar haɗi zuwa wannan kyakkyawan labarin 2011 daga tgx kuma a kan nunin faifai LTE jiki Layer malamai Michel-Tila (TU Ilmenau). Ina ganin wannan zai isa.

"Don haka," na yi tunani, "bari mu maimaita, me za mu yi samfurin?"
Za mu yi koyi OFDM frame janareta (OFDM firam janareta).

Abin da zai hada da:

  • alamomin bayanai
  • siginar matukin jirgi
  • sifili (DC)

Abin da (saboda sauƙaƙa) muka zayyana daga:

  • daga yin samfurin prefix na cyclic (idan kun san mahimman bayanai, ƙarawa ba zai yi wahala ba)

“Manifesto don fara shirye-shiryen shirye-shirye daga fannonin da suka shafi alaƙa” ko yadda na kai ga wannan matakin a rayuwa

Toshe zane na samfurin da ake la'akari. Za mu tsaya a juzu'in FFT (IFFT). Don kammala hoton, kowa zai iya ci gaba da sauran da kansa - Na yi alkawari ga malamai daga sashen su bar wani abu ga dalibai.

Bari mu ayyana wa kanmu. motsa jiki:

  • ƙayyadadden adadin ƙananan masu ɗaukar kaya;
  • tsayayyen tsayin firam;
  • dole ne mu ƙara daya sifili a tsakiya da biyu na sifili a farkon da ƙarshen firam (jimlar, 5 guda);
  • Ana daidaita alamun bayanai ta amfani da M-PSK ko M-QAM, inda M shine tsari na daidaitawa.

Bari mu fara da lambar.

Ana iya sauke dukkan rubutun daga mahada.

Bari mu ayyana sigogin shigarwa:

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

Yanzu mun ƙayyade fihirisar alamomin bayanai, yarda da yanayin cewa dole ne siginonin matukin jirgi su tafi gaba da/ko bayan sifili:

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

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

Sa'an nan kuma za a iya ƙayyade matsayi ta amfani da aikin linspace, rage ƙima zuwa mafi ƙanƙanta na mafi kusa.

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

Bari mu ƙara fihirisar sifili ga wannan kuma mu tsara:

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

Saboda haka, fihirisar siginar matukin jirgi shine komai:

%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); 

Yanzu bari mu fahimci siginar matukin jirgi.

Muna da samfuri (mai canzawa matukan jirgi), kuma bari mu ce muna son a saka matukin jirgi daga wannan samfuri a cikin firam ɗin mu bi da bi. Tabbas, ana iya yin wannan a cikin madauki. Ko kuma kuna iya wasa ɗan wayo tare da matrices - sa'a MATLAB yana ba ku damar yin wannan tare da isasshen ta'aziyya.

Da farko, bari mu tantance nawa daga cikin waɗannan samfuran suka dace gaba ɗaya cikin firam:

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

Bayan haka, muna samar da vector wanda ya ƙunshi samfuran mu:

% 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

Kuma mun ayyana wani karamin vector wanda ya ƙunshi kawai yanki na samfuri - "wutsiya", wanda bai dace da firam ɗin gaba ɗaya ba:

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

Muna samun haruffan matukin jirgi:

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

Bari mu matsa zuwa alamomin bayanai, wato, za mu samar da sako da daidaita shi:

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 

Duk yana shirye! Haɗa firam:

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

Ya kamata ku sami wani abu kamar haka:

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

"Ni'ima!" - Na yi tunani cikin gamsuwa kuma na rufe kwamfutar tafi-da-gidanka. Ya ɗauki ni sa'o'i biyu don yin komai: gami da lambar rubutu, koyon wasu ayyuka na Matlab da tunani ta hanyar dabarun lissafi.

Wane hukunci na zana a lokacin?

Magana:

  • Rubutun rubutun yana da daɗi kuma yayi kama da waƙa!
  • Rubutu ita ce hanya mafi dacewa ta bincike don fannin Sadarwa da sarrafa sigina.

Manufar:

  • Babu buƙatar harba sparrows daga cannon (sai dai idan irin wannan burin ilimi shine, ba shakka, yana da daraja): ta amfani da Simulink, mun dauki hanyar magance matsala mai sauƙi tare da kayan aiki mai mahimmanci.
  • GUI yana da kyau, amma fahimtar abin da ke ƙunshe "a ƙarƙashin hular" ya fi kyau.

Yanzu kuma, kasancewar nisa daga zama dalibi, ina so in faɗi haka ga ƴan uwan ​​ɗalibai:

  • Ku tafi dashi!

Gwada rubuta lambar, ko da mara kyau da farko. Tare da shirye-shirye, kamar kowane aiki, mafi wahala shine farkon. Kuma yana da kyau a fara da farko: idan kai masanin kimiyya ne ko ma kawai fasaha, ba dade ko ba dade za ku buƙaci wannan fasaha.

  • nema!

Nemi hanyoyin ci gaba da kayan aiki daga malamai da masu kulawa. Idan hakan zai yiwu, tabbas...

  • Ƙirƙiri!

A ina kuma ya fi kyau a shawo kan dukkan ciwon mafari, idan ba a cikin tsarin tsarin ilimi ba? Ƙirƙiri da haɓaka ƙwarewar ku - kuma, da zarar kun fara, mafi kyau.

Masu son shirye-shirye daga duk ƙasashe, ku haɗa kai!

PS

Domin yin rikodin dangantaka ta kai tsaye tare da ɗalibai, Ina haɗa hoto mai tunawa na 2017 tare da rectors biyu: Peter Scharff (dama) da Albert Kharisovich Gilmutdinov (hagu).

“Manifesto don fara shirye-shiryen shirye-shirye daga fannonin da suka shafi alaƙa” ko yadda na kai ga wannan matakin a rayuwa

Ya cancanci kammala shirin aƙalla don waɗannan kayayyaki! (abin dariya)

source: www.habr.com

Add a comment