added convolution function

This commit is contained in:
Daniel Doan 2021-12-08 19:30:22 -08:00
parent e95ff67e8d
commit c3dbd29cab

View File

@ -0,0 +1,17 @@
function x = Daniel_Doan_convolution(f,h)
%input: two 1d arrays representing two sound signals in the time domain
%output: the convolution of the two waves, which is the inverse FT of
%FT(f)*FT(h)
%author: Daniel Doan
%padding to ensure the entire convolution is calculated
pad = length(f) + length(h) - 1;
%take FT of f
F = fft(f, pad);
%take FT of h
H = fft(h, pad);
%multiply the two FTs
X = F .* H;
%take inverse FT of the product
x = ifft(X);
end