"Ngosipụta maka mmalite mmemme sitere na ọkachamara metụtara ya" ma ọ bụ ka m si ruo ebe a na ndụ

Edemede m taa bụ echiche siri ike sitere n'aka onye were ụzọ mmemme ihe fọrọ nke nta ka ọ bụrụ na mberede (ọ bụ ezie na o bu pụta ụwa).

Ee, aghọtara m na ahụmịhe m bụ naanị ahụmịhe m, mana ọ dị m ka ọ dabara nke ọma na usoro izugbe. Ọzọkwa, ahụmahụ a kọwara n'okpuru ebe a metụtara ihe ndị ọzọ na ubi nke sayensị ọrụ, ma ihe hell na-adịghị na-egwu egwu - ọ nwere ike bara uru n'èzí.

"Ngosipụta maka mmalite mmemme sitere na ọkachamara metụtara ya" ma ọ bụ ka m si ruo ebe a na ndụ
isi: https://xkcd.com/664/

N'ozuzu, raara onwe ya nye ụmụ akwụkwọ niile ugbu a site na nwa akwụkwọ mbụ!

Na-atụ anya

Mgbe m gụchara nzere bachelọ m na Infocommunication Technologies and Communication Systems na 2014, amaghị m ihe ọ bụla gbasara ụwa mmemme. Ee, dị ka ọtụtụ ndị ọzọ, ewerere m isiokwu “Computer Science” n'afọ mbụ m - mana, Onyenwe anyị, ọ bụ n'afọ mbụ m! Ọ bụla mgbe ebighị ebi!

N'ozuzu, anaghị m atụ anya ihe ọ bụla dị iche na nzere bachelọ, na mgbe m banyere mmemme nke nna ukwu "Nkwukọrịta na nhazi akara ngosi" German-Russian Institute of New Teknụzụ.

Ma n'efu ...

Anyị bụ naanị ndị nke abụọ oriri, na ụmụ okorobịa si nke mbụ ka na-akpakọba akpa ha maka anya Germany (n'ịrụ ọrụ na-ewe ọnwa isii n'afọ nke abụọ nke a master's degree). N'ikwu ya n'ụzọ ọzọ, ọ dịghị onye si n'akụkụ gburugburu ahụ nke ọma zutere ụzọ nke agụmakwụkwọ Europe, ọ dịghịkwa onye ga-ajụ maka nkọwa.

N'ime afọ mbụ anyị, n'ezie, anyị nwere ụdị omume dị iche iche, nke a na-enyekarị anyị n'usoro ọchịchị onye kwuo uche ya nhọrọ n'etiti ide edemede (karịsịa n'asụsụ MATLAB) na iji GUI dị iche iche pụrụ iche (n'echiche bụ na na-enweghị ide edemede - simulation). gburugburu ebe obibi).

"Ngosipụta maka mmalite mmemme sitere na ọkachamara metụtara ya" ma ọ bụ ka m si ruo ebe a na ndụ

Ọ baghị uru ikwu, anyị, ndị Nna-ukwu nke Sayensị n'ọdịnihu, site na nzuzu ntorobịa anyị, zere koodu ederede dị ka ọkụ. Ebe a, dịka ọmụmaatụ, bụ Simulink sitere na MathWorks: ebe a bụ ngọngọ, ebe a bụ njikọ, ebe a bụ ụdị ntọala na mgbanwe niile.

Echiche nke obodo na nghọta nye onye rụburu ọrụ na nhazi sekit na injinịa sistemu!

"Ngosipụta maka mmalite mmemme sitere na ọkachamara metụtara ya" ma ọ bụ ka m si ruo ebe a na ndụ
isi: https://ch.mathworks.com/help/comm/examples/parallel-concatenated-convolutional-coding-turbo-codes.html

Ya mere, ọ dị anyị ...

Eziokwu

Otu n'ime ọrụ bara uru nke semester mbụ bụ mmepe nke transceiver mgbaàmà OFDM dị ka akụkụ nke isiokwu "Ụzọ maka Modeling na Optimization". Echiche a na-aga nke ọma: teknụzụ ka dị mkpa ma bụrụkwa ewu ewu n'ihi ojiji ya, dịka ọmụmaatụ, na netwọk Wi-Fi na LTE/LTE-A (n'ụdị OFDMA). Nke a bụ ihe kacha mma maka ndị nna ukwu ka ha na-eme nkà ha n'ịhazi usoro telecom.

"Ngosipụta maka mmalite mmemme sitere na ọkachamara metụtara ya" ma ọ bụ ka m si ruo ebe a na ndụ

Ma ugbu a, a na-enye anyị ọtụtụ nhọrọ nke nkọwa teknụzụ nke doro anya na-adịghị arụ ọrụ etiti etiti (ka ị ghara ịchọ ngwọta na ịntanetị), anyị na-atụkwa anya na Simulink a kpọtụrụ aha ... Ma anyị na-eji teapot kụọ isi nke eziokwu:

  • Ihe mgbochi ọ bụla jupụtara na ọtụtụ ihe ndị a na-amaghị ama, nke na-atụ egwu ịgbanwe na nkwụsị nke okpu.
  • Ekwesịrị ime mmegharị ahụ na ọnụọgụgụ, ọ dị ka ọ dị mfe, mana ị ka ga-eme mkpọtụ, Chukwu ekwela.
  • Igwe Katidral na-agbadata nke ọma site na iji ọkụ ọkụ nke GUI eme ihe, ọbụlagodi na ọkwa nke ịkwọ ụgbọ mmiri site na ọba akwụkwọ nke ngọngọ dịnụ.
  • Iji mechaa ihe n'ụlọ, ị ga-enwe otu Simulink. Na, n'ezie, ọ dịghị ọzọ.

Ee, n'ikpeazụ anyị, n'ezie, rụchara ọrụ ahụ, ma anyị mezuru ya na oke ume ume.

Oge ụfọdụ gafere, anyị bịarutere na ngwụcha afọ mbụ nke nzere masta. Ọnụ ọgụgụ nke ihe omume ụlọ n'ụlọ na-eji GUI malitere ịda n'ụzọ kwesịrị ekwesị na mmụba na oke nke isiokwu German, n'agbanyeghị na ọ rutebeghị n'ọnọdụ mgbanwe mgbanwe. Ọtụtụ n'ime anyị, gụnyere m, na-emeri njupụta anyị dị ukwuu iji wulite, na-eji Matlab eme ihe n'ọrụ sayensị anyị (n'agbanyeghị n'ụdị igbe igbe), ọ bụghị Simulink nke a maara nke ọma.

Isi ihe dị na obi abụọ anyị bụ nkebi ahịrịokwu nke otu n'ime ụmụ akwụkwọ nke afọ nke abụọ (ha ka laghachiri Russia n'oge ahụ):

  • Chezọ, opekata mpe maka oge nkuzi, gbasara Similink, MathCad na LabView ndị ọzọ - n'elu ugwu ka edere ihe niile na MATLAB, na-eji MatLab n'onwe ya ma ọ bụ “ụdị” Octave n'efu.

Okwu a tụgharịrị bụrụ eziokwu: na Ilmenau, esemokwu maka nhọrọ ngwaọrụ emebeghịkwa nke ọma. N'ezie, nhọrọ kachasị n'etiti MATLAB, Python na C.

N'otu ụbọchị ahụ, obi ụtọ sitere n'okike were m: ọ bụ na agaghị m ebufe akụkụ m nke ihe nfesa OFDM n'ime ụdị edemede? Naanị maka ntụrụndụ.

M wee rụọ ọrụ.

Nzọpụ ụkwụ

Kama usoro mgbakọ na mwepụ, m ga-enye njikọ na nke a magburu onwe isiokwu 2011 site na tgx na na slides oyi akwa anụ ahụ LTE ndị prọfesọ Michel-Tila (TU Ilmenau). Echere m na nke a ga-ezuru.

"Ya mere," ka m chere, "ka anyị kwugharịa, gịnị ka anyị ga-eṅomi?"
Anyị ga-eṅomi OFDM frame generator (OFDM frame generator).

Ihe ọ ga-agụnye:

  • akara ozi
  • akara ngosi pilot
  • efu (DC)

Kedu ihe (n'ihi ịdị mfe) anyị na-ewepụta na:

  • site na ịmegharị prefix cyclic (ọ bụrụ na ị maara ihe ndị bụ isi, ịgbakwụnye ọ gaghị esi ike)

"Ngosipụta maka mmalite mmemme sitere na ọkachamara metụtara ya" ma ọ bụ ka m si ruo ebe a na ndụ

Mgbochi eserese nke ihe nlereanya a na-atụle. Anyị ga-akwụsị na ngbanwe FFT (IFFT) ngọngọ. Iji mezue foto ahụ, onye ọ bụla nwere ike ịga n'ihu na-ezu ike n'onwe ha - ekwere m ndị nkụzi si ngalaba ahụ ka ha hapụ ihe maka ụmụ akwụkwọ.

Ka anyị kọwaa ndị ahụ maka onwe anyị. mmega ahụ:

  • ọnụ ọgụgụ a kapịrị ọnụ nke sub-ebu;
  • ogologo etiti etiti;
  • anyị ga-agbakwunye otu efu n'etiti na otu ụzọ efu na mmalite na njedebe nke etiti (mkpokọta, 5 iberibe);
  • A na-ahazi akara ozi site na iji M-PSK ma ọ bụ M-QAM, ebe M bụ usoro mgbanwe.

Ka anyị jiri koodu malite.

Enwere ike ibudata edemede niile site na njikọ.

Ka anyị kọwapụta paramita ntinye:

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

Ugbu a, anyị na-ekpebi indices nke akara ozi, ịnakwere ihe nrịbama ndị na-anya ụgbọ elu ga-abụrịrịrịrị tupu na/ma ọ bụ mgbe efu:

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

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

Mgbe ahụ enwere ike ikpebi ọnọdụ ndị ahụ site na iji ọrụ ahụ linspace, na-ebelata ụkpụrụ gaa na nke kacha nta n'ime ọnụọgụ kacha nso:

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

Ka anyị tinye ndeksi efu na nke a wee hazie:

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

N'ihi ya, akara ngosi pilot bụ ihe ọ bụla ọzọ:

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

Ugbu a, ka anyị ghọta mgbama pilot.

Anyị nwere template (variable ndị ọkwọ ụgbọ elu), ka anyị kwuokwa na anyị chọrọ ka etinye ndị ọkwọ ụgbọ elu si na ndebiri a n'usoro n'usoro. N'ezie, nke a nwere ike ime na loop. Ma ọ bụ ị nwere ike iji matrices gwuo ntakịrị aghụghọ - ọ dabara nke ọma, MATLAB na-enye gị ohere iji nkasi obi zuru oke mee nke a.

Nke mbụ, ka anyị chọpụta ole n'ime ndebiri ndị a dabara kpamkpam na etiti ahụ:

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

Ọzọ, anyị na-etolite a vector nke nwere ndebiri anyị:

% 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

Anyị na-akọwakwa obere vector nke nwere naanị mpempe template - "ọdụ", nke na-adabaghị kpamkpam na etiti:

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

Anyị nwetara agwa pilot:

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

Ka anyị gaa n'ihu na akara ozi, ya bụ, anyị ga-emepụta ozi ma gbanwee ya:

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 

Ihe niile dị njikere! Na-achịkọta etiti:

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

Ị kwesịrị ị nweta ihe dị ka nke a:

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

"Obi ụtọ!" — M chere afọ ojuju wee mechie laptọọpụ. O were m awa ole na ole iji mee ihe niile: gụnyere koodu ederede, ịmụta ụfọdụ ọrụ Matlab na iche echiche site na usoro mgbakọ na mwepụ.

Kedu nkwubi okwu m chere mgbe ahụ?

Isiokwu:

  • Koodu ederede na-atọ ụtọ ma dị ka uri!
  • Edemede bụ usoro nyocha kacha dabara adaba maka ngalaba nkwukọrịta na nhazi akara ngosi.

Ebumnuche:

  • Ọ dịghị mkpa gbaa nza site na egbe (ọ gwụla ma ihe mgbaru ọsọ agụmakwụkwọ dị otú ahụ bara uru): iji Simulink, anyị ji ngwá ọrụ ọkaibe dozie nsogbu dị mfe.
  • GUI dị mma, mana ịghọta ihe dị n'ime "n'okpuru mkpuchi" ka mma.

Ma ugbua, ebe m nọ n'ebe dị anya na ịbụ nwa akwụkwọ, achọrọ m ịsị ndị otu ụmụ akwụkwọ ihe ndị a:

  • Ghaa ya!

Gbalịa ịde koodu, ọbụlagodi na ọ dị njọ na mbụ. Site na mmemme, dị ka ọ dị na ọrụ ọ bụla ọzọ, akụkụ kacha sie ike bụ mmalite. Ma ọ ka mma ịmalite na mbụ: ọ bụrụ na ị bụ ọkà mmụta sayensị ma ọ bụ ọbụna naanị teknụzụ, n'oge na-adịghị, ị ga-achọ nkà a.

  • Achọrọ!

Chọrọ ụzọ na ngwa ọrụ na-aga n'ihu n'aka ndị nkuzi na ndị nlekọta. Ọ bụrụ na nke a ga-ekwe omume, n'ezie ...

  • Mepụta!

Ebe ọzọ ka ọ ka mma iji nweta ọnya niile nke onye mbido, ma ọ bụrụ na ọ bụghị n'ime usoro nke mmemme mmụta? Mepụta ma kwalite nkà gị - ọzọ, ngwa ngwa ịmalite, ọ ga-aka mma.

Ndị na-achọ mmemme sitere na mba niile, dịrị n'otu!

PS

Iji dekọọ mmekọrịta mụ na ụmụ akwụkwọ, ana m ejikọta foto na-echefu echefu nke 2017 na ndị rectors abụọ: Peter Scharff (n'aka nri) na Albert Kharisovich Gilmutdinov (n'aka ekpe).

"Ngosipụta maka mmalite mmemme sitere na ọkachamara metụtara ya" ma ọ bụ ka m si ruo ebe a na ndụ

Ọ bara uru ịmecha mmemme ahụ ma ọ dịkarịa ala maka uwe ndị a! (na-egwu egwuregwu)

isi: www.habr.com

Tinye a comment