Merge pull request #25 from ltcptgeneral/Daniel-Doan-Branch

added convolution function
This commit is contained in:
Daniel Doan 2021-12-08 19:45:09 -08:00 committed by GitHub
commit e1cf7e1f5e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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