Na vašem domačem računalniku avtomatizirajte oddaljeno prijavo preko protokola ssh. Uporabite mehanizem javnih in zasebnih ključev. V pomoč vam naj bo dokumentacija programov ssh in ssh-keygen (man strani).
Napišite skriptno datoteko bash s parametrom trenutna mapa, ki poišče vse datoteke s pravicami branja (angl. Read-only) in jih izpiše. Preverite tudi, da omenjena datoteka ni mapa in da trenutna mapa res obstaja.
Datoteka ocene.txt vsebuje rezultate šestih vmesnih izpitov študentov drugega letnika računalništva. Vsebina omenjene datoteke je naslednja:
$ cat ocene.txt
mona 70 77 85 83 70 89
john 85 92 78 94 88 91
andrea 89 90 85 94 90 95
jasper 84 88 80 92 84 82
dunce 64 80 60 60 61 62
ellis 90 98 89 96 96 92
Izpišite povprečne ocene študentov in doseženo oceno. Pri ocenjevanju študentov upoštevajte ocenjevalno lestvico prikazano v tabeli 1. Izpišite tudi povprečno oceno vseh študentov letnika in ugotovite, koliko študentov je nad povprečjem in koliko pod njim. Nalogo poskušajte rešiti v enem samem zagonu skripta awk. (Namig: uporabite podatkovno strukturo polje ter pravili BEGIN in END).
Tabela 1: Ocenjevalna lestvica
| Točke | Ocena |
| 90-100 | 10 |
| 80-89 | 9 |
| 70-79 | 8 |
| 60-69 | 7 |
| 50-59 | 6 |
| < 50 | 5 |
Napišite skriptno datoteko bash s parametrom trenutna mapa, ki poišče vse izvajalne datoteke in jih izpiše. Preverite tudi, da omenjena datoteka ni mapa.
Datoteka ocene.txt vsebuje rezultate šestih vmesnih izpitov študentov drugega letnika računalništva. Vsebina omenjene datoteke je naslednja:
$ cat ocene.txt
mona 70 77 85 83 70 89
john 85 92 78 94 88 91
andrea 89 90 85 94 90 95
jasper 84 88 80 92 84 82
dunce 64 80 60 60 61 62
ellis 90 98 89 96 96 92
Izpišite povprečne ocene študentov in doseženo oceno. Pri ocenjevanju študentov upoštevajte ocenjevalno lestvico prikazano v tabeli 1. Izpišite tudi povprečno oceno vseh študentov letnika.
Tabela 1: Ocenjevalna lestvica
| Točke | Ocena |
| 90-100 | 10 |
| 80-89 | 9 |
| 70-79 | 8 |
| 60-69 | 7 |
| 50-59 | 6 |
| < 50 | 5 |
Na spletu lahko najdemo alternativno izvedbo pesmice Čuk se je oženil. Napišite funkcijo function zaporednje=zaporedje_tonov(signal, fvz), ki uporablja ST-DFT, da ugotovite zaporedje tonov v njej.
Najpreprostejša rešitev bo ta, da za vsak stolpec v matriki B pogledate pri kateri frekvenci imate maksimalno amplitudo, nato pa frekvenco povežete s tonom. Trenutke tišine določite tako, da zahtevate, da maksimalna aplituda presega nek poprej določen prag.
Izdelajte funkcijo B=my_stdft(x,WINDOW), kjer je x vhodni signal, WINDOW pa dolžina enega kosa (soda vrednost). Izhod je 2D kompleksna matrika z izračunano STDFT.
Pri računanju predpostavite 50 % prekrivanje, vsak kos pred uporabo FFTja pomnožite s Hammingovim oknom. Pri FFTju uporabite za dolžino signala 256. Na pozabite izločiti nepotrebnih podatkov v rezultatu FFTja.
Vaši rezultati se bodo primerjali z rezultati že vgrajene funkcije – primerjale se bodo amplitude saj je imaginarna komponenta negativna naši (max(abs(abs(B1)-abs(B2))))!
V primeru, da imamo signal, v katerem nastopa relativno malo frekvenc, lahko pretvorbo v frekvenčni prostor izkoristimo tudi za izgubno stiskanje podatkov (za ta namen se pogosteje uporablja kosinusna in valčna transformacija).
V našem primeru bomo poskusili stisniti tone, ki nastopajo pri prejšnji nalogi. Postopek stiskanja pa bo naslednji:
signal pretvorimo v frekvenčni prostor, delali bomo v pravokotnih koordinatah
obe amplitudi (kosinus in sinus) pri frekvencah, pri katerih je absolutna amplituda kosinusov manjša od podanega praga, postavimo na 0
podatke stisnemo z uporabo naslednjih pravil:
Primer: X=[9 3+2i 0 0 5+3i 0 8+9i....] bi stisnili v vektor [9 0 3 2 0 4 5 3 0 2 8 9].
Napišite še postopek za dekompresijo, ki bo ponovno razširil stisnjeni posnetek. Za pretvorbo iz frekvenčnega v časovni prostor uporabite funkcijo ifft.
Oddati morate postopek za kompresijo in dekompresijo, oddajte pa tudi tekstovno datoteko, v kateri opišite, kako se je kompresija obnesla (kakšen signal, prag, dosežena kvaliteta, razmerje velikosti) .
Zgradba vašega programa naj bo naslednja:
POZOR! Podatki, ki so zrcaljeni čez polovico so tudi konjugirani (imaginarnemu delu se spremeni predznak. npr. če X(2)=2+3i, potem X(end)=2-3i). Uporabite vgrajeno funkcijo conj.
Ko glasbeniki igrajo na glasbila, ustvarjajo tone. Vsak ton je definiran s točno določeno frekvenco (npr. ton a1 ima frekvenco 440 Hz). Frekvence tonov lahko razberemo iz “tabele tonskih frekvenc”.
V kolikor nam glasbena teorija ne leži najbolje ali pa nimamo absolutnega posluha, lahko posamezen ton ugotovimo s pomočjo DFT-ja. Pogoj za to je, da v signalu nastopa le en ton. V tem primeru lahko signal pretvorimo v frekvenčni prostor, ter poiščemo frekvenco, pri kateri je amplituda največja (v polarnih koordinatah). S pomočjo tabele tonskih frekvenc lahko nato ugotovimo, ta kateri ton gre.
Napišite funkcijo ton=ugotovi_ton(signal, fvz), ki kot vhod sprejme posnet signal in vzorčevalno frekvenco, kot izhod pa vrne ton (v obliki niza – npr. ‘C1′). Pričakujete lahko tone od C1 do C2. V kolikor najdena frekvenca ne ustreza natančno tonu, vrnite ton, ki je najbližji zaznani frekvenci.
Za test lahko uporabite posnetke tonov A, C, E, ki so bili pobrani s te strani.
Napišite funkcijo za konvolucijo z uporabo FFT y=moja_konvolucija(x, h) (3t). Dolžina izhodnega signala mora biti enaka vsoti dolžin signala x ter impulznega odziva h zmanjšane za 1 (length(x)+length(h)-1) (n:-3t). Da boste kompatibilni z matlabovo funkcijo conv, uporabite še drugi parameter pri fft, ki pove, kako dolžino signala naj uporabi (dodajo se ničle na začetek in konec signala).