ProHoster > ΠΠ»ΠΎΠ³ > xov xwm hauv internet > "Manifesto rau pib programmers los ntawm lwm yam tshwj xeeb" lossis yuav ua li cas kuv tau mus txog qhov no hauv lub neej
"Manifesto rau pib programmers los ntawm lwm yam tshwj xeeb" lossis yuav ua li cas kuv tau mus txog qhov no hauv lub neej
Lub ntsiab lus hauv peb qhov kev tsis ntseeg yog cov kab lus ntawm ib tus tub ntxhais kawm xyoo ob (lawv nyuam qhuav rov qab los rau Russia los ntawm lub sijhawm ntawd):
Tsis nco qab, tsawg kawg rau lub sijhawm ua haujlwm, txog Similink, MathCad thiab lwm yam LabView - hla toj txhua yam yog sau rau hauv MATLAB, siv MatLab nws tus kheej lossis nws cov "version" Octave dawb.
Cov lus tshaj tawm tau ua qee qhov tseeb: hauv Ilmenau, qhov kev tsis sib haum xeeb ntawm kev xaiv cov cuab yeej kuj tseem tsis tau daws tag nrho. Muaj tseeb, qhov kev xaiv feem ntau ntawm MATLAB, Python thiab C.
Es tsis txhob theoretical xam, kuv yuav tsuas muab ib qhov txuas rau qhov no tsab xov xwm zoo heev 2011 los ntawm tgx ua thiab ntawm cov slides LTE lub cev txheej xibfwb Michel-Tila (TU Ilmenau). Kuv xav tias qhov no yuav txaus.
"Yog li,"Kuv xav tias, "peb rov qab, peb yuav ua li cas rau tus qauv?"
Peb yuav ua qauv OFDM ncej generator (OFDM ncej generator).
Dab tsi nws yuav suav nrog:
cov ntaub ntawv cim
pilot signals
zeros (DC)
Dab tsi (rau lub hom phiaj ntawm simplicity) peb paub daws teeb meem los ntawm:
los ntawm kev ua qauv rau lub voj voog ua ntej (yog tias koj paub cov hauv paus, ntxiv nws yuav tsis yooj yim)
Thaiv daim duab ntawm tus qauv nyob rau hauv kev xav. Peb yuav nres ntawm qhov rov qab FFT (IFFT) thaiv. Txhawm rau ua kom tiav daim duab, txhua tus tuaj yeem txuas ntxiv rau lawv tus kheej - Kuv tau cog lus rau cov kws qhia ntawv los ntawm lub tuam tsev yuav tso ib yam dab tsi rau cov tub ntxhais kawm.
Cia peb txhais cov ntawd rau peb tus kheej. kev tawm dag zog:
Cov ntaub ntawv cim tau hloov kho siv M-PSK lossis M-QAM, qhov twg M yog qhov kev txiav txim.
Cia peb pib nrog tus lej.
Tag nrho cov ntawv tuaj yeem rub tawm los ntawm txuas.
Cia peb txhais cov input parameters:
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
Tam sim no peb txiav txim siab qhov ntsuas ntawm cov ntaub ntawv cov cim, lees paub qhov chaw uas cov cim qhia yuav tsum tau mus ua ntej thiab / lossis tom qab xoom:
%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);
Tam sim no cia peb nkag siab cov cim qhia.
Peb muaj ib tug template (variable pilots), thiab cia peb hais tias peb xav tau cov neeg tsav dav hlau los ntawm cov qauv no kom muab tso rau hauv peb lub thav duab ua ntu zus. Tau kawg, qhov no tuaj yeem ua tiav hauv lub voj voog. Lossis koj tuaj yeem ua si me ntsis nrog matrices - hmoov zoo MATLAB tso cai rau koj ua qhov no nrog kev nplij siab txaus.
Ua ntej, cia peb txiav txim siab pes tsawg tus qauv no haum rau hauv tus ncej:
pilots_len_psudo = floor(N_pil/length(pilots));
Tom ntej no, peb tsim ib lub vector uas muaj peb cov qauv:
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
Txhua yam yog npaj txhij! Assembling lub thav duab:
Tsis tas yuav tua sparrows los ntawm rab phom (tshwj tsis yog tias lub hom phiaj kev kawm no yog, ntawm chav kawm, tsim nyog): siv Simulink, peb tau daws qhov teeb meem yooj yim nrog cov cuab yeej ntse.
GUI yog qhov zoo, tab sis kev nkag siab txog dab tsi muaj "hauv qab hood" yog qhov zoo dua.
Thiab tam sim no, nyob deb ntawm kev ua tub ntxhais kawm, kuv xav hais cov lus hauv qab no rau cov tub ntxhais kawm fraternity:
Mus rau nws!
Sim sau code, txawm tias nws phem thaum xub thawj. Nrog programming, zoo li nrog rau lwm yam kev ua, qhov nyuaj tshaj plaws yog qhov pib. Thiab nws yog qhov zoo dua los pib ua ntej: yog tias koj yog tus kws tshawb fawb lossis txawm tias tsuas yog techie, sai lossis tom qab koj yuav xav tau cov txuj ci no.
Xav tau!
Xav tau kev nce qib thiab cov cuab yeej los ntawm cov kws qhia ntawv thiab tus saib xyuas. Yog tias qhov no ua tau, tau kawg ...
Tsim!
Qhov twg yog qhov zoo dua kom dhau txhua qhov mob ntawm tus neeg pib tshiab, yog tias tsis nyob hauv lub moj khaum ntawm qhov kev kawm? Tsim thiab ua kom koj cov kev txawj ntse - dua, sai dua koj pib, qhov zoo dua.
Aspiring programmers los ntawm txhua lub teb chaws, koom ua ke!
PS
Txhawm rau sau kuv txoj kev sib raug zoo nrog cov tub ntxhais kawm, Kuv tau txuas ib daim duab nco txog xyoo 2017 nrog ob tus kws kho mob: Peter Scharff (saum sab xis) thiab Albert Kharisovich Gilmutdinov (sab laug).
Nws tsim nyog ua tiav qhov program tsawg kawg rau cov khaub ncaws no! (loj)