44 lines
747 B
Matlab
44 lines
747 B
Matlab
|
|
[x, Fs] = audioread('wannabe_in_la.wav');
|
|
|
|
len = length(x) / Fs % opd A
|
|
|
|
% opd B
|
|
ft_x = fft(x);
|
|
df = Fs / length(ft_x);
|
|
f = (0 : length(ft_x) - 1) .* df;
|
|
% plot(f, 20 * log10(abs(ft_x)))
|
|
% xlabel('f (Hz)')
|
|
% ylabel('|X| (dB)')
|
|
% title('Frequentiespectrum |X(f)|')
|
|
% grid
|
|
|
|
Fc = 300 + 100*5;
|
|
p = Fs/(2*Fc) % opd C
|
|
|
|
% k = 10; % opd D
|
|
% k = 100; % opd F
|
|
k = 1000; % opd F
|
|
% k = 10000; % opd F
|
|
n = -k:k;
|
|
b = sin(pi * n / p) ./ (pi * n) ;
|
|
b(n == 0) = 1 / p;
|
|
|
|
freqz(b, 1, 0:(Fs/2), Fs);
|
|
|
|
tic; % opd G
|
|
y = conv(b, x); % opd E
|
|
toc; % opd G
|
|
|
|
% opd H
|
|
ft_y = fft(y);
|
|
df = Fs / length(ft_y);
|
|
f = (0 : length(ft_y) - 1) .* df;
|
|
% plot(f, 20 * log10(abs(ft_x)))
|
|
% xlabel('f (Hz)')
|
|
% ylabel('|X| (dB)')
|
|
% title('Frequentiespectrum |X(f)|')
|
|
% grid
|
|
|
|
soundsc(y, Fs)
|