Advertisement
RybaSG

Mod_FM

Nov 29th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.95 KB | None | 0 0
  1. clear all;
  2. clc;
  3. clf;
  4.  
  5. fm = 1000;                       % freq of message signal
  6. Am = 2;                         % amplitude
  7.  
  8. fc = 10000;                     % freq of carrier signal
  9. Ac = 1;
  10.  
  11. Fs = 32*fc;                     % sampling freq
  12.  
  13. N = 3*Fs/fm;                    % samples
  14.  
  15. n = 0:N-1;
  16.  
  17. signal = Am*sin( 2*pi*fm/Fs*n );
  18.  
  19. subplot(311); plot(n, signal);  % message signal
  20.  
  21. %% Modulation
  22.  
  23. kf = 150*pi;                        % modulator freq sens [ Hz / V ]                    
  24. %beta = kf*Am/fm;
  25. %mod_fm = Ac*cos(2*pi*fc/Fs*n+beta*sin(2*pi*fm/Fs*n));
  26. mod_int = kf*1.e-4*cumsum(signal);
  27. mod_fm = cos(2*pi*fc/Fs*n + mod_int);                  
  28. subplot(312); plot(n, mod_fm);
  29.  
  30. %% Demodulation
  31.  
  32. demod_fm = diff(mod_fm);
  33. demod_fm = [ 0, demod_fm ];
  34. demod_fm = abs(demod_fm);
  35.  
  36. %% Filter
  37.  
  38. f_3dB = 1500;
  39. rzad = 3;
  40. [B, A] = butter(rzad, f_3dB/Fs*2);
  41. demod_filter = filter(B, A, demod_fm);
  42.  
  43. subplot(313); plot(n, demod_filter);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement