Difference between revisions of "LU-DSP-b"

From DiLab
Jump to: navigation, search
(11.05.20)
(13.03.24)
 
(162 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
[[#Resursi | Resursi]] |  
 
[[#Resursi | Resursi]] |  
 
</big>
 
</big>
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{padright:|2|{{LOCALYEAR}} }} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{padright:|2|{{LOCALYEAR}} }}]] :  
+
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] :  
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{padright:|2|{{LOCALYEAR}} }} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{padright:|2|{{LOCALYEAR}} }}]]
+
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]
 
(ja ir lekcija)
 
(ja ir lekcija)
  
Line 22: Line 22:
  
 
====Mājas darbi un citi iesniedzamie darbi====
 
====Mājas darbi un citi iesniedzamie darbi====
* Iesniegšanas termiņa laiks ir 30 minūtes pirms nākamās lekcijas sākuma, ja netiek noteikts cits termiņš.  
+
* 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, E-studijās, izņemot ja prasīts cits iesniegšanas veids.
 
* Darbi iesniedzami elektroniski, E-studijās, izņemot ja prasīts cits iesniegšanas veids.
Line 49: Line 49:
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 03.02.20 ====
+
==== 07.02.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
Line 59: Line 59:
  
 
'''Lasāmviela un resursi''':
 
'''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.
  
Line 65: Line 66:
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 10.02.20 ====
+
 
 +
==== 14.02.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
Line 79: Line 81:
  
 
|
 
|
* '''Uzdots [[#MD1 | MD1]]'''
+
* '''Uzdots [[#MD_Rnd | MD_Rnd]]'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 17.02.20 ====
+
 
 +
==== 21.02.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Lineāras sistēmas un signālu klasifikācija'''</big>
+
|<big>'''Matlab un Octave'''</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.).
+
Svarīgāko Octave komandu apskats (ar kurām var konstruēt signālapstrādes algoritmus). Praktiskais darbs ar Octave.
  
Apskatam sitēmas f(x)=2*x, g(x)=x+5 un m(x)=x*x. Pārbaudam vai tās ir lineāras sistēmas.
+
* [http://www.octave.org OCTAVE] instalējama Ubuntu sistēmā sekojoši:
 +
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>
  
'''Lasāmviela un resursi''':
+
* [https://www.dropbox.com/s/1f1q8m02gvaoox6/Octave_intro.pdf?raw=1 Ievads Octave], slaidi.
* [http://www.dspguide.com/CH5.PDF DSPGuide 5. nodaļa]
 
  
 
|
 
|
* ''' '''Termiņš''' [[#MD1 | MD1]]'''
+
* ''' '''Termiņš''' [[#MD_Rnd | MD_Rnd]]'''
 +
 
 +
* '''Uzdots [[#MD_Octave | MD_Octave]]'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 24.02.20 ====
+
 
 +
==== 28.02.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Konvolūcija '''</big>
+
|<big>'''Lineāras sistēmas un signālu klasifikācija'''</big>
 
|}
 
|}
  
  
Konvolūcija un tās īpašības
+
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''':
 
'''Lasāmviela un resursi''':
* [http://www.dspguide.com/CH6.PDF 6.nodaļa]
+
* [http://www.dspguide.com/CH5.PDF DSPGuide 5. nodaļa]
* [http://www.dspguide.com/CH7.PDF 7.nodaļa]
 
  
 
|
 
|
 +
 +
* '''Termiņš''' [[#MD_Octave | MD_Octave]]
 +
 +
* Uzdots [[#MD_Sys | MD_Sys]] (nav jāiedniedz)
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 02.03.20 ====
+
 
 +
==== 06.03.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Matlab un Octave'''</big>
+
|<big>'''Konvolūcija '''</big>
 
|}
 
|}
  
  
Svarīgāko Octave komandu apskats (komandu pilna bāze, ar kurām var konstruēt signālapstrādes algoritmus). Praktiskais darbs ar Octave.
+
Konvolūcija un tās īpašības
  
* M-valoda darbam ar OCTAVE datu apstrādes sistēmām: sudo apt install octave
+
'''Lasāmviela un resursi''':
* Octave grafiskā redaktora palaišana Ubuntu terminālī: <code>octave</code>  vai  <code>octave-cli</code>
+
* [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;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 09.03.20 ====
+
 
 +
==== 13.03.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''KD1'''</big>
+
||''Attālināti'':  <big>'''KD1'''</big>
 
|}
 
|}
 
  
 
Vidus semestra '''kontroldarbs KD-1'''.   
 
Vidus semestra '''kontroldarbs KD-1'''.   
<br>[http://failiem.lv/u/jdshznk Gadījuma skaitļu masīvs 1x2000]
 
  
 
'''Lasāmviela un resursi''':
 
'''Lasāmviela un resursi''':
Line 153: Line 167:
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 16.03.20 ====
+
 
 +
==== 20.03.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
 
|<big>'''Ievads digitālajos filtros, ''Moving average'' filtrs'''</big>
 
|<big>'''Ievads digitālajos filtros, ''Moving average'' filtrs'''</big>
 
|}
 
|}
 
 
'''LEKCIJAS TIEŠSAISTĒ''' (sīkāk estudiju forumā)
 
  
 
Digitālie filtri, kustīgā vidējā (moving average) filtrs.
 
Digitālie filtri, kustīgā vidējā (moving average) filtrs.
Line 169: Line 181:
  
 
|
 
|
* '''Uzdots [[#MD2 | MD2]]'''
+
* '''Uzdots [[#MD_Audio | MD_Audio]]'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 23.03.20 ====
+
 
 +
==== 03.04.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Prakse ar Octave'''</big>
+
|<big>'''Prakse ar Octave, skaņa'''</big>
 
|}
 
|}
  
 +
Praktiskā nodarbība. Izmantojot Octave, konstruēt algoritmu, kas apstrādā audio failu.
 +
 +
* Uzdevumi, Octave vidē
 +
** Izgriež 1 sekundi no skaņas
 +
** Nospēlēt oktāvu
 +
** 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) -->
  
Praktiskā nodarbība. Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam.
 
 
* Skaņas faili:
 
* 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/34ait9wo4b1j1ld/test1.ogg?dl=1 test1.ogg] [https://www.dropbox.com/s/v8wyoidysq94nsh/test1.wav?dl=1 .wav]
Line 186: Line 211:
  
 
|
 
|
 +
* Uzdots [[#MD_Synth | MD_Synth]]
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 30.03.20 ====
+
 
 +
==== 10.04.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
 
|<big>'''Audio signāli'''</big>
 
|<big>'''Audio signāli'''</big>
 
|}
 
|}
 
  
 
Audio uztvere in apstrāde
 
Audio uztvere in apstrāde
Line 202: Line 228:
  
 
|
 
|
* ''' '''Termiņš''' [[#MD2 | MD2]]'''
+
* ''' '''Termiņš''' [[#MD_Audio | MD_Audio]]'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 20.04.20 ====
+
 
 +
==== 17.04.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
 
|<big>'''Attēlu signāli'''</big>
 
|<big>'''Attēlu signāli'''</big>
 
|}
 
|}
 
 
 
Attēlu uztvere un apstrāde
 
Attēlu uztvere un apstrāde
  
Line 219: Line 244:
  
 
|
 
|
 +
* ''' '''Termiņš''' [[#MD_Synth | MD_Synth]]'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 27.04.20 ====
+
==== 24.04.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Furjē transformācija. Diskrētā Furjē transformācija '''</big>
+
|<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;'
 +
|
  
[[#Furjē_transformācija | Video materiāls]]
+
==== 08.05.24 ====
 +
|
 +
{| width='100%' style='background-color:#ddd;'
 +
|<big>'''KD2'''</big>
 +
|}
  
'''Lasāmviela un resursi''':
+
Vidus semestra kontroldarbs KD2
* [http://www.dspguide.com/CH8.PDF DSPGuide 8. nodaļa]
+
* Praktisku uzdevumu risināšana ar Octave.
 +
* Audio un attēlu apstrāde.
  
 
|
 
|
 +
* '''KD2'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 04.05.20 ====
+
 
 +
==== 15.05.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>''''Brīvdiena''''</big>
+
|<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;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 11.05.20 ====
+
 
 +
==== 22.05.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
Line 265: Line 316:
 
* [http://www.dspguide.com/CH17.PDF DSPGuide 17. nodaļa] - Custom filters
 
* [http://www.dspguide.com/CH17.PDF DSPGuide 17. nodaļa] - Custom filters
 
* [http://www.dspguide.com/CH19.PDF DSPGuide 19. nodaļa] - Recursive 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=NvRKtdrssFA Intro to FIR]
  
Line 272: Line 324:
 
|
 
|
  
==== 18.05.20 ====
+
==== 29.05.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Pārskats un atkārtojums.'''</big>
+
|<big>'''Filtru salīdzinājums'''</big>
 
|}
 
|}
 
  
 
'''Lasāmviela un resursi''':
 
'''Lasāmviela un resursi''':
 
* [http://www.dspguide.com/CH21.PDF DSPGuide 21. nodaļa - filtru salīdzinājums]
 
* [http://www.dspguide.com/CH21.PDF DSPGuide 21. nodaļa - filtru salīdzinājums]
 +
|
 +
|- style='vertical-align: top;'
 +
|
  
 +
==== 29.06.24 ====
 
|
 
|
 +
{| width='100%' style='background-color:#ddd;'
 +
|<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.'''
  
 +
|
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
==== 25.05.20 ====
+
 
 +
==== xx.06.24 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
 
|<big>'''Eksāmens'''</big>
 
|<big>'''Eksāmens'''</big>
 
|}
 
|}
 
'''Objective''': Eksāmens
 
  
 
:Laiks: xx:xx
 
:Laiks: xx:xx
:Vieta: XX
+
:Vieta: xx <!--E-studijas un tiešsaiste.-->
  
 
|
 
|
 
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|}
 
|}
  
 
=Uzdevumi=
 
=Uzdevumi=
====MD1====
+
==MD_Rnd==
Analizēt nejaušu skaitļu un to summas histogrammu sekojošiem gadījumiem:
+
Analizēt nejaušu skaitļu (RND) un to summas histogrammu sekojošiem gadījumiem:
 
# RND
 
# RND
 
# RND + RND
 
# RND + RND
 
# RND + RND + RND + RND
 
# RND + RND + RND + RND
Pētījumu veikt vismaz 10000 nejaušiem skaitļiem.
+
Pētījumu veikt vismaz 100000 nejaušiem skaitļiem.
Izdarīt secinājumus.
 
  
====MD2====
+
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 [https://www.gnu.org/software/octave/index 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.
 +
<!--
 +
====Iesniegšana====
 +
Risinājums jāiesniedz e-Studijās kā PDF fails sadaļā MD_Sys.
 +
-->
 +
 
 +
==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.  
 
Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam.  
  
Skaņas faili, piemēram:
+
Pieejams e-studijās
* [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]
 
  
Darbības plāns:
+
==MD_Synth==
# Ielasīt audio failu
+
Izmantojot Octave, uzrakstīt funkcijas vairākiem skaņas efektiem.
# Izveidot filtra kodolu lai nofiltrētu augstfrekvenču troksni, "pīķus" signālā, it īpaši paužu laikā
 
# pielietot šo filtru izmantojot konvolūciju
 
# uzlikt slieksni filtrētajam audio signālam: pauzes uz 0, pārējais uz 1.
 
# kombinējot oriģinālo un filtrēto signālus, konstruēt jaunu signālu bez pauzēm.
 
  
 +
Pieejams e-studijās
  
 +
==MD_Image==
 +
Izmantojot Octave, uzrakstīt funkcijas attēlu apstrādei.
 +
 +
Pieejams e-studijās
  
 
=Resursi=
 
=Resursi=
Line 331: Line 424:
 
== 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"
 
* [https://www.dropbox.com/s/vvw92wtspjqg7ki/refcard-a4.pdf?dl=0 Octave 3.0.0 reference card]
 
* [https://www.dropbox.com/s/vvw92wtspjqg7ki/refcard-a4.pdf?dl=0 Octave 3.0.0 reference card]
  
Line 340: Line 434:
  
 
==== Furjē transformācija ====
 
==== 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/ykNtIbtCR-8 Ievada video]
 
* [https://youtu.be/spUNpyF58BY Furjē transformācijas vizualizācija]
 
* [https://youtu.be/spUNpyF58BY Furjē transformācijas vizualizācija]
Line 346: Line 441:
  
 
* [https://youtu.be/XtypWS8HZco Ievads FFT, The Cooley-Tukey Algorithm]
 
* [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://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://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 ====
 
==== FIR & IIR ====
Line 360: Line 459:
  
 
* [https://setosa.io/ev/image-kernels/ Attēlu filtru kodoli] - vizuāls skaidrojums
 
* [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 15:07, 2 March 2024

Īssaites: Kalendārs | Uzdevumi | Resursi | Šodiena: 28.03.24 : Rītdiena: 29.03.24 (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ā


Kalendārs

Datums Tēma, saturs Uzdevumi

07.02.24

Digitālā signālu apstrāde, ievads.


DSP (Digital Signal Processing) ievadlekcija. DSP definīcija un pielietojumi.

Lasāmviela un resursi:

14.02.24

Statistika, varbūtība, trokšņi un gadījumsignāli


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.).

Lasāmviela un resursi:

21.02.24

Matlab un Octave


Svarīgāko Octave komandu apskats (ar kurām var konstruēt signālapstrādes algoritmus). Praktiskais darbs ar Octave.

  • OCTAVE instalējama Ubuntu sistēmā sekojoši:
sudo apt install octave
  • Octave darbināšana
    • grafiskā redaktora režīmā: octave --gui
    • terminālī: octave vai octave-cli

28.02.24

Lineāras sistēmas un signālu klasifikācija


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:

06.03.24

Konvolūcija


Konvolūcija un tās īpašības

Lasāmviela un resursi:

Termiņš MD_Sys (nav jāiesniedz, tiks pārrunāts lekcijā)

13.03.24

Attālināti: KD1

Vidus semestra kontroldarbs KD-1.

Lasāmviela un resursi:

  • KD1

20.03.24

Ievads digitālajos filtros, Moving average filtrs

Digitālie filtri, kustīgā vidējā (moving average) filtrs.

Lasāmviela un resursi:

03.04.24

Prakse ar Octave, skaņa

Praktiskā nodarbība. Izmantojot Octave, konstruēt algoritmu, kas apstrādā audio failu.

  • Uzdevumi, Octave vidē
    • Izgriež 1 sekundi no skaņas
    • Nospēlēt oktāvu
    • 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:

10.04.24

Audio signāli

Audio uztvere in apstrāde

Lasāmviela un resursi:

17.04.24

Attēlu signāli

Attēlu uztvere un apstrāde

Lasāmviela un resursi:

24.04.24

Prakse ar Octave, attēli

Speciāla attēlu apstrāde.

Praktiskā nodarbība. Attēlu apstrāde.

08.05.24

KD2

Vidus semestra kontroldarbs KD2

  • Praktisku uzdevumu risināšana ar Octave.
  • Audio un attēlu apstrāde.
  • KD2

15.05.24

Furjē transformācija. Diskrētā Furjē transformācija

Video materiāls

Lasāmviela un resursi:

22.05.24

FIR un IIR


Rekursīvie filtri. FIR un IIR signālu filtri. Signālu filtrācija frekvenču apgabalā.

Pratiskais darbs: Izmantojot Octave, izveidot Short-time DFT jeb spektrogrammu runas signālam.


Lasāmviela un resursi:

29.05.24

Filtru salīdzinājums

Lasāmviela un resursi:

29.06.24

Kopsavilkums

Lasāmviela un resursi:

xx.06.24

Eksāmens
Laiks: xx:xx
Vieta: xx

Uzdevumi

MD_Rnd

Analizēt nejaušu skaitļu (RND) un to summas histogrammu sekojošiem gadījumiem:

  1. RND
  2. RND + RND
  3. 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

  1. Pierādīt, ka sekojošas sistēmas ir (vai nav) lineāras.
  2. 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

"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"



Furjē transformācija

FIR & IIR

Citi resursi