DIS10/matlab/DIS10_lab1_1_3.m
2024-02-22 11:35:19 +01:00

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)