“Manifesto do ríomhchláraitheoirí tosaigh ó speisialtachtaí gaolmhara” nó conas a tháinig mé go dtí an pointe seo i mo shaol

Is é an t-alt atá agam inniu ná smaointe os ard ó dhuine a ghlac cosán na ríomhchláraithe de thimpiste (cé go nádúrtha).

Sea, tuigim gurb é mo thaithí ach mo thaithí, ach feictear dom go luíonn sé go maith leis an treocht ghinearálta. Thairis sin, baineann an taithí a thuairiscítear thíos níos mó le réimse na gníomhaíochta eolaíochta, ach cad nach bhfuil an ifreann kidding - is féidir é a bheith úsáideach lasmuigh.

“Manifesto do ríomhchláraitheoirí tosaigh ó speisialtachtaí gaolmhara” nó conas a tháinig mé go dtí an pointe seo i mo shaol
Foinse: https://xkcd.com/664/

Go ginearálta, tiomanta do gach mac léinn reatha ó iar-mhac léinn!

Ionchais

Nuair a chríochnaigh mé mo chéim bhaitsiléara i dTeicneolaíochtaí Faisnéise agus Córais Chumarsáide in 2014, ní raibh a fhios agam beagnach aon rud faoi shaol na gclár. Sea, cosúil le go leor eile, ghlac mé an t-ábhar “Eolaíocht Ríomhaireachta” i mo chéad bhliain - ach, a Thiarna, bhí sé i mo chéad bhliain! Tá sé ina eternity!

Go ginearálta, ní raibh mé ag súil le haon rud difriúil go háirithe ó chéim bhaitsiléara, agus nuair a chuaigh mé isteach sa chlár máistreachta "Cumarsáid agus Próiseáil Comhartha" Gearmáinis-Rúisis Institiúid Teicneolaíochtaí Nua.

Ach go neamhbhalbh ...

Ní raibh againn ach an dara iontógáil, agus bhí na guys ón gcéad cheann fós ag pacáil a gcuid málaí don Ghearmáin i bhfad i gcéin (tógann an intéirneacht sé mhí sa dara bliain de chéim mháistreachta). I bhfocail eile, ní raibh aon duine ón ngarchiorcal tar éis dul i ngleic go dáiríre faoi mhodhanna an oideachais Eorpaigh, agus ní raibh aon duine le fiafraí faoi na sonraí.

In ár gcéad bhliain, ar ndóigh, bhí cineálacha éagsúla cleachtais againn, inar tugadh rogha daonlathach dúinn de ghnáth idir scríobh scripteanna (go príomha sa teanga MATLAB) agus úsáid a bhaint as GUIanna an-speisialaithe éagsúla (sa chiall gur féidir gan scripteanna a scríobh - insamhalta. timpeallachtaí samhaltú).

“Manifesto do ríomhchláraitheoirí tosaigh ó speisialtachtaí gaolmhara” nó conas a tháinig mé go dtí an pointe seo i mo shaol

Ní gá a rá, rinne muidne, Máistrí na hEolaíochta amach anseo, amach as ár stuamacht óige, cód a scríobh cosúil le tine a sheachaint. Anseo, mar shampla, tá Simulink ó MathWorks: seo iad na bloic, seo iad na naisc, anseo tá gach cineál socruithe agus lasca.

Dearcadh atá dúchasach agus intuigthe do dhuine a d'oibrigh roimhe seo i ndearadh ciorcad agus innealtóireacht chórais!

“Manifesto do ríomhchláraitheoirí tosaigh ó speisialtachtaí gaolmhara” nó conas a tháinig mé go dtí an pointe seo i mo shaol
Foinse: https://ch.mathworks.com/help/comm/examples/parallel-concatenated-convolutional-coding-turbo-codes.html

Mar sin ba chuma linn...

Réaltacht

Ar cheann de shaothair phraiticiúla an chéad seimeastar bhí trasghlacadóir comhartha OFDM a fhorbairt mar chuid den ábhar “Modhanna le haghaidh Samhaltú agus Optimization”. Tá an smaoineamh an-rathúil: tá an teicneolaíocht fós ábhartha agus coitianta go leor mar gheall ar a húsáid, mar shampla, i líonraí Wi-Fi agus LTE / LTE-A (i bhfoirm OFDMA). Is é seo an rud is fearr le máistrí a gcuid scileanna a chleachtadh i samhaltú córais teileachumarsáide.

“Manifesto do ríomhchláraitheoirí tosaigh ó speisialtachtaí gaolmhara” nó conas a tháinig mé go dtí an pointe seo i mo shaol

Agus anois tugtar roinnt roghanna de shonraíochtaí teicniúla dúinn le paraiméadair fhráma ar ndóigh nach bhfuil praiticiúil (ionas nach mbeimid ag lorg réiteach ar an Idirlíon), agus bímid ag preabadh ar an Simulink a luadh cheana ... na réaltachta:

  • Tá go leor paraiméadair anaithnid ag gach bloc, atá scanrúil a athrú ag titim hata.
  • Ní mór na manipulations le huimhreacha a dhéanamh, is cosúil, simplí, ach tá tú fós a fuss, Dia forbid.
  • Moilliú suntasach ar mheaisíní ardeaglaise ó úsáid frantic an GUI, fiú ag an gcéim surfing trí leabharlanna na bloic atá ar fáil.
  • Chun rud éigin a chríochnú sa bhaile, ní mór duit an Simulink céanna a bheith agat. Agus, i ndáiríre, aon roghanna eile.

Sea, sa deireadh, ar ndóigh, chríochnaigh muid an tionscadal, ach chríochnaigh muid é le easanálú ard faoisimh.

Chuaigh roinnt ama thart, agus tháinig muid go dtí deireadh na chéad bhliana den chéim mháistreachta. Thosaigh méid na hoibre baile a úsáideann GUIanna ag titim go comhréireach leis an méadú ar chomhréir na n-ábhar Gearmáinise, cé nach raibh athrú paraidíme bainte amach aige go fóill. Is iomaí duine againn, mise san áireamh, ag sárú ár n-aimplitiúid shuntasach chun cur le chéile, agus níos mó úsáideadh Matlab inár dtionscadail eolaíochta (cé gur i bhfoirm Boscaí Uirlisí iad), agus ní ar Simulink a bhfuil aithne air de réir dealraimh.

Ba é an pointe a bhí faoi ár n-amhras ná frása duine de mhic léinn na dara bliana (bhí díreach tar éis filleadh ar an Rúis faoin am sin):

  • Déan dearmad, ar a laghad ar feadh ré na hintéirneachta, faoi Similink, MathCad agus LabView eile - thar an gcnoc tá gach rud scríofa i MATLAB, ag baint úsáide as MatLab féin nó a “leagan” Octave saor in aisce.

Bhí an ráiteas fíor go páirteach: in Ilmenau, níor réitíodh go hiomlán an t-aighneas faoi rogha na n-uirlisí freisin. Fíor, bhí an rogha den chuid is mó idir MATLAB, Python agus C.

Ar an lá céanna, bhí sceitimíní nádúrtha orm: nár cheart dom mo chuid de shamhail tarchuradóra OFDM a aistriú go foirm scripte? Díreach le haghaidh spraoi.

Agus fuair mé a bheith ag obair.

Céim ar chéim

In ionad ríomhaireachtaí teoiriciúla, ní thabharfaidh mé ach nasc chuige seo alt den scoth 2011 ó tgx agus ar na sleamhnáin Ciseal fisiciúil LTE Ollúna Michel-Tila (TU Ilmenau). Sílim go mbeidh sé seo go leor.

“Mar sin,” shíl mé, “déanaimid arís, cad atá le déanamh againn?”
Déanfaimid múnla Gineadóir fráma OFDM (gineadóir fráma OFDM).

Cad a chuimseoidh sé:

  • siombailí faisnéise
  • comharthaí píolótach
  • nialais (DC)

Cad (ar mhaithe le simplíocht) as a dtugaimid:

  • ó réimír timthriallach a shamhaltú (má tá na bunghnéithe ar eolas agat, ní bheidh sé deacair é a chur leis)

“Manifesto do ríomhchláraitheoirí tosaigh ó speisialtachtaí gaolmhara” nó conas a tháinig mé go dtí an pointe seo i mo shaol

Blocléaráid den mhúnla atá á bhreithniú. Stopfaimid ag an mbloc inbhéartach FFT (IFFT). Chun an pictiúr a chríochnú, is féidir le gach duine leanúint leis an gcuid eile iad féin - gheall mé do na múinteoirí ón roinn rud éigin a fhágáil do na daltaí.

Déanaimis iad siúd a shainiú dúinn féin. aclaíocht:

  • líon seasta fo-iompróirí;
  • fad fráma seasta;
  • ní mór dúinn náid amháin a chur sa lár agus péire nialais ag tús agus deireadh an fhráma (iomlán, 5 phíosa);
  • modhnaítear siombailí faisnéise trí úsáid a bhaint as M-PSK nó M-QAM, áit arb é M an t-ord modhnúcháin.

Let tús leis an gcód.

Is féidir an script iomlán a íoslódáil ó nasc.

Déanaimis na paraiméadair ionchuir a shainiú:

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

Anois cinnimid innéacsanna na siombailí faisnéise, ag glacadh leis an mbonn go gcaithfidh comharthaí píolótach dul roimh agus/nó tar éis nialais:

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

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

Ansin is féidir na seasaimh a chinneadh ag baint úsáide as an bhfeidhm linspás, ag laghdú na luachanna go dtí an ceann is lú de na slánuimhreacha is gaire:

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

Cuirimis innéacsanna nialais leis seo agus sórtálaimis:

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

Dá réir sin, is iad na hinnéacsanna comhartha píolótach gach rud eile:

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

Anois tuigimid comharthaí píolótach.

Tá teimpléad againn (athróg píolótaí), agus déarfaimis gur mhaith linn píolótaí ón teimpléad seo a chur isteach inár bhfráma go seicheamhach. Ar ndóigh, is féidir é seo a dhéanamh i lúb. Nó is féidir leat beagán tricky a imirt le maitrísí - go fortunately ligeann MATLAB duit é seo a dhéanamh le compord leordhóthanach.

Ar dtús, déanaimis a chinneadh cé mhéad de na teimpléid seo a oireann go hiomlán don fhráma:

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

Ansin, foirmímid veicteoir atá comhdhéanta dár teimpléid:

% 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

Agus sainmhínímid veicteoir beag nach bhfuil ach píosa den teimpléad - an "eireaball", nach luíonn go hiomlán sa fhráma:

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

Faighimid carachtair phíolótacha:

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

Bogfaimid ar aghaidh chuig siombailí faisnéise, is é sin, cruthóimid teachtaireacht agus modhnóimid í:

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 

Tá gach rud réidh! An fráma a chur le chéile:

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

Ba cheart duit rud éigin mar seo a fháil:

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

"Bliss!" - Shíl mé go sásta agus dhún mé an ríomhaire glúine. Thóg sé cúpla uair an chloig dom gach rud a dhéanamh: lena n-áirítear cód a scríobh, roinnt feidhmeanna Matlab a fhoghlaim agus smaoineamh trí chleasanna matamaitice.

Cad iad na conclúidí a tháinig mé ansin?

Suibiachtúil:

  • Tá scríobh cód taitneamhach agus cosúil leis an bhfilíocht!
  • Is é an scripteáil an modh taighde is áisiúla do réimse na Cumarsáide agus Próiseála Comhartha.

Cuspóir:

  • Ní gá gealbhain a shoot as gunna (mura rud é, ar ndóigh, is fiú sprioc oideachais den sórt sin): ag baint úsáide as Simulink, ghlacamar le fadhb shimplí a réiteach le huirlis sofaisticiúla.
  • Tá GUI go maith, ach is fearr tuiscint a fháil ar a bhfuil “faoin gcochall”.

Agus anois, agus mé i bhfad ó bheith i mo mhac léinn, ba mhaith liom an méid seo a leanas a rá le bráithreachas na mac léinn:

  • Dare!

Bain triail as cód a scríobh, fiú má tá sé olc ar dtús. Maidir le ríomhchlárú, mar aon le haon ghníomhaíocht eile, is é an chuid is deacra an tús. Agus is fearr tosú níos luaithe: más eolaí thú nó fiú teicneoir, beidh an scil seo de dhíth ort luath nó mall.

  • Éileamh!

Cur chuige agus uirlisí forásacha a éileamh ó mhúinteoirí agus ó mhaoirseoirí. Más féidir é seo ar ndóigh...

  • Cruthaigh!

Cá háit eile a bhfuil sé níos fearr dul i ngleic le gach cneácha atá ag tosaitheoirí, mura bhfuil sé laistigh de chreat an chláir oideachais? Cruthaigh agus hone do scileanna - arís, dá luaithe a thosaíonn tú, is amhlaidh is fearr.

Ríomhchláraitheoirí uaillmhianacha ó gach tír, aonaigh!

PS

Chun mo chaidreamh díreach le mic léinn a thaifeadadh, tá mé ag gabháil le grianghraf i gcuimhne de 2017 le beirt reachtairí: Peter Scharff (ar dheis) agus Albert Kharisovich Gilmutdinov (ar chlé).

“Manifesto do ríomhchláraitheoirí tosaigh ó speisialtachtaí gaolmhara” nó conas a tháinig mé go dtí an pointe seo i mo shaol

B’fhiú an clár a chríochnú ar a laghad do na cultacha seo! (kidding)

Foinse: will.com

Add a comment