Guest User

Untitled

a guest
Apr 29th, 2017
570
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. % ICQ: 349 682 616
  13. %
  14. % ***** ***** ***** ***** ***** ***** ***** ***** *****
  15. % Soubor je určen jako studijní materiál!
  16. % Nešířit mimo katedru 440 VŠB-TU Ostrava.
  17. % ***** ***** ***** ***** ***** ***** ***** ***** *****
  18. %
  19. % VSB-Technical University of Ostrava
  20. % Dept. of Telecommunications
  21. % 17. listopadu 15/2172
  22. % 708 33 Ostrava-Poruba, Czech Republic
  23. % ***** ***** ***** ***** ***** ***** ***** ***** *****
  24.  
  25. clear all; close all; clc;
  26. pocet_vzorku = 1 : 2^4;
  27. pocet_nasobeni_DFT = pocet_vzorku.^2;
  28. pocet_nasobeni_FFT = pocet_vzorku .* log2(pocet_vzorku);
  29. pomer_nasobeni_DFT_FFT = pocet_nasobeni_DFT ./ pocet_nasobeni_FFT;
  30.  
  31. %% Vykreslení průběhů
  32. 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)]);
  33. title('Pocty nasobeni pri DFT a FFT');
  34. xlabel('N'); ylabel('Pocty nasobeni');
  35. text(max(pocet_vzorku) *3/4, pocet_nasobeni_DFT(pocet_vzorku == max(pocet_vzorku) *3/4), ...
  36.     ['$DFT$', ' ', ... \sim N^{2}
  37.     '$\rightarrow$'], ...
  38.     'HorizontalAlignment','right', 'VerticalAlignment', 'baseline', 'FontSize', 16);
  39. text(max(pocet_vzorku) *3/4, pocet_nasobeni_FFT(pocet_vzorku == max(pocet_vzorku) *3/4), ...
  40.     ['$FFT$', ' ', ... \sim N log_2(N)
  41.     '$\searrow$'], ...
  42.     'HorizontalAlignment', 'right', 'VerticalAlignment', 'bottom', 'FontSize', 16);
  43. text(max(pocet_vzorku) *3/4, pomer_nasobeni_DFT_FFT(pocet_vzorku == max(pocet_vzorku) *3/4), ...
  44.     '$\swarrow DFT / FFT$', ...
  45.     'HorizontalAlignment','left', 'VerticalAlignment', 'bottom', 'FontSize', 16);
  46.  
  47. %% Uložení průběhů do souboru
  48. csvwrite('/media/Data/Skola/Zpracovani_cislicovych_signalu/_DSP_skripta_4/figures/pocet_nasobeni_DFT.csv', [pocet_vzorku.' pocet_nasobeni_DFT.']);
  49. csvwrite('/media/Data/Skola/Zpracovani_cislicovych_signalu/_DSP_skripta_4/figures/pocet_nasobeni_FFT.csv', [pocet_vzorku.' pocet_nasobeni_FFT.']);
  50. csvwrite('/media/Data/Skola/Zpracovani_cislicovych_signalu/_DSP_skripta_4/figures/pomer_nasobeni_DFT_FFT.csv', [pocet_vzorku.' pomer_nasobeni_DFT_FFT.']);
  51.  
  52. %% Tisk FIGURE na celou šířku A4 do PDF
  53. set(0, 'Units', 'normalized');
  54.  
  55. monitor = get(0, 'ScreenSize');
  56. set(gcf, ...
  57.     'PaperPositionMode', 'manual', ...
  58.     'PaperUnits', 'centimeters', ...
  59.     'PaperType', 'A4',...
  60.     'PaperOrientation', 'landscape');
  61. papir = get(gcf, 'PaperSize');
  62.  
  63. set(gcf, ...
  64.     'MenuBar', 'none',...
  65.     'PaperPosition', [0 0 papir(1) papir(2)]);
  66. % get(fig_1, 'PaperSize')
  67.    
  68. print(gcf, '-dpdf', 'Pomer_nasobeni_DFT_FFT.pdf');
  69. close gcf;
Advertisement
Add Comment
Please, Sign In to add comment