Guest User

Untitled

a guest
Apr 20th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. Výpočet 1D konvoluce
  2. Napište a odlaďte program, který:
  3. dostane na vstup kladné celé číslo > 0 - toto číslo bude určovat délku náhodně generovaného signálu (signál uložte do jednodimenzionálního pole)
  4. signál vygenerujte jako posloupnost náhodných čísel mezi 0 a 9 včetně
  5. zajistětě, aby program generoval po každém spuštění jiný náhodný signál
  6. kód generující signál vhodně implementujte jako funkci
  7. dostane na vstup kladné a liché celé číslo > 0 - toto číslo bude určovat délku konvolučního jádra (opět jednodimenzionální pole)
  8. zatímto signál generujete zcela náhodně, konvoluční jádro bude mít následující tvar:
  9. pro 1 = 1,
  10. pro 3 = 1,2,1
  11. pro 5 = 1,2,4,2,1
  12. pro 7 = 1,2,4,8,4,2,1
  13. atd. (pozámka. jedná se o mocniny dvojky)
  14. kód generující konvoluční jádro vhodně implementujte jako funkci
  15. ošetřete vstup tak, aby se v případě zadání neplatných hodnot program neustále dotazoval uživatele, až do té doby než vstupní hodnoty splní všechny požadavky.
  16. nápověda: můžete využít dvou příkazů pro vyčištění vstupu scanf("%*[^\n]"); scanf("%*c");
  17. vypíše jak generovaný signál, tak konvoluční jádro
  18. výpis pole vhodně implementujte jako funkci
  19. spočítá konvolvovaný signál
  20. Jedná se o součet hodnot z okolí zkoumaného bodu, kdy váhy okolních hodnot jsou definovány právě v konvolučním jádru - princip konvoluce bude podrobně vysvětlen na tabuli
  21. příklad pro zadané hodnoty 3 a 4:
  22. jádro: 1,2,1
  23. signál: 5,1,4,6
  24. výpočet = 2*5+1*1 , 1*5 + 2*1 + 1*4 , 1*1 + 2*4 + 1*6 , 1*4 + 2*6
  25. výsledek = 11, 11, 15, 16
  26. POZOR na okrajové podmínky
  27. vhodně implementujte jako funkci
  28. vypíše výsledek a skončí
Add Comment
Please, Sign In to add comment