LU-DSP-b: Difference between revisions
| (278 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
__NOTOC__ |
__NOTOC__ |
||
<big> |
<big> |
||
''' |
'''Īssaites:''' |
||
[[#Kalendārs | Kalendārs]] | |
[[#Kalendārs | Kalendārs]] | |
||
[[# |
[[#Uzdevumi | Uzdevumi]] | |
||
[[# |
[[#Resursi | Resursi]] | |
||
</big> |
</big> |
||
{{TodayTomorrow}} (ja ir lekcija) |
|||
=Digitālā (ciparu) signālu apstrāde= |
=Digitālā (ciparu) signālu apstrāde= |
||
LU DF bakalauru kurss. |
LU DF bakalauru kurss. |
||
| Line 17: | Line 19: | ||
"Think how electronics has changed the world in the last 50 years. DSP will have the same role over the next 50 years. Learn it or be left behind!" - Steve Smith, autors "DSP Guide" |
"Think how electronics has changed the world in the last 50 years. DSP will have the same role over the next 50 years. Learn it or be left behind!" - Steve Smith, autors "DSP Guide" |
||
====Mājas un citi iesniedzamie darbi==== |
====Mājas darbi un citi iesniedzamie darbi==== |
||
* Iesniegšanas termiņa laiks |
* Iesniegšanas termiņa laiks nozīmē ka '''uz šo datumu darbam jābūt jau gatavam''' un iesniegtam. Tātad jāiesniedz ir '''līdz IEPRIEKŠĒJĀS dienas beigām''', ja netiek noteikts cits termiņš. Piemēram, ja termiņš ir ceturtdiena, tad darbs jāiesniedz pirms tās, tātad līdz trešdienas beigām. |
||
* Ja darbs tiek iesniegts ar novēlošanos, rezultāts tiek samazināts par 50%. Ja darbs iesniegts vairāk kā nedēļu pēc termiņa, '''pasniedzējs darbu var nepieņemt'''. |
* Ja darbs tiek iesniegts ar novēlošanos, rezultāts tiek samazināts par 50%. Ja darbs iesniegts vairāk kā nedēļu pēc termiņa, '''pasniedzējs darbu var nepieņemt'''. |
||
* Darbi iesniedzami elektroniski, |
* Darbi iesniedzami elektroniski, E-studijās, izņemot ja prasīts cits iesniegšanas veids. |
||
* E-pasta Subj. ir sekojošs: "'''DSP MD1 Vards Uzvards'''" - piemērs pirmajam mājasdarbam. Vārds uzvārds rakstāmi latīņu burtiem - bez garumzīmēm un tml. (failu sistēmu saderībai). |
|||
* Teksts noformējams PDF faila formātā. Piemēram MD2 fails būtu sekojošs: '''DSP_MD2_Vards_Uzvards.pdf''' |
* Teksts noformējams PDF faila formātā. Piemēram MD2 fails būtu sekojošs: '''DSP_MD2_Vards_Uzvards.pdf''' |
||
* |
* Ja iesniedzami vairāk par vienu failu, tie arhivējami ZIP formātā, sekojoši: '''DSP_MD2_Vards_Uzvards.zip''' Atspiežot šo failu tam jārada direktorija ar tādu pašu nosaukumu, kur atrodas visi faili. |
||
<!-- |
|||
* E-pasta Subj. ir sekojošs: "'''DSP MD1 Vards Uzvards'''" - piemērs pirmajam mājasdarbam. Vārds uzvārds rakstāmi latīņu burtiem - bez garumzīmēm un tml. |
|||
--> |
|||
====Vērtējums kursā==== |
====Vērtējums kursā==== |
||
| Line 33: | Line 37: | ||
* Obligāta kursa aptaujas anketas aizpildīšana LUIS sistēmā |
* Obligāta kursa aptaujas anketas aizpildīšana LUIS sistēmā |
||
{{DarbuKavejumi}} |
|||
= |
=Kalendārs= |
||
{| border=1 cellspacing=0 cellpadding=4 |
{| border=1 cellspacing=0 cellpadding=4 style = 'border-color: #ddd;' |
||
|- |
|- |
||
! Datums |
! Datums |
||
! |
! Tēma, saturs |
||
! Uzdevumi |
! Uzdevumi |
||
|- style='vertical-align: top;' |
|||
|- |
|||
| |
| |
||
==== |
==== 4.02.26 ==== |
||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
[https://failiem.lv/u/g8watnvs Lekcijas slaidi ] |
|||
|<big>'''Digitālā signālu apstrāde, ievads.'''</big> |
|||
DSP (Digital Signal Processing) ievadlekcija. DSP definīcija un pielietojumi. |
|||
|} |
|||
DSP (Digital Signal Processing) ievadlekcija. DSP definīcija un pielietojumi. |
|||
'''Lasāmviela un resursi''': |
|||
* [https://youtu.be/d3gj0t4ddPE Ievadlekcijas video ieraksts] |
|||
* [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 1. nodaļa. |
|||
[http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 1. nodaļa. |
|||
| |
| |
||
|- |
|||
|- style='vertical-align: top;' |
|||
| |
| |
||
==== 11.02. |
==== 11.02.26 ==== |
||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
Statistika, varbūtība, trokšņi un gadījumsignāli. |
|||
|<big>'''Statistika, varbūtība, trokšņi un gadījumsignāli'''</big> |
|||
|} |
|||
Analogais-ciparu pārveidotājs (ADC jeb ACP modelis) jeb signālu mērīšana (ciparu signāls = signālu diskretizācija + kvantēšana). |
Analogais-ciparu pārveidotājs (ADC jeb ACP modelis) jeb signālu mērīšana (ciparu signāls = signālu diskretizācija + kvantēšana). |
||
Signālu klasifikācijas un galvenie parametri (vidējā vērtība, vidējā kvadrātiskā vērtība, SNR, enerģija, jauda, min un max vērtība, dinamiskais diapazons u.c.). |
Signālu klasifikācijas un galvenie parametri (vidējā vērtība, vidējā kvadrātiskā vērtība, SNR, enerģija, jauda, min un max vērtība, dinamiskais diapazons u.c.). |
||
'''Lasāmviela un resursi''': |
|||
[http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 2-3. nodaļas. |
|||
* [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 2-3. nodaļas. |
|||
| Uzdots [[#MD1]] |
|||
|- |
|||
| |
| |
||
* '''Uzdots [[#MD_Rnd | MD_Rnd]]''' |
|||
|- style='vertical-align: top;' |
|||
==== 18.02.2019.==== |
|||
| |
| |
||
Svarīgāko Octave komandu apskats (komandu pilna bāze, ar kurām var konstruēt signālapstrādes algoritmus). Praktiskais darbs ar Octave. |
|||
==== 18.02.26 ==== |
|||
* M-valoda darbam ar OCTAVE datu apstrādes sistēmām: sudo apt install octave |
|||
| |
|||
* Octave grafiskā redaktora palaišana Ubuntu terminālī: octave --force-gui |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''Matlab un Octave'''</big> |
|||
|} |
|||
<!-- |
|||
Svarīgāko Octave komandu apskats (ar kurām var konstruēt signālapstrādes algoritmus). Praktiskais darbs ar Octave. |
|||
ADC darbības modelis Octave vidē. [http://failiem.lv/g/fjtyjrs Slaidi]. |
|||
--> |
|||
* [http://www.octave.org OCTAVE] instalējama Ubuntu sistēmā sekojoši: |
|||
| [[#MD1 | MD1]] termiņš. |
|||
sudo apt install octave |
|||
|- |
|||
* Octave darbināšana |
|||
** grafiskā redaktora režīmā: <code>octave --gui</code> |
|||
** terminālī: <code>octave</code> vai <code>octave-cli</code> |
|||
* [https://www.dropbox.com/scl/fi/5ig28rks2jtavtfljybae/L03_Octave_intro.pdf?rlkey=l7kv5v90oseldhe6dj07rqkxd&raw=1 Ievads Octave], slaidi. |
|||
* [https://docs.octave.org/latest/ Octave dokumentācija]. |
|||
| |
| |
||
* ''' '''Termiņš''' [[#MD_Rnd | MD_Rnd]]''' |
|||
* '''Uzdots [[#MD_Octave | MD_Octave]]''' |
|||
==== 25.02.2019.==== |
|||
|- style='vertical-align: top;' |
|||
| |
| |
||
Signālu klasifikācijas un galvenie parametri (vidējā vērtība, vidējā kvadrātiskā vērtība, SNR, enerģija, jauda, min un max vērtība, dinamiskais diapazons u.c.) [http://failiem.lv/g/fjtyjrs Slaidi]. |
|||
==== 25.02.26 ==== |
|||
Lineāras sistēmas [http://www.dspguide.com/CH5.PDF DSPGuide 5. nodaļa !!!] |
|||
<br> [http://selavo.lv/~kursi/dsp/2011/Lekcija5_dekompozicija-un-sinteze.pdf Sintēze un dekompozīcija. ] |
|||
<br> Pietiekama diskretizācijas frekvence, uzklāšanās. |
|||
| |
|||
|- |
|||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''Lineāras sistēmas un signālu klasifikācija'''</big> |
|||
|} |
|||
Signālu klasifikācija un galvenie parametri (vidējā vērtība, vidējā kvadrātiskā vērtība, SNR, enerģija, jauda, min un max vērtība, dinamiskais diapazons u.c.). |
|||
'''Lasāmviela un resursi''': |
|||
* [http://www.dspguide.com/CH5.PDF DSPGuide 5. nodaļa] |
|||
==== 04.03.2019.==== |
|||
| |
| |
||
Konvolūcija (6.nodaļa). Konvolūcijas īpašības (7. nodaļa) |
|||
* '''Termiņš''' [[#MD_Octave | MD_Octave]] |
|||
| '''MD-1 termiņš ''' |
|||
|- |
|||
* Uzdots [[#MD_Sys | MD_Sys]] (nav jāiedniedz) |
|||
|- style='vertical-align: top;' |
|||
| |
| |
||
==== |
==== 4.03.26 ==== |
||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
Vidus semestra '''kontroldarbs KD-1'''. 1. - 7. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām. |
|||
|<big>'''Konvolūcija '''</big> |
|||
<br>[http://failiem.lv/u/jdshznk Gadījuma skaitļu masīvs 1x2000] |
|||
|} |
|||
| ''' ''' |
|||
|- |
|||
Konvolūcija un tās īpašības |
|||
'''Lasāmviela un resursi''': |
|||
* [http://www.dspguide.com/CH6.PDF 6.nodaļa] |
|||
* [http://www.dspguide.com/CH7.PDF 7.nodaļa] |
|||
| |
| |
||
'''Termiņš''' [[#MD_Sys | MD_Sys]] (nav jāiesniedz, tiks pārrunāts lekcijā) |
|||
|- style='vertical-align: top;' |
|||
==== 18.03.2019.==== |
|||
| |
| |
||
Ievads digitālajos filtros. |
|||
==== 11.03.26 ==== |
|||
| '''MD-2 (Uzd-17 un Uzd-3) ''' |
|||
|- |
|||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
||''Attālināti'': <big>'''KD1'''</big> |
|||
|} |
|||
Vidus semestra '''kontroldarbs KD-1'''. |
|||
'''Lasāmviela un resursi''': |
|||
* 1. - 7. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām. |
|||
==== 25.03.2019.==== |
|||
| |
| |
||
* '''KD1''' |
|||
Praktiskā nodarbība. Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam. |
|||
| '''MD-2 termiņš ''' |
|||
|- style='vertical-align: top;' |
|||
|- |
|||
| |
| |
||
==== 01.04.2019.==== |
|||
==== 18.03.26 ==== |
|||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
* |
|||
|<big>'''Ievads digitālajos filtros, ''Moving average'' filtrs'''</big> |
|||
| ''' ''' |
|||
| |
|} |
||
Digitālie filtri, kustīgā vidējā (moving average) filtrs. |
|||
'''Lasāmviela un resursi''': |
|||
* 14.,15. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām. |
|||
* [https://sengpielaudio.com/TableOfSoundPressureLevels.htm Loudness comparison chart] |
|||
| |
| |
||
* '''Uzdots [[#MD_Audio | MD_Audio]]''' |
|||
|- style='vertical-align: top;' |
|||
==== 08.04.2019.==== |
|||
| |
| |
||
Diskrētā Furjē transformācija [http://failiem.lv/u/ovrjrhg DFT-I]. Praktiskā implementācija Octave. |
|||
==== 25.03.26 ==== |
|||
| ''' ''' |
|||
|- |
|||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
==== 15.04.2020.<br>-22.04.2020.==== |
|||
| <big>'''Prakse ar Octave, skaņa'''</big> |
|||
| ''Lieldienu brīvdienas'' |
|||
|} |
|||
''E-studijās video lekcija L07.'' |
|||
Praktiskā nodarbība. Izmantojot Octave, konstruēt algoritmu, kas apstrādā audio failu. |
|||
* Uzdevumi, Octave vidē |
|||
** Izgriezt 1 sekundi no skaņas |
|||
** Nospēlēt oktāvu, kur katra nots ir 0.5 sekundes ilga |
|||
** Atskaņot skaņu kas sastāv no 3 sinusoīdām ar maināmu frekvenci un amplitūdu |
|||
** Piemērot ADSR skaņas avotam, piemēram, sinusoīdai |
|||
** Izveidot savu sintētiskās skaņas instrumentu |
|||
Resursi: |
|||
* [https://en.wikipedia.org/wiki/Envelope_%28music%29 Envelope, ADSR] |
|||
* [http://digitalsoundandmusic.com/chapters/ch6/ Digital Sound and Music] - Skaņas sintēze - 6.1.7 |
|||
<!-- * [https://mybudgetstudio.com/what-is-sound-envelope-adsr-explained-with-example Envelope, ADSR] (depreciated) --> |
|||
* Skaņas faili: |
|||
** [https://www.dropbox.com/s/34ait9wo4b1j1ld/test1.ogg?dl=1 test1.ogg] [https://www.dropbox.com/s/v8wyoidysq94nsh/test1.wav?dl=1 .wav] |
|||
** [https://www.dropbox.com/s/n7k971ppe1zfq9o/test2.ogg?dl=1 test2.ogg] [https://www.dropbox.com/s/vpr9dbd7famcjjk/test2.wav?dl=1 .wav] |
|||
| |
| |
||
* Uzdots [[#MD_Synth | MD_Synth]] |
|||
|- |
|||
|- style='vertical-align: top;' |
|||
| |
| |
||
==== 29.04.2019.==== |
|||
==== 8.04.26 ==== |
|||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
DFT-II |
|||
| |
|<big>'''Audio signāli'''</big> |
||
| |
|} |
||
Audio uztvere in apstrāde |
|||
'''Lasāmviela un resursi''': |
|||
* [http://www.dspguide.com/pdfbook.htm DSPGuide 22. nodaļa] |
|||
* [https://youtu.be/Sn07AMCfaAI?si=Qh0gq93xCC6fzB3z Par skaņas ilūzijām] (Veritasium video) |
|||
* [https://cmtext.indiana.edu/acoustics/chapter1_amplitude.php Ievads dator-muzikā] - no Indiānas Universitātes. |
|||
| |
| |
||
* ''' '''Termiņš''' [[#MD_Audio | MD_Audio]]''' |
|||
==== 06.05.2019.==== |
|||
|- style='vertical-align: top;' |
|||
| |
| |
||
==== 15.04.26 ==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''Attēlu signāli'''</big> |
|||
|} |
|||
Attēlu uztvere un apstrāde |
|||
'''Lasāmviela un resursi''': |
|||
* [http://www.dspguide.com/pdfbook.htm DSPGuide 23., 24., 25. nodaļas] |
|||
| |
|||
* ''' '''Termiņš''' [[#MD_Synth | MD_Synth]]''' |
|||
|- style='vertical-align: top;' |
|||
| |
|||
==== 22.04.26 ==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''Prakse ar Octave, attēli'''</big> |
|||
|} |
|||
Speciāla attēlu apstrāde. |
|||
Praktiskā nodarbība. |
|||
Attēlu apstrāde. |
|||
| |
|||
* Uzdots [[#MD_Image | MD_Image]] |
|||
|- style='vertical-align: top;' |
|||
| |
|||
==== 29.04.26 ==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''KD2'''</big> |
|||
|} |
|||
Vidus semestra kontroldarbs KD2 |
|||
* Praktisku uzdevumu risināšana ar Octave. |
|||
* Audio un attēlu apstrāde. |
|||
| |
|||
* '''KD2''' |
|||
|- style='vertical-align: top;' |
|||
| |
|||
==== 6.05.26 ==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''Furjē transformācija. Diskrētā Furjē transformācija '''</big> |
|||
|} |
|||
[[#Furjē_transformācija | Video materiāls]] |
|||
'''Lasāmviela un resursi''': |
|||
* [http://www.dspguide.com/CH8.PDF DSPGuide 8. nodaļa] |
|||
* [https://qr.ae/pGpaXf Kā saprast Futjē transformāciju] (Quora) |
|||
* [https://youtu.be/h7apO7q16V0 FFT] un idejas uz ko FFT balstās. |
|||
| |
|||
* ''' '''Termiņš''' [[#MD_Image | MD_Image]]''' |
|||
|- style='vertical-align: top;' |
|||
| |
|||
==== 13.05.26 ==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''FIR un IIR'''</big> |
|||
|} |
|||
Rekursīvie filtri. FIR un IIR signālu filtri. |
|||
Signālu filtrācija frekvenču apgabalā. |
Signālu filtrācija frekvenču apgabalā. |
||
| ''' MD-3 (Uzd-4) ''' |
|||
Pratiskais darbs: Izmantojot Octave, izveidot Short-time DFT jeb spektrogrammu runas signālam. |
|||
|- |
|||
'''Lasāmviela un resursi''': |
|||
* [http://www.dspguide.com/CH17.PDF DSPGuide 17. nodaļa] - Custom filters |
|||
* [http://www.dspguide.com/CH19.PDF DSPGuide 19. nodaļa] - Recursive filters |
|||
* [https://www.youtube.com/watch?v=NvRKtdrssFA Intro to FIR] |
|||
* [https://www.youtube.com/watch?v=uNNNj9AZisM&ab_channel=Phil%E2%80%99sLab FIR Filter Design] (Phil's Lab) |
|||
| |
| |
||
==== 13.05.2019.==== |
|||
|- style='vertical-align: top;' |
|||
| |
| |
||
Izmantojot Octave, izveidot Short-time DFT jeb spektrogrammu runas signālam. |
|||
==== 20.05.26 ==== |
|||
| ''' MD-3 termiņš ''' |
|||
|- |
|||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
==== 20.05.2019.==== |
|||
|<big>'''Filtru salīdzinājums'''</big> |
|||
|} |
|||
'''Lasāmviela un resursi''': |
|||
* [http://www.dspguide.com/CH21.PDF DSPGuide 21. nodaļa - filtru salīdzinājums] |
|||
| |
| |
||
<!-- |
|||
Vidus semestra '''kontroldarbs KD-2'''. Visas nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām. |
|||
|- style='vertical-align: top;' |
|||
<br> [http://failiem.lv/u/pidnxjt Testa signāls] |
|||
| ''' ''' |
|||
| |
|||
|- |
|||
| |
| |
||
==== 27.05.2019.==== |
|||
==== 27.05.26 ==== |
|||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
Vielas atkārtojums. |
|||
| |
|<big>'''Kopsavilkums'''</big> |
||
| |
|} |
||
'''Lasāmviela un resursi''': |
|||
* Visas līdz šim kursā apskatītās nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.''' |
|||
| |
| |
||
--> |
|||
==== xx.06.2019.==== |
|||
|- style='vertical-align: top;' |
|||
| |
| |
||
'''Eksāmens''' |
|||
==== 27.05.26 ==== |
|||
* Svarīgi: pēc eksāmena pasniedzējs '''nevarēs izlikt kursā atzīmi''', ja nebūs elektroniski aizpildīta kursa vērtējuma aptauja (kā jau visos LU DF kursos). Tāpēc visiem studentiem lūdzu to savlaicīgi izdarīt. |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''Eksāmens'''</big> |
|||
|} |
|||
:Laiks: 08:30 |
|||
| ''' ''' |
|||
:Vieta: Kursa lekciju telpa <!--E-studijas un tiešsaiste.--> |
|||
|- |
|||
| |
|||
|- style='vertical-align: top;' |
|||
|} |
|} |
||
=Uzdevumi= |
|||
== Signāli == |
|||
==MD_Rnd== |
|||
* '''S-1''': [http://failiem.lv/u/flhglcy 1. audio wav fails] |
|||
Analizēt nejaušu skaitļu (RND) un to summas histogrammu sekojošiem gadījumiem: |
|||
* '''S-2''': [http://failiem.lv/u/ikzoaqi 2. audio wav fails] |
|||
# RND |
|||
* '''S-3''': [http://failiem.lv/u/pidnxjt 3. audio wav fails] |
|||
# RND + RND |
|||
* '''S-4''': [http://failiem.lv/g/lhnxysu bilde] |
|||
# RND + RND + RND + RND |
|||
* '''S-5''': [https://failiem.lv/u/jzr664nu bilde 2] |
|||
Pētījumu veikt vismaz 100000 nejaušiem skaitļiem. |
|||
Ar RND saprotam funkciju, kas katrā izsaukumā atgriež nejaušu skaitli no 0 līdz 1.0. |
|||
== Prakstiskie uzdevumi == |
|||
====MD1==== |
|||
Ģenerēt nejaušus gadījuma skaitļus (vismaz 80000) un izveidot tiem histogrammu (gadījuma procesa empīrisko varbūtību sadalījumu) grafikus gadījumos, kad |
|||
# pastāv viens gadījuma skaitļu avots (to Octave simulē rand() funkcija), |
|||
# gadījuma process ir summa no 2 gadījuma skaitļu avotiem, |
|||
# gadījuma process ir summa no 4 gadījuma skaitļu avotiem. |
|||
Katram no iepriekš minētajiem gadījumiem uzrakstīt programmu, kas izrēķina un uzzīmē histogrammu. |
|||
Iesūtīt prasītos histogrammu grafikus gadījuma skaitļu avotiem un secinājumus pdf dokumentā. |
|||
Programmu ieteicams rakstīt [https://www.gnu.org/software/octave/index Octave] vidē, |
|||
Vēlamā programmēšanas vide: Octave. |
|||
bet šoreiz atļauts arī kādā citā jums pazīstamā valodā. |
|||
Iepazīties ar Octave funkciju rand(). |
|||
E-studijās kā MD1 iesniegt PDF failu ar risinājumu, kurā katram no gadījumiem doti: |
|||
====MD2==== |
|||
* Programma, kas ģenerē histogrammu |
|||
* '''Uzd-2''': Izveidot simulatorus: (A) Monētas krišanai pa sazarotu celiņu (tas sakrīt ar šādu [http://www.cut-the-knot.org/Curriculum/Combinatorics/PascalTriangle2.gif varbūtību trīsstūri] ar 5 pakāpēm), kur varbūtība monētai aiziet pa kreiso zaru un pa labo zaru: 1)0.5, 0.5 un 2) 0.3 un 0.7. Secinājumi. (B) Objekta X diskrētai random walk, kur varbūtība iet vienu diskrēto lielumu uz priekšu vai atpakaļ ir 0.5 un 0.5, varbūtība iet vienu diskrēto lielumu pa kreisi, pa labi ir 0.5 un 0.5, attēlot grafiski šādas random walk realizācijas, kad gājienu skaits N=10, 100, 1000. Secinājumi. |
|||
* Histogramma |
|||
* '''Uzd-3''': Audio faila konvolūcija ar gausa funkciju, moving average filtru MAF (kad MAF koeficientu skaits N = 5 un N = 30), secinājumi. |
|||
* Secinājumi, kas sanāca, un kāpēc tā. |
|||
* '''Uzd-4''': DFT matricu formā, kods, ilustratīvs piemērs, secinājumi. |
|||
* '''Uzd-5''': Implementēt Kalmana filtru Octave vidē. Ģenerēt testa signālu ar troksni. Filtrēt to ar Kalmana filtru. Mainīt Kalman Gain un veikt secinājumus. |
|||
==MD_Sys== |
|||
* '''Uzd-6''': Ģenerēt testa signālu y: |
|||
'''Mērķis''': |
|||
** N=1000; |
|||
Treniņš lineāru un laika invariantu sistēmu atpazīšanā un pierādīšanā. |
|||
** sigmau=1.8; |
|||
** x=linspace(0,1,N)*.5; |
|||
====Uzdevums==== |
|||
** y=x+sigmau*randn(1,N); |
|||
# Pierādīt, ka sekojošas sistēmas ir (vai nav) lineāras. |
|||
** Izmantojot signālu y, atdalīt no tā troksni, izmantojot (a) Moving Average, (b) Gausa un (c) Kalmana filtrus. Salīdzināt visu filtru rezultātus, izmantojot vidējās kvadrātiskās kļūdas kritēriju (ja tiek izmantots cits kritērijs, tad pamatot tā izvēli). Izdarīt secinājumus. |
|||
# Pierādīt, ka sekojošas sistēmas ir (vai nav) laika invariantas. |
|||
* '''Uzd-7''': Izveidot ADC (analog-to-digital signālu pārveidotājs) Octave modeli. Ieejas analogais testa signāls [http://failiem.lv/g/lhnxysu šāds]. Grafiski attēlot ADC ieejas un izejas signālus vienā attēlā pie parametriem: (a) diskretizācijas frekvence (sampling frequency) Fs = 5 Hz un 4 bitu kvantēšana (ADC kvantēšanas diapazons ir -2 līdz 2 ), (b) Fs = 25 Hz, 10 bitu kvantēšana. Iesūtīt grafikus, aprakstu un secinājumus pdf dokumentā. |
|||
* '''Uzd-8''': 1) Doti punkti x=[1 2 3 4 5 6 7] un y=[0.341627 0.662821 0.534425 0.270544 0.026933 0.937675 0.183618], izrēķināt/interpolēt punktu vērtības starp šiem punktiem, 2) veikt filtrāciju ar dažādām impulsa reakcijām h[n], kad tā ir 1, [-1 1], Gausa funkcija. |
|||
* y[n] = x[n] + 3 |
|||
* '''Uzd-9''': Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam. |
|||
* y[n] = x[n] * x[n] |
|||
* '''Uzd-10''': Izmantojot Octave, konstruēt algoritmu, kas atrod cilvēku sejas attēlā. |
|||
* y[n] = x[n] + x[n + 1] |
|||
* '''Uzd-11''': Izmantojot Octave: 1) ielasīt audio failu S-1, 2) pārrēķināt signāla nolases tā, lai tas būtu kvantēts visā signāla diapazonā ar 4 bitiem, 3) saglabāt un atskaņot jauniegūto signālu. |
|||
* '''Uzd-12''': Izmantojot Octave: 1) izveidot attēlu, kurā redzams jūsu vārda pirmais burts, 2) no iepriekšējā attēla izveidot jaunu, kam fonā būtu cits attēls S-4. |
|||
Šis uzdevums paredzēts treniņam, un nav obligāti jāiesniedz. |
|||
* '''Uzd-13''': Izveidot programmu, kas sintezē sinusoīdas signālu ar parametriem: Amplitūda 1.2, Frekvence 5 Hz, Fāze pi/4. Attēlot to uz ekrāna laikā periodā [0 1] (sek.) |
|||
<!-- |
|||
* '''Uzd-14''': Izmantojot Octave, izveidot Short-time DFT jeb spektrogrammu runas signālam. |
|||
====Iesniegšana==== |
|||
* '''Uzd-15''': Signālu S-1 pārdiskretizēt ar 0.8 no esošās diskretizācijas frekvences. Abus signālus attēlot grafiski. |
|||
Risinājums jāiesniedz e-Studijās kā PDF fails sadaļā MD_Sys. |
|||
* '''Uzd-16''': Veikt signālu filtrāciju frekvenču apgabalā. Ar joslas filtru no S-1 izfiltrēt frekvenču apgabalu 0.1 Fs līdz 0.4 Fs (kur Fs ir S-1 diskretizācijas frekvence). Orģinālo signālu un filtrēto signālu attēlot: 1) frekvenču apgabalā, 2) laika apgabalā. |
|||
--> |
|||
* '''Uzd-17''': Implementēt konvolūciju Octave vidē. |
|||
* '''Uzd-18''': Mainīt iepriekš ģenerētā signāla amplitūdu tā, lai signāla enerģija laika periodā [0 1] (sek.) būtu 1 un tad 1.2 (Normēt signālu pēc tā enerģijas). Attēlot normētos signālus uz ekrāna. |
|||
==MD_Octave== |
|||
* '''Uzd-19''': OCTAVE piemērs: |
|||
'''Mērķis''': |
|||
** Fs = 11025; % Definējam diskretizācijas frekvenci |
|||
Apgūt un praktizēties Octave vides un valodas lietošanā. |
|||
** y = wavrecord(5*Fs, Fs, 'double'); % Ierakstam 5 sekundes skaņas |
|||
** Fa = 11025; % Definējam ieraksta atskaņošanas frekvenci |
|||
Pieejams e-studijās |
|||
** sound(y/max(y),Fa); % Atskaņojam ierakstīto |
|||
** plot(y); % Attēlojam signālu grafiski |
|||
==MD_Audio== |
|||
** Klausīties ierakstu pie vairākām Fa vērtībām. Izdarīt secinājumus! |
|||
Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam. |
|||
* '''Uzd-20''': Izrēķināt sinusa funkcijas jaudu pie dažādām signāla diskretizācijas frekvencēm fs laika intervālā [0 1 sek.]. Sinusa amplitūda 1.45, frekvence 4 Hz un fāze pi/2. Izdarīt secinājumus. |
|||
* '''Uzd-21''': Vai pēc diskretizācijas iespējams precīzi noteikt nepārtraukta signāla maksimālo vērtību, izmantojot tikai signāla diskrētās vērtības un papildus tās neapstrādājot? Pamatot atbildi. |
|||
Pieejams e-studijās |
|||
* '''Uzd-22''': Ģenerēt attēlu (100x120), kas sastāv tikai no melniem vai baltiem pikseļiem. Melnā pikseļa parādīšanās varbūtība 0.7, bet baltā 0.3 Izvadīt attēlu uz datora ekrāna. |
|||
* '''Uzd-23''': Ielādēt attēlu (jebkādu) OCTAVE vidē. Izvadīt to uz datora ekrāna. Veikt tam 2D konvolūciju ar sekojošām impulsa reakcijām: h1=[ 0 0 0; 0 1 0; 0 0 0 ] un h2=[ 1 1 1; 1 0 1; 1 1 1 ]. Rezultātus izvadīt uz datora ekrāna |
|||
==MD_Synth== |
|||
* '''Uzd-24''': Doti dati: X ass [0 1 2 3 4 5 6 7], Y ass [0 0.6700 3.9237 11.0340 22.9788 40.5927 64.6190 95.7359]. Izrēķināt vērtības pie sekojošām X vērtībām, pieņemot, ka punkti pieder funkcijai, kas ir nepārtraukta: X ass [0 1.3000 2.6000 3.9000 5.2000 6.5000], Y ass = ??? |
|||
Izmantojot Octave, uzrakstīt funkcijas vairākiem skaņas efektiem. |
|||
* '''Uzd-25''': Izpildīt Octave kodu: C( : , : , 1 )=[1 0]; C( : , : , 2 )=[1 0]; C( : , : , 3 )=[1 0]; image( C ) un veikt attēla C filtrāciju ar Gausa filtru. |
|||
Pieejams e-studijās |
|||
==MD_Image== |
|||
Izmantojot Octave, uzrakstīt funkcijas attēlu apstrādei. |
|||
Pieejams e-studijās |
|||
=Resursi= |
|||
== Kursa materiāli == |
== Kursa materiāli == |
||
* [http://www.dspguide.com/ DSP Guide] gramata tiešsaistē |
* [http://www.dspguide.com/ DSP Guide] gramata tiešsaistē |
||
:: "The Scientist and Engineer's Guide to Digital Signal Processing, copyright ©1997-1998 by Steven W. Smith. For more information visit the book's website at: www.DSPguide.com" |
|||
* [http://failiem.lv/u/suipzqt Kompleksie skaitļi DSP] |
|||
* [http://failiem.lv/u/njjfvyx Kalmana filtrs] |
|||
==== Octave ==== |
|||
<!-- * [http://failiem.lv/down.php?i=xigtwaj&n=dft.m DFT] --> |
|||
* [https://www.dropbox.com/s/vvw92wtspjqg7ki/refcard-a4.pdf?dl=0 Octave 3.0.0 reference card] |
|||
* [https://docs.octave.org/latest/Introduction-to-Function-and-Script-Files.html Intro to function and script files] |
|||
* [https://docs.octave.org/latest/Script-Files.html Sccript files] |
|||
* [https://docs.octave.org/latest/Function-Files.html Function files] |
|||
==== Furjē transformācija ==== |
|||
* [https://youtu.be/ds0cmAV-Yek Furjē sērija, jebkurš signāls no sinusoīdām] |
|||
* [https://youtu.be/ykNtIbtCR-8 Ievada video] |
|||
* [https://youtu.be/spUNpyF58BY Furjē transformācijas vizualizācija] |
|||
* [https://youtu.be/1JnayXHhjlg lekcija par Inverso FT (1.daļa)] |
|||
* [https://youtu.be/kKu6JDqNma8 lekcija par FT (2.daļa)] |
|||
* [https://youtu.be/XtypWS8HZco Ievads FFT, The Cooley-Tukey Algorithm] |
|||
* [https://www.algorithm-archive.org/contents/cooley_tukey/cooley_tukey.html Cooley-Tukey apraksts] (Algoritmu arhīvs) |
|||
* [https://www.mathworks.com/help/matlab/ref/fft.html FFT pipemērs Matlab sistēmā] |
|||
* [https://upload.wikimedia.org/wikiversity/en/d/dd/Octave.DFT.1.B.FFT.20170706.pdf FFT piemērs Octave sistēmā] |
|||
* [https://youtu.be/r7GdEWDHtbQ Furje transformācija, vizualizācija ar apļiem] (Smarter every day) |
|||
* [https://youtu.be/r6sGWTCMz2k But what is a Fourier series? From heat flow to drawing with circles] (3Blue1Brown) |
|||
==== FIR & IIR ==== |
|||
* [https://www.youtube.com/watch?v=NvRKtdrssFA Intro to FIR] |
|||
==== Citi resursi ==== |
|||
* [https://ptolemy.berkeley.edu/eecs20/weekly.html Signals and Systems] - kurss Berkeley universitātē |
|||
* [https://dspillustrations.com/pages/index.html Learning DSP illustrated] |
|||
* [https://brilliant.org/wiki/linear-time-invariant-systems/ Lineāras laika invariantas sistēmas] @Brilliant wiki |
|||
* [https://youtu.be/zMkXxI63_Og Laika invariantas sistēmas] - videolekcija ar pierādījumu piemēriem. |
|||
* [https://setosa.io/ev/image-kernels/ Attēlu filtru kodoli] - vizuāls skaidrojums |
|||
* [https://mybudgetstudio.com/what-is-sound-envelope-adsr-explained-with-example Envelope, ADSR] |
|||
* [http://digitalsoundandmusic.com/chapters/ch1/ Digital sound and music] |
|||
Latest revision as of 19:14, 5 May 2026
Īssaites: Kalendārs | Uzdevumi | Resursi | Šodiena: 12.11.2026. : Rītdiena: 13.11.2026. (ja ir lekcija)
Digitālā (ciparu) signālu apstrāde
LU DF bakalauru kurss.
- Pasniedzējs Leo Seļāvo [vards.uzvards @gmail.com].
Mērķi
- Iepazīties ar Digitālās Signālu Apstrādes pielietojumiem un principiem. Praktiskas darbības ar signālu apstrādi. Sistēmu Matlab un Octave iepazīšana un programmēšana tajās.
Motivācija
"Think how electronics has changed the world in the last 50 years. DSP will have the same role over the next 50 years. Learn it or be left behind!" - Steve Smith, autors "DSP Guide"
Mājas darbi un citi iesniedzamie darbi
- Iesniegšanas termiņa laiks nozīmē ka uz šo datumu darbam jābūt jau gatavam un iesniegtam. Tātad jāiesniedz ir līdz IEPRIEKŠĒJĀS dienas beigām, ja netiek noteikts cits termiņš. Piemēram, ja termiņš ir ceturtdiena, tad darbs jāiesniedz pirms tās, tātad līdz trešdienas beigām.
- Ja darbs tiek iesniegts ar novēlošanos, rezultāts tiek samazināts par 50%. Ja darbs iesniegts vairāk kā nedēļu pēc termiņa, pasniedzējs darbu var nepieņemt.
- Darbi iesniedzami elektroniski, E-studijās, izņemot ja prasīts cits iesniegšanas veids.
- Teksts noformējams PDF faila formātā. Piemēram MD2 fails būtu sekojošs: DSP_MD2_Vards_Uzvards.pdf
- Ja iesniedzami vairāk par vienu failu, tie arhivējami ZIP formātā, sekojoši: DSP_MD2_Vards_Uzvards.zip Atspiežot šo failu tam jārada direktorija ar tādu pašu nosaukumu, kur atrodas visi faili.
Vērtējums kursā
Kursa galējais vērtējums sastāv no sekojošām komponentēm:
- 10% - dalība lekcijās un diskusijās
- 20% - mājas darbi, praktiskie darbi un testi
- 20+20% - divi kontroldarbi semestra vidū
- 30% - rakstisks gala eksāmens
- Obligāta kursa aptaujas anketas aizpildīšana LUIS sistēmā
Vienīgie attaisnojumi nerakstītam darbam, ar iespēju to rakstīt vēlāk, ir:
- dokumentētas veselības problēmas, vai arī
- dalība kādā stratēģiski valstij vai universitātei nozīmīgā pasākumā, piemēram, starptautiskās sacensībās Latvijas izlasē vai zinātniskā konferencē, vai arī
- ģimenes locekļa bēres vai cita traģēdija ģimenē.
Visos citos gadījumos par nerakstītu darbu vērtējums ir 0 punktu.
Kalendārs
| Datums | Tēma, saturs | Uzdevumi | |
|---|---|---|---|
4.02.26 |
Lasāmviela un resursi:
|
||
11.02.26 |
Lasāmviela un resursi:
|
| |
18.02.26 |
sudo apt install octave
|
| |
25.02.26 |
Lasāmviela un resursi: |
| |
4.03.26 |
Lasāmviela un resursi: |
Termiņš MD_Sys (nav jāiesniedz, tiks pārrunāts lekcijā) | |
11.03.26 |
Vidus semestra kontroldarbs KD-1. Lasāmviela un resursi:
|
| |
18.03.26 |
Digitālie filtri, kustīgā vidējā (moving average) filtrs. Lasāmviela un resursi:
|
| |
25.03.26 |
E-studijās video lekcija L07. Praktiskā nodarbība. Izmantojot Octave, konstruēt algoritmu, kas apstrādā audio failu.
Resursi:
|
| |
8.04.26 |
Audio uztvere in apstrāde Lasāmviela un resursi:
|
| |
15.04.26 |
Attēlu uztvere un apstrāde Lasāmviela un resursi: |
| |
22.04.26 |
Speciāla attēlu apstrāde. Praktiskā nodarbība. Attēlu apstrāde. |
| |
29.04.26 |
Vidus semestra kontroldarbs KD2
|
| |
6.05.26 |
Lasāmviela un resursi:
|
| |
13.05.26 |
Pratiskais darbs: Izmantojot Octave, izveidot Short-time DFT jeb spektrogrammu runas signālam.
|
||
20.05.26 |
Lasāmviela un resursi: |
||
27.05.26 |
|
Uzdevumi
MD_Rnd
Analizēt nejaušu skaitļu (RND) un to summas histogrammu sekojošiem gadījumiem:
- RND
- RND + RND
- RND + RND + RND + RND
Pētījumu veikt vismaz 100000 nejaušiem skaitļiem.
Ar RND saprotam funkciju, kas katrā izsaukumā atgriež nejaušu skaitli no 0 līdz 1.0.
Katram no iepriekš minētajiem gadījumiem uzrakstīt programmu, kas izrēķina un uzzīmē histogrammu.
Programmu ieteicams rakstīt Octave vidē, bet šoreiz atļauts arī kādā citā jums pazīstamā valodā.
E-studijās kā MD1 iesniegt PDF failu ar risinājumu, kurā katram no gadījumiem doti:
- Programma, kas ģenerē histogrammu
- Histogramma
- Secinājumi, kas sanāca, un kāpēc tā.
MD_Sys
Mērķis: Treniņš lineāru un laika invariantu sistēmu atpazīšanā un pierādīšanā.
Uzdevums
- Pierādīt, ka sekojošas sistēmas ir (vai nav) lineāras.
- Pierādīt, ka sekojošas sistēmas ir (vai nav) laika invariantas.
- y[n] = x[n] + 3
- y[n] = x[n] * x[n]
- y[n] = x[n] + x[n + 1]
Šis uzdevums paredzēts treniņam, un nav obligāti jāiesniedz.
MD_Octave
Mērķis: Apgūt un praktizēties Octave vides un valodas lietošanā.
Pieejams e-studijās
MD_Audio
Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam.
Pieejams e-studijās
MD_Synth
Izmantojot Octave, uzrakstīt funkcijas vairākiem skaņas efektiem.
Pieejams e-studijās
MD_Image
Izmantojot Octave, uzrakstīt funkcijas attēlu apstrādei.
Pieejams e-studijās
Resursi
Kursa materiāli
- DSP Guide gramata tiešsaistē
- "The Scientist and Engineer's Guide to Digital Signal Processing, copyright ©1997-1998 by Steven W. Smith. For more information visit the book's website at: www.DSPguide.com"
Octave
Furjē transformācija
- Furjē sērija, jebkurš signāls no sinusoīdām
- Ievada video
- Furjē transformācijas vizualizācija
- lekcija par Inverso FT (1.daļa)
- lekcija par FT (2.daļa)
- Ievads FFT, The Cooley-Tukey Algorithm
- Cooley-Tukey apraksts (Algoritmu arhīvs)
- Furje transformācija, vizualizācija ar apļiem (Smarter every day)
- But what is a Fourier series? From heat flow to drawing with circles (3Blue1Brown)
FIR & IIR
Citi resursi
- Signals and Systems - kurss Berkeley universitātē
- Learning DSP illustrated
- Lineāras laika invariantas sistēmas @Brilliant wiki
- Laika invariantas sistēmas - videolekcija ar pierādījumu piemēriem.
- Attēlu filtru kodoli - vizuāls skaidrojums