"Manifest għall-bidu programmaturi minn speċjalitajiet relatati" jew kif wasalt sa dan il-punt fil-ħajja
L-artiklu tiegħi llum huwa ħsibijiet b'leħen għoli minn persuna li ħadet it-triq tal-ipprogrammar kważi b'mod aċċidentali (għalkemm b'mod naturali).
Iva, nifhem li l-esperjenza tiegħi hija biss l-esperjenza tiegħi, imma jidhirli li tidħol sew fit-tendenza ġenerali. Barra minn hekk, l-esperjenza deskritta hawn taħt tirrelata aktar mal-qasam tal-attività xjentifika, iżda x'inhu ma jiċċajta - jista 'jkun utli barra.
B'mod ġenerali, iddedikat għall-istudenti kollha attwali minn student preċedenti!
Aspettattivi
Meta lestejt il-baċellerat tiegħi fit-Teknoloġiji tal-Infokomunikazzjoni u s-Sistemi tal-Komunikazzjoni fl-2014, ma kont naf kważi xejn dwar id-dinja tal-ipprogrammar. Iva, bħal ħafna oħrajn, ħadt is-suġġett "Xjenza tal-Kompjuter" fl-ewwel sena tiegħi - imma, Mulej, kien fl-ewwel sena tiegħi! Kienet eternità!
B'mod ġenerali, ma stennejt xejn partikolarment differenti minn grad ta 'baċellerat, u meta dħalt fil-programm tal-master "Komunikazzjoni u Ipproċessar tas-Sinjal" Istitut Ġermaniż-Russu tat-Teknoloġiji Ġodda.
Imma għalxejn...
Konna biss it-tieni teħid, u l-guys mill-ewwel kienu għadhom jippakkjaw il-basktijiet tagħhom għall-Ġermanja 'l bogħod (l-apprendistat jieħu sitt xhur fit-tieni sena ta' master's). Fi kliem ieħor, ħadd miċ-ċirku immedjat ma kien għadu ltaqa' bis-serjetà mal-metodi tal-edukazzjoni Ewropea, u ma kien hemm ħadd jistaqsi dwar id-dettalji.
Fl-ewwel sena tagħna, ovvjament, kellna diversi tipi ta’ prattiċi, li fihom ġeneralment konna offerti demokratikament għażla bejn il-kitba ta’ skripts (l-aktar fil-lingwa MATLAB) u l-użu ta’ diversi GUIs speċjalizzati ħafna (fis-sens li mingħajr ma niktbu skripts - simulazzjoni). ambjenti tal-immudellar).
M'għandniex xi ngħidu, aħna, il-Masters tax-Xjenza futuri, mill-istupidità żagħżugħa tagħna, evitajna li niktbu kodiċi bħan-nar. Hawn hu, pereżempju, Simulink minn MathWorks: hawn huma l-blokki, hawn huma l-konnessjonijiet, hawn kull tip ta 'settings u swiċċijiet.
Veduta li hija indiġena u li tinftiehem minn persuna li qabel ħadmet fid-disinn taċ-ċirkwiti u l-inġinerija tas-sistemi!
Wieħed mix-xogħlijiet prattiċi tal-ewwel semestru kien l-iżvilupp ta 'transceiver tas-sinjal OFDM bħala parti mis-suġġett "Metodi għall-Immudellar u l-Ottimizzazzjoni". L-idea hija ta 'suċċess kbir: it-teknoloġija għadha rilevanti u pjuttost popolari minħabba l-użu tagħha, pereżempju, f'netwerks Wi-Fi u LTE/LTE-A (fil-forma ta' OFDMA). Din hija l-aħjar ħaġa għall-kaptani biex jipprattikaw il-ħiliet tagħhom fl-immudellar tas-sistemi tat-telekomunikazzjoni.
U issa ningħataw diversi għażliet ta 'speċifikazzjonijiet tekniċi b'parametri ta' qafas ovvjament mhux prattiċi (sabiex ma nfittxux soluzzjoni fuq l-Internet), u nibdew fuq is-Simulink diġà msemmi... U nilqgħu fuq ir-ras b'teapot tar-realtà:
Kull blokka hija mimlija b'ħafna parametri mhux magħrufa, li huma tal-biża' li jinbidlu mal-qatra ta' kappell.
Il-manipulazzjonijiet bin-numri jeħtieġ li jsiru, jidher, sempliċi, imma xorta trid tħawwad, Alla ħares.
Magni tal-Katidral jonqsu b'mod notevoli mill-użu frantic tal-GUI, anke fl-istadju ta 'surfing permezz ta' libreriji ta 'blokki disponibbli.
Biex tispiċċa xi ħaġa fid-dar, jeħtieġ li jkollok l-istess Simulink. U, fil-fatt, l-ebda alternattiva.
Iva, fl-aħħar aħna, ovvjament, lestejna l-proġett, imma lestejna b'exhalation qawwija ta 'eżenzjoni.
Għadda xi żmien, u wasalna għall-aħħar tal-ewwel sena tal-masters. L-ammont ta 'homework bl-użu ta' GUIs beda jonqos proporzjonalment maż-żieda fil-proporzjon ta 'suġġetti Ġermaniżi, għalkemm kien għadu ma laħaqx il-punt ta' bidla fil-paradigma. Ħafna minna, inkluż jien, negħlbu l-amplitudni konsiderevoli tagħna biex nibnu, aktar u aktar użaw Matlab fil-proġetti xjentifiċi tagħna (għalkemm fil-forma ta 'Kaxxi tal-Għodda), u mhux il-Simulink apparentement familjari.
Il-punt fid-dubji tagħna kien il-frażi ta’ wieħed mill-istudenti tat-tieni sena (sa dak iż-żmien kienu għadhom kif irritornaw ir-Russja):
Tinsa, għall-inqas għal kemm idum l-apprendistat, dwar Similink, MathCad u LabView oħra - fuq l-għoljiet kollox huwa miktub f'MATLAB, bl-użu tal-MatLab innifsu jew il-“verżjoni” Octave b'xejn tiegħu.
L-istqarrija rriżulta li kienet parzjalment vera: f'Ilmenau, it-tilwima dwar l-għażla tal-għodod lanqas ma ġiet solvuta kompletament. Veru, l-għażla kienet l-aktar bejn MATLAB, Python u C.
Fl-istess jum, ħadt minn eċċitament naturali: m'għandix nittrasferixxi l-parti tiegħi tal-mudell tat-trasmettitur OFDM f'forma b'kitba? Biss għall-gost.
U sirt naħdem.
Pass pass
Minflok kalkoli teoretiċi, se nagħti sempliċiment link għal dan artiklu eċċellenti 2011 minn tgx u fuq il-pjastri Saff fiżiku LTE professuri Michel-Tila (TU Ilmenau). Naħseb li dan se jkun biżżejjed.
Liema (għall-fini tas-sempliċità) aħna nastratt minn:
mill-immudellar ta' prefiss ċikliku (jekk taf l-affarijiet bażiċi, iżid mhux se jkun diffiċli)
Dijagramma blokk tal-mudell li qed jiġi kkunsidrat. Aħna se nieqfu fil-blokk FFT invers (IFFT). Biex tlesti l-istampa, kulħadd jista’ jkompli l-bqija huwa stess – wegħedt lill-għalliema mid-dipartiment li jħallu xi ħaġa għall-istudenti.
Ejja niddefinixxu dawk għalina nfusna. eżerċizzju:
numru fiss ta' sub-trasportaturi;
tul tal-qafas fiss;
irridu nżidu żero wieħed fin-nofs u par żerijiet fil-bidu u fit-tmiem tal-qafas (total, 5 biċċiet);
simboli ta 'informazzjoni huma modulati bl-użu M-PSK jew M-QAM, fejn M hija l-ordni ta' modulazzjoni.
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
Issa niddeterminaw l-indiċi tas-simboli tal-informazzjoni, naċċettaw il-premessa li s-sinjali tal-pilota jridu bilfors imorru qabel u/jew wara ż-żeri:
Ejja nżidu indiċi ta' żerijiet ma' dan u issortja:
%concatenation and ascending sorting
inf_and_nulls_idx = union(inf_ind, nulls_idx);
Għaldaqstant, l-indiċi tas-sinjal pilota huma kull ħaġa oħra:
%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);
Issa ejja nifhmu sinjali pilota.
Għandna mudell (varjabbli piloti), u ejja ngħidu li rridu li l-piloti minn dan il-mudell jiddaħħlu fil-qafas tagħna b'mod sekwenzjali. Naturalment, dan jista 'jsir f'linja. Jew tista 'tilgħab ftit delikata bil-matriċi - fortunatament MATLAB jippermettilek tagħmel dan b'kumdità suffiċjenti.
L-ewwel, ejja niddeterminaw kemm minn dawn il-mudelli jidħlu kompletament fil-qafas:
pilots_len_psudo = floor(N_pil/length(pilots));
Sussegwentement, aħna niffurmaw vettur li jikkonsisti mill-mudelli tagħna:
U aħna niddefinixxu vettur żgħir li fih biss biċċa tal-mudell - "denb", li ma jidħolx kompletament fil-qafas:
tail_len = fr_len - N_inf - length(nulls_idx) ...
- length(pilots)*pilots_len_psudo;
tail = pilots(1:tail_len); % "tail" of pilots vector
Ikollna karattri pilota:
vec_pilots = [resh; tail]; % completed pilots vector that frame consists
Ejja ngħaddu għal simboli ta 'informazzjoni, jiġifieri, aħna niffurmaw messaġġ u nimodulawh:
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
"Bliss!" — Ħsibt kuntent u għalaqt il-laptop. Domni ftit sigħat biex nagħmel minn kollox: inkluż nikteb kodiċi, nitgħallem xi funzjonijiet ta’ Matlab u naħseb permezz ta’ tricks matematiċi.
X’konklużjonijiet għamilt imbagħad?
Suġġettiv:
Il-kitba tal-kodiċi hija pjaċevoli u tixbah lill-poeżija!
Scripting huwa l-aktar metodu ta 'riċerka konvenjenti għall-qasam tal-Komunikazzjoni u l-Ipproċessar tas-Sinjal.
Għan:
M'hemm l-ebda ħtieġa li jisparaw għasafar minn kanun (sakemm għan edukattiv bħal dan ma jkunx, ovvjament, worth it): bl-użu ta 'Simulink, ħadna nsolvu problema sempliċi b'għodda sofistikata.
GUI hija tajba, iżda li tifhem dak li jinsab "taħt il-barnuża" huwa aħjar.
U issa, peress li ’l bogħod milli nkun student, irrid ngħid dan li ġej lill-fratellanza studenteska:
Dare!
Ipprova tikteb il-kodiċi, anki jekk għall-ewwel huwa ħażin. Bl-ipprogrammar, bħal kull attività oħra, l-aktar parti diffiċli hija l-bidu. U huwa aħjar li tibda qabel: jekk int xjenzat jew saħansitra sempliċiment techie, illum jew għada jkollok bżonn din il-ħila.
Domanda!
Itlob approċċi u għodod progressivi mill-għalliema u s-superviżuri. Jekk dan huwa possibbli, ovvjament...
Oħloq!
Fejn inkella huwa aħjar li tgħaddi mill-feriti kollha ta 'Bidu, jekk mhux fil-qafas ta' programm edukattiv? Oħloq u perfezzjona l-ħiliet tiegħek - għal darb'oħra, aktar ma tibda malajr, aħjar.
Programmaturi li qed jaspiraw mill-pajjiżi kollha, ingħaqdu!
PS
Sabiex nirreġistra r-relazzjoni diretta tiegħi mal-istudenti, qed nehmeż ritratt memorabbli tal-2017 ma’ żewġ retturi: Peter Scharff (fuq il-lemin) u Albert Kharisovich Gilmutdinov (fuq ix-xellug).
Kien ta’ min jispiċċa l-programm għall-inqas għal dawn il-kostumi! (niċċajta)