Advertisement
Guest User

Untitled

a guest
Apr 29th, 2017
568
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 2.90 KB | None | 0 0
  1. % ***** ***** ***** ***** ***** ***** ***** ***** *****
  2. % Předmět
  3. % Zpracování číslicových signálů
  4. %
  5. % Téma
  6. % Poměr počtu násobení při DFT a FFT
  7. % DFT, FFT, DFT/FFT
  8. % Srovnání náročnosti výpočtu DFT a FFT
  9. %
  10. % Připravil
  11. % Jan (jenik) Skapa, 2007/2008,
  12. % E-mail: jan.skapa@vsb.cz
  13. % JABBER: ska109@vsb.cz
  14. % ICQ: 349 682 616
  15. %
  16. % ***** ***** ***** ***** ***** ***** ***** ***** *****
  17. % Soubor je určen jako studijní materiál!
  18. % Nešířit mimo katedru 440 VŠB-TU Ostrava.
  19. % ***** ***** ***** ***** ***** ***** ***** ***** *****
  20. %
  21. % VSB-Technical University of Ostrava
  22. % Dept. of Telecommunications
  23. % 17. listopadu 15/2172
  24. % 708 33 Ostrava-Poruba, Czech Republic
  25. % ***** ***** ***** ***** ***** ***** ***** ***** *****
  26.  
  27. clear all; close all; clc;
  28. pocet_vzorku = 1 : 2^4;
  29. pocet_nasobeni_DFT = pocet_vzorku.^2;
  30. pocet_nasobeni_FFT = pocet_vzorku .* log2(pocet_vzorku);
  31. pomer_nasobeni_DFT_FFT = pocet_nasobeni_DFT ./ pocet_nasobeni_FFT;
  32.  
  33. %% Vykreslení průběhů
  34. plot(pocet_vzorku, pocet_nasobeni_DFT, 'k', pocet_vzorku, pocet_nasobeni_FFT, 'k', pocet_vzorku, pomer_nasobeni_DFT_FFT, 'k'); axis([1 max(pocet_vzorku) 0 max(pocet_nasobeni_DFT)]);
  35. title('Pocty nasobeni pri DFT a FFT');
  36. xlabel('N'); ylabel('Pocty nasobeni');
  37. text(max(pocet_vzorku) *3/4, pocet_nasobeni_DFT(pocet_vzorku == max(pocet_vzorku) *3/4), ...
  38.     ['$DFT$', ' ', ... \sim N^{2}
  39.     '$\rightarrow$'], ...
  40.     'HorizontalAlignment','right', 'VerticalAlignment', 'baseline', 'FontSize', 16);
  41. text(max(pocet_vzorku) *3/4, pocet_nasobeni_FFT(pocet_vzorku == max(pocet_vzorku) *3/4), ...
  42.     ['$FFT$', ' ', ... \sim N log_2(N)
  43.     '$\searrow$'], ...
  44.     'HorizontalAlignment', 'right', 'VerticalAlignment', 'bottom', 'FontSize', 16);
  45. text(max(pocet_vzorku) *3/4, pomer_nasobeni_DFT_FFT(pocet_vzorku == max(pocet_vzorku) *3/4), ...
  46.     '$\swarrow DFT / FFT$', ...
  47.     'HorizontalAlignment','left', 'VerticalAlignment', 'bottom', 'FontSize', 16);
  48.  
  49. %% Uložení průběhů do souboru
  50. csvwrite('/media/Data/Skola/Zpracovani_cislicovych_signalu/_DSP_skripta_4/figures/pocet_nasobeni_DFT.csv', [pocet_vzorku.' pocet_nasobeni_DFT.']);
  51. csvwrite('/media/Data/Skola/Zpracovani_cislicovych_signalu/_DSP_skripta_4/figures/pocet_nasobeni_FFT.csv', [pocet_vzorku.' pocet_nasobeni_FFT.']);
  52. csvwrite('/media/Data/Skola/Zpracovani_cislicovych_signalu/_DSP_skripta_4/figures/pomer_nasobeni_DFT_FFT.csv', [pocet_vzorku.' pomer_nasobeni_DFT_FFT.']);
  53.  
  54. %% Tisk FIGURE na celou šířku A4 do PDF
  55. set(0, 'Units', 'normalized');
  56.  
  57. monitor = get(0, 'ScreenSize');
  58. set(gcf, ...
  59.     'PaperPositionMode', 'manual', ...
  60.     'PaperUnits', 'centimeters', ...
  61.     'PaperType', 'A4',...
  62.     'PaperOrientation', 'landscape');
  63. papir = get(gcf, 'PaperSize');
  64.  
  65. set(gcf, ...
  66.     'MenuBar', 'none',...
  67.     'PaperPosition', [0 0 papir(1) papir(2)]);
  68. % get(fig_1, 'PaperSize')
  69.    
  70. print(gcf, '-dpdf', 'Pomer_nasobeni_DFT_FFT.pdf');
  71. close gcf;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement