# Tutorial Thomas - LPF effect

Jul 25th, 2021 (edited)
727
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. clc
2. clear all
3.
4. % 1. Beep of a sine wave
5. x = linspace(0, 200*pi, 10001);
6. Fs_usual = 44100;
7. y = sin(x);
8. play(y, Fs_usual);
9. play(y, Fs_usual / 2);
10. play(y, Fs_usual/4);
11. display(' ');
12.
13. % 2. Data is the sound
15. play2(data, Fs);
16.
17. % 3. Filter data with a LPF
18. b = ones(40, 1) / 40;         % Initialize conditions
19. data_LPF = filter(b, 1, data);
20. play2(data_LPF, Fs);
21.
22. % 4. Plots
23. [sizeOfData, dimensions] = size(data);      % pe: 84480 x 2 (stereo sound)
24. xaxis = 1:sizeOfData;
25. figure(1);
26. plot(xaxis, data, 'red', xaxis, data_LPF, 'blue');
27. title('Red = data, Blue = filtered data');
28. figure(2);
29. subplot(2,1,1);
30. plot(real(fft(data)), 'red');
31. title('Red = fft(data)');
32. subplot(2,1,2);
33. plot(real(fft(data_LPF)), 'blue');
34. title('Blue = fft(data_LPF)');
35.
36.
37.
38.
39. % Auxiliary Functions
40. function play(y, Fs)
41.     display(strcat('Listening to sinx with Fs=', num2str(Fs)));
42.     sound(y, Fs);
43.     counter = 0;
44.     for i = 1:2*10^9
45.         counter = counter + 1;
46.     end
47. end
48.
49. function play2(y, Fs)
50.     display(strcat('Listening to hello world with Fs=', num2str(Fs)));
51.     sound(y, Fs);
52.     counter = 0;
53.     for i = 1:6*10^9
54.         counter = counter + 1;
55.     end
56. end
RAW Paste Data