The on-going, global deployment of 5G technologies is expected to introduce a huge influx of connected devices as well as ever-growing data rates. Due to the constricting latency and reliability requirements of 5G networks specified by the 3rd Generation Partnership Project (3GPP), software and hardware are required to operate in an exceedingly swift and reliable manner. These requirements introduce new design challenges for 5G algorithm and hardware development.
In order to enable data transmission between a mobile device and a base station, the channel between them has to be estimated. Covariance matrix estimation conducted within sounding reference signal (SRS) -based channel estimation is a crucial part of the signal chain in establishing the channel. In this master's thesis, a conventional sample covariance matrix estimation algorithm was redesigned and compared to an existing solution that had been developed for a CEVA-XC4500 vector processor. Additionally, comparisons with scalar processor algorithms were executed, and the effect of code optimisation, using tools provided by CEVA, was examined.
The newly redesigned algorithm was developed for it to utilise the Hermitian property of the matrix. To elaborate, with this implementation, only a partially complete matrix would need to be produced. Thus, in order to complete the matrix, merely reorganisation and sign changes of certain elements would need to be carried out instead of the computationally heavy multiplication and summation operations.
Computational savings of roughly 19% were observed to be achievable on certain SRS bandwidths with the new algorithm architecture, which utilises the Hermitian property. The algorithm, which did not utilise the Hermitian property, equalled the original design in cycle counts. Moreover, the CEVA-provided optimisation tools accounted for an even more drastic drop in algorithm cycle counts, which solidified the notion that using processors developed strictly for data-parallel processing is reckoned to be a superior design choice. Upon code optimisation, cycle count savings of over 91% were observed for the vector processor and over 83% for the scalar processor implementation. Scalar vector processor algorithms were far inferior yielding cycle counts greater by at least an order of magnitude even in the best-case scenario.
Viidennen sukupolven matkapuhelinverkkojen maailmanlaajuisen käyttöönoton odotetaan tuovan mukanaan valtavan määrän verkkoon kytkettyjä laitteita sekä yhä suurempia datansiirtonopeuksia. Tämän lisäksi ohjelmisto- sekä laitekehitys tulevat kohtaamaan uusia haasteita 5G-verkkojen korkeiden luotettavuus- ja viiveaikavaatimusten saavuttamiseksi.
Kovarianssimatriisiestimointi, joka suoritetaan luotausreferenssisignaali- eli sounding reference signal (SRS) -pohjaisessa kanavaestimoinnissa, on keskeinen SRS-signaaliketjun osakokonaisuus. Signaaliketjun avulla käyttäjälaitteiden ja tukiasemien välille pystytään nopeasti muodostamaan kanava ja tuottamaan sen kanavaestimaatti. Tämän diplomityön tavoitteena oli toteuttaa uudelleensuunnittelu näytekovarianssimatriisin estimointialgoritmille ja verrata sen toimintaa olemassa olevaan CEVA-XC4500-vektoriprosessorille kehitettyyn toteutukseen. Tehokkuutta vertailtiin perinteisiin toiminnaltaan samankaltaisiin skalaariprosessorialgoritmeihin. Lisäksi CEVAn kehittämien optimisiontityökalujen tehokkuutta mitattiin algoritmioptimisoinnin näkökulmasta.
Uudelleen suunniteltu algoritmi kehitettiin siten, että se pystyisi hyödyntämään hermiittisyytenä tunnettua matemaattista ominaisuutta, jonka mukaan matriisin diagonaalin ylä- ja alapuolella olevat kompleksiluvut ovat toistensa kompleksikonjugaatteja. Toisin sanoen uuden algoritmin onnistuisi tuottamaan ala- tai yläkolmiomatriisin elementit ilman laskennallisesti raskaita kerto- ja yhteenlaskuoperaatioita.
Uudella matriisihermiittisyyttä hyödyntävällä algoritmilla pystyttiin saavuttamaan noin 19 % syklimääräinen säästö tietyillä SRS-kaistanleveyksillä. Lisäksi uudelleen suunniteltu, mutta koko matriisin tuottava algoritmi oli käytännössä katsoen täysin yhtä tehokas. Myös CEVAn tarjoamien optimisointityökalujen käytöllä kyettiin saavuttamaan merkittävästi pienempiä syklilukuja. Tämä huomio vahvisti käsitystä siitä, että vektoriprosessorien käyttö datarinnakkaisuutta hyödyntävissä laskutoimituksissa on ehdottoman ylivoimainen vaihtoehto. Ohjelmakoodioptimisoinnilla saavutettiin yli 83 % säästöjä skalaariprosessorialgoritmeille ja yli 91 % säästöjä vektoriprosessorialgoritmeille. Skalaariprosessoreille suunniteltujen algoritmien huomattiin olevan vähintään kymmenkertaisesti tehottomampia.